Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.8.0
-
None
Description
When a Q_TRY_WAIT* testcase fails I observed a user-after free error popping up very occasionally.
Testserver started "/home/qtwayn/Qt/qt6/qtgrpc/build/debug/tests/auto/grpc/client/shared/test_server/grpc_testserver" ********* Start testing of QtGrpcClientUnaryCallTest ********* Config: Using QtTest library 6.9.0, Qt 6.9.0 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 14.1.1 20240522), endeavouros unknown PASS : QtGrpcClientUnaryCallTest::initTestCase() FAIL! : QtGrpcClientUnaryCallTest::asyncWithSubscribe(Http2Client) The computed value is expected to be equal to the baseline, but is not Computed (status.code()) : Unavailable Baseline (QGrpcStatus::StatusCode::Ok): Ok Loc: [/home/qtwayn/Qt/qt6/qtgrpc/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall.cpp(62)] FAIL! : QtGrpcClientUnaryCallTest::asyncWithSubscribe(Http2Client) The computed value is expected to be equal to the baseline, but is not Computed (waitForReply): 0 Baseline (true) : 1 Loc: [/home/qtwayn/Qt/qt6/qtgrpc/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall.cpp(71)] QWARN : QtGrpcClientUnaryCallTest::asyncWithSubscribe(Http2ClientUnix) testMethod called with: "Hello Qt!"PASS : QtGrpcClientUnaryCallTest::asyncWithSubscribe(Http2ClientUnix) QWARN : QtGrpcClientUnaryCallTest::asyncWithSubscribe(Http2ClientSSL) testMethod called with: "Hello Qt!"PASS : QtGrpcClientUnaryCallTest::asyncWithSubscribe(Http2ClientSSL) PASS : QtGrpcClientUnaryCallTest::immediateCancel(Http2Client) PASS : QtGrpcClientUnaryCallTest::immediateCancel(Http2ClientUnix) PASS : QtGrpcClientUnaryCallTest::immediateCancel(Http2ClientSSL) ================================================================= ==38142==ERROR: AddressSanitizer: heap-use-after-free on address 0x50e000026bc0 at pc 0x78ac4b29f223 bp 0x7ffd00f5e850 sp 0x7ffd00f5e840 READ of size 8 at 0x50e000026bc0 thread T0 #0 0x78ac4b29f222 in void Debug::qDeleteAll<Debug::QList<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*>::const_iterator>(Debug::QList<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*>::const_iterator, Debug::QL ist<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*>::const_iterator) (/home/qtwayn/Qt/qt6/build/debug/qtbase/lib/libQt6Grpc.so.6+0x29f222) (BuildId: c4fbe4a6f75f3a8dc7981acc233ad034558970a5) #1 0x78ac4b291eeb in void Debug::qDeleteAll<Debug::QList<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*> >(Debug::QList<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*> const&) (/home/qtwayn/Qt/qt6/build/debug/ qtbase/lib/libQt6Grpc.so.6+0x291eeb) (BuildId: c4fbe4a6f75f3a8dc7981acc233ad034558970a5) #2 0x78ac4b270faf in Debug::QGrpcHttp2ChannelPrivate::handleSocketError() /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpchttp2channel.cpp:795 #3 0x78ac4b26821f in operator() /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpchttp2channel.cpp:717 #4 0x78ac4b27d651 in operator() /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:142 #5 0x78ac4b27de2e in call_internal<void, Debug::QtPrivate::FunctorCall<Debug::QtPrivate::IndexesList<0>, Debug::QtPrivate::List<Debug::QAbstractSocket::SocketError>, void, Debug::QGrpcHttp2ChannelPrivate::QGrp cHttp2ChannelPrivate(const Debug::QUrl&, const Debug::QGrpcChannelOptions&)::<lambda(Debug::QAbstractSocket::SocketError)> >::call(Debug::QGrpcHttp2ChannelPrivate::QGrpcHttp2ChannelPrivate(const Debug::QUrl&, cons t Debug::QGrpcChannelOptions&)::<lambda(Debug::QAbstractSocket::SocketError)>&, void**)::<lambda()> > /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:72 #6 0x78ac4b27d7a7 in call /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:141 #7 0x78ac4b27b28d in call<Debug::QtPrivate::List<Debug::QAbstractSocket::SocketError>, void> /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363 #8 0x78ac4b27a32d in impl /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:573 #9 0x78ac48c0645a in Debug::QtPrivate::QSlotObjectBase::call(Debug::QObject*, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:487 #10 0x78ac48cabc50 in void Debug::doActivate<false>(Debug::QObject*, int, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobject.cpp:4113 #11 0x78ac48c9fbf1 in Debug::QMetaObject::activate(Debug::QObject*, Debug::QMetaObject const*, int, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobject.cpp:4173 #12 0x78ac4ad459d6 in Debug::QAbstractSocket::errorOccurred(Debug::QAbstractSocket::SocketError) /home/qtwayn/Qt/qt6/build/debug/qtbase/src/network/Network_autogen/include/moc_qabstractsocket.cpp:407 #13 0x78ac4ad41928 in Debug::QAbstractSocketPrivate::setErrorAndEmit(Debug::QAbstractSocket::SocketError, Debug::QString const&) /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket.cpp:1381 #14 0x78ac4ad4100c in Debug::QAbstractSocketPrivate::readFromSocket() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket.cpp:1202 #15 0x78ac4ad3f7b8 in Debug::QAbstractSocketPrivate::canReadNotification() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket.cpp:626 #16 0x78ac4ad4649a in Debug::QAbstractSocketPrivate::readNotification() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket_p.h:39 #17 0x78ac4ad4a1b6 in Debug::QAbstractSocketEngine::readNotification() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocketengine.cpp:120 #18 0x78ac4ad50a25 in Debug::QReadNotifier::event(Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qnativesocketengine.cpp:1238 #19 0x78ac48bfe61d in Debug::QCoreApplicationPrivate::notify_helper(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1328 #20 0x78ac48bfe183 in doNotify /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1255 #21 0x78ac48bfe0b7 in Debug::QCoreApplication::notify(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1238 #22 0x78ac48bfdf83 in Debug::QCoreApplication::notifyInternal2(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154 #23 0x78ac48bfed4c in Debug::QCoreApplication::sendEvent(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598 #24 0x78ac490c1a87 in socketNotifierSourceDispatch /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:76 #25 0x78ac4890ea88 (/usr/lib/libglib-2.0.so.0+0x5ca88) (BuildId: 8880230af7e37f2edbd90b79170aead80dde617a) #26 0x78ac489709b6 (/usr/lib/libglib-2.0.so.0+0xbe9b6) (BuildId: 8880230af7e37f2edbd90b79170aead80dde617a) #27 0x78ac4890df94 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x5bf94) (BuildId: 8880230af7e37f2edbd90b79170aead80dde617a) #28 0x78ac490c2a2f in Debug::QEventDispatcherGlib::processEvents(Debug::QFlags<Debug::QEventLoop::ProcessEventsFlag>) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:395 #29 0x78ac48bfe7d2 in Debug::QCoreApplication::processEvents(Debug::QFlags<Debug::QEventLoop::ProcessEventsFlag>, Debug::QDeadlineTimer) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1444 #30 0x78ac48cceae5 in Debug::QTest::qWait(std::chrono::duration<long, std::ratio<1l, 1000l> >) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qtestsupport_core.cpp:127 #31 0x78ac48ccea34 in Debug::QTest::qWait(int) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qtestsupport_core.cpp:94 #32 0x566e5f55ea0e in QtGrpcClientUnaryCallTest::deferredCancel() /home/qtwayn/Qt/qt6/qtgrpc/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall.cpp:113 #33 0x566e5f56c2d7 in QtGrpcClientUnaryCallTest::qt_static_metacall(Debug::QObject*, Debug::QMetaObject::Call, int, void**) /home/qtwayn/Qt/qt6/qtgrpc/build/debug/tests/auto/grpc/client/unarycall/tst_grpc_clie nt_unarycall_autogen/include/tst_grpc_client_unarycall.moc:127 #34 0x78ac48c23b86 in Debug::QMetaMethodInvoker::invokeImpl(Debug::QMetaMethod, void*, Debug::Qt::ConnectionType, long long, void const* const*, char const* const*, Debug::QtPrivate::QMetaTypeInterface const* const*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaobject.cpp:2755 #35 0x78ac48c22d64 in Debug::QMetaMethod::invokeImpl(Debug::QMetaMethod, void*, Debug::Qt::ConnectionType, long long, void const* const*, char const* const*, Debug::QtPrivate::QMetaTypeInterface const* const*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaobject.cpp:2594 #36 0x78ac4c58897d in std::enable_if<!std::disjunction<>::value, bool>::type Debug::QMetaMethod::invoke<void>(Debug::QObject*, Debug::Qt::ConnectionType, Debug::QTemplatedMetaMethodReturnArgument<void>) const /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaobject.h:149 #37 0x78ac4c58637f in std::enable_if<!std::disjunction<>::value, bool>::type Debug::QMetaMethod::invoke<>(Debug::QObject*, Debug::Qt::ConnectionType) const /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaob ject.h:161 #38 0x78ac4c576ee2 in invokeTestMethodIfValid /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:448 #39 0x78ac4c57997b in Debug::QTest::TestMethods::invokeTestOnData(int) const /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1086 #40 0x78ac4c57a835 in Debug::QTest::TestMethods::invokeTest(int, Debug::QLatin1String, std::optional<Debug::QTest::WatchDog>&) const /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1388 #41 0x78ac4c57bc55 in Debug::QTest::TestMethods::invokeTests(Debug::QObject*) const /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1725 #42 0x78ac4c57c7fd in Debug::QTest::qRun() /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1949 #43 0x78ac4c57bf5c in Debug::QTest::qExec(Debug::QObject*, int, char**) /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1827 #44 0x566e5f56ba89 in main /home/qtwayn/Qt/qt6/qtgrpc/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall.cpp:231 #45 0x78ac47c39c87 (/usr/lib/libc.so.6+0x25c87) (BuildId: 32a656aa5562eece8c59a585f5eacd6cf5e2307b) #46 0x78ac47c39d4b in __libc_start_main (/usr/lib/libc.so.6+0x25d4b) (BuildId: 32a656aa5562eece8c59a585f5eacd6cf5e2307b) #47 0x566e5f558f54 in _start (/home/qtwayn/Qt/qt6/qtgrpc/build/debug/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall+0x100f54) (BuildId: 98074c0ebfbdfdbff748822c4d0120ead912bb7f)0x50e000026bc0 is located 0 bytes inside of 160-byte region [0x50e000026bc0,0x50e000026c60) freed by thread T0 here: #0 0x78ac4befe7e2 in operator delete(void*, unsigned long) /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_new_delete.cpp:164 #1 0x78ac4b257aac in Debug::QGrpcHttp2ChannelPrivate::Http2Handler::~Http2Handler() /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpchttp2channel.cpp:274 #2 0x78ac4b270af3 in Debug::QGrpcHttp2ChannelPrivate::createHttp2Connection() /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpchttp2channel.cpp:784 #3 0x78ac4b2cc8ed in Debug::QtPrivate::FunctorCall<Debug::QtPrivate::IndexesList<>, Debug::QtPrivate::List<>, void, void (Debug::QGrpcHttp2ChannelPrivate::*)()>::call(void (Debug::QGrpcHttp2ChannelPrivate::*)( ), Debug::QGrpcHttp2ChannelPrivate*, void**)::{lambda()#1}::operator()() const /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:153 #4 0x78ac4b2d0ba9 in void Debug::QtPrivate::FunctorCallBase::call_internal<void, Debug::QtPrivate::FunctorCall<Debug::QtPrivate::IndexesList<>, Debug::QtPrivate::List<>, void, void (Debug::QGrpcHttp2ChannelPri vate::*)()>::call(void (Debug::QGrpcHttp2ChannelPrivate::*)(), Debug::QGrpcHttp2ChannelPrivate*, void**)::{lambda()#1}>(void**, Debug::QtPrivate::FunctorCall<Debug::QtPrivate::IndexesList<>, Debug::QtPrivate::List <>, void, void (Debug::QGrpcHttp2ChannelPrivate::*)()>::call(void (Debug::QGrpcHttp2ChannelPrivate::*)(), Debug::QGrpcHttp2ChannelPrivate*, void**)::{lambda()#1}&&) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qo bjectdefs_impl.h:72 #5 0x78ac4b2ccaf1 in Debug::QtPrivate::FunctorCall<Debug::QtPrivate::IndexesList<>, Debug::QtPrivate::List<>, void, void (Debug::QGrpcHttp2ChannelPrivate::*)()>::call(void (Debug::QGrpcHttp2ChannelPrivate::*)( ), Debug::QGrpcHttp2ChannelPrivate*, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:152 #6 0x78ac4b2c3e16 in void Debug::QtPrivate::FunctionPointer<void (Debug::QGrpcHttp2ChannelPrivate::*)()>::call<Debug::QtPrivate::List<>, void>(void (Debug::QGrpcHttp2ChannelPrivate::*)(), Debug::QGrpcHttp2Chan nelPrivate*, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:200 #7 0x78ac4b2b9194 in Debug::QtPrivate::QCallableObject<void (Debug::QGrpcHttp2ChannelPrivate::*)(), Debug::QtPrivate::List<>, void>::impl(int, Debug::QtPrivate::QSlotObjectBase*, Debug::QObject*, void**, bool* ) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:571 #8 0x78ac48c0645a in Debug::QtPrivate::QSlotObjectBase::call(Debug::QObject*, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:487 #9 0x78ac48cabc50 in void Debug::doActivate<false>(Debug::QObject*, int, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobject.cpp:4113 #10 0x78ac48c9fbf1 in Debug::QMetaObject::activate(Debug::QObject*, Debug::QMetaObject const*, int, void**) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qobject.cpp:4173 #11 0x78ac4ad458ca in Debug::QAbstractSocket::connected() /home/qtwayn/Qt/qt6/build/debug/qtbase/src/network/Network_autogen/include/moc_qabstractsocket.cpp:387 #12 0x78ac4ad414fb in Debug::QAbstractSocketPrivate::fetchConnectionParameters() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket.cpp:1281 #13 0x78ac4ad40afb in Debug::QAbstractSocketPrivate::_q_testConnection() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket.cpp:1094 #14 0x78ac4ad3fab6 in Debug::QAbstractSocketPrivate::connectionNotification() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocket.cpp:738 #15 0x78ac4ad4a30e in Debug::QAbstractSocketEngine::connectionNotification() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qabstractsocketengine.cpp:144 #16 0x78ac4ad4ecd6 in Debug::QNativeSocketEngine::connectionNotification() /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qnativesocketengine.cpp:597 #17 0x78ac4ad50ac5 in Debug::QWriteNotifier::event(Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/network/socket/qnativesocketengine.cpp:1271 #18 0x78ac48bfe61d in Debug::QCoreApplicationPrivate::notify_helper(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1328 #19 0x78ac48bfe183 in doNotify /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1255 #20 0x78ac48bfe0b7 in Debug::QCoreApplication::notify(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1238 #21 0x78ac48bfdf83 in Debug::QCoreApplication::notifyInternal2(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154 #22 0x78ac48bfed4c in Debug::QCoreApplication::sendEvent(Debug::QObject*, Debug::QEvent*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598 #23 0x78ac490c1a87 in socketNotifierSourceDispatch /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:76 #24 0x78ac4890ea88 (/usr/lib/libglib-2.0.so.0+0x5ca88) (BuildId: 8880230af7e37f2edbd90b79170aead80dde617a) #25 0x78ac489709b6 (/usr/lib/libglib-2.0.so.0+0xbe9b6) (BuildId: 8880230af7e37f2edbd90b79170aead80dde617a) #26 0x78ac4890df94 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x5bf94) (BuildId: 8880230af7e37f2edbd90b79170aead80dde617a) #27 0x78ac490c2a2f in Debug::QEventDispatcherGlib::processEvents(Debug::QFlags<Debug::QEventLoop::ProcessEventsFlag>) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:395 #28 0x78ac48bfe7d2 in Debug::QCoreApplication::processEvents(Debug::QFlags<Debug::QEventLoop::ProcessEventsFlag>, Debug::QDeadlineTimer) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1444 #29 0x78ac48cceae5 in Debug::QTest::qWait(std::chrono::duration<long, std::ratio<1l, 1000l> >) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qtestsupport_core.cpp:127previously allocated by thread T0 here: #0 0x78ac4befd682 in operator new(unsigned long) /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_new_delete.cpp:95 #1 0x78ac4b26eefe in Debug::QGrpcHttp2ChannelPrivate::processOperation(std::shared_ptr<Debug::QGrpcOperationContext> const&, bool) /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpchttp2channel.cpp:753 #2 0x78ac4b2735df in Debug::QGrpcHttp2Channel::call(std::shared_ptr<Debug::QGrpcOperationContext>) /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpchttp2channel.cpp:875 #3 0x78ac4b244b31 in Debug::QAbstractGrpcChannel::call(Debug::QLatin1String, Debug::QLatin1String, Debug::QByteArrayView, Debug::QGrpcCallOptions const&) /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qabstractgrpcchanne l.cpp:141 #4 0x78ac4b2d8ae3 in Debug::QGrpcClientBase::call(Debug::QLatin1String, Debug::QProtobufMessage const&, Debug::QGrpcCallOptions const&) /home/qtwayn/Qt/qt6/qtgrpc/src/grpc/qgrpcclientbase.cpp:210 #5 0x78ac4b98e17b in qtgrpc::tests::TestService::Client::testMethod(qtgrpc::tests::SimpleStringMessage const&, Debug::QGrpcCallOptions const&) /home/qtwayn/Qt/qt6/qtgrpc/build/debug/tests/auto/grpc/client/shar ed/client_service/qt_grpc_generated/testservice_client.grpc.qpb.cpp:17 #6 0x566e5f55b129 in QtGrpcClientUnaryCallTest::immediateCancel() /home/qtwayn/Qt/qt6/qtgrpc/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall.cpp:80 #7 0x566e5f56c1d7 in QtGrpcClientUnaryCallTest::qt_static_metacall(Debug::QObject*, Debug::QMetaObject::Call, int, void**) /home/qtwayn/Qt/qt6/qtgrpc/build/debug/tests/auto/grpc/client/unarycall/tst_grpc_clien t_unarycall_autogen/include/tst_grpc_client_unarycall.moc:126 #8 0x78ac48c23b86 in Debug::QMetaMethodInvoker::invokeImpl(Debug::QMetaMethod, void*, Debug::Qt::ConnectionType, long long, void const* const*, char const* const*, Debug::QtPrivate::QMetaTypeInterface const* c onst*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaobject.cpp:2755 #9 0x78ac48c22d64 in Debug::QMetaMethod::invokeImpl(Debug::QMetaMethod, void*, Debug::Qt::ConnectionType, long long, void const* const*, char const* const*, Debug::QtPrivate::QMetaTypeInterface const* const*) /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaobject.cpp:2594 #10 0x78ac4c58897d in std::enable_if<!std::disjunction<>::value, bool>::type Debug::QMetaMethod::invoke<void>(Debug::QObject*, Debug::Qt::ConnectionType, Debug::QTemplatedMetaMethodReturnArgument<void>) const /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaobject.h:149 #11 0x78ac4c58637f in std::enable_if<!std::disjunction<>::value, bool>::type Debug::QMetaMethod::invoke<>(Debug::QObject*, Debug::Qt::ConnectionType) const /home/qtwayn/Qt/qt6/qtbase/src/corelib/kernel/qmetaob ject.h:161 #12 0x78ac4c576ee2 in invokeTestMethodIfValid /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:448 #13 0x78ac4c57997b in Debug::QTest::TestMethods::invokeTestOnData(int) const /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1086 #14 0x78ac4c57a835 in Debug::QTest::TestMethods::invokeTest(int, Debug::QLatin1String, std::optional<Debug::QTest::WatchDog>&) const /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1388 #15 0x78ac4c57bc55 in Debug::QTest::TestMethods::invokeTests(Debug::QObject*) const /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1725 #16 0x78ac4c57c7fd in Debug::QTest::qRun() /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1949 #17 0x78ac4c57bf5c in Debug::QTest::qExec(Debug::QObject*, int, char**) /home/qtwayn/Qt/qt6/qtbase/src/testlib/qtestcase.cpp:1827 #18 0x566e5f56ba89 in main /home/qtwayn/Qt/qt6/qtgrpc/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall.cpp:231 #19 0x78ac47c39c87 (/usr/lib/libc.so.6+0x25c87) (BuildId: 32a656aa5562eece8c59a585f5eacd6cf5e2307b) #20 0x78ac47c39d4b in __libc_start_main (/usr/lib/libc.so.6+0x25d4b) (BuildId: 32a656aa5562eece8c59a585f5eacd6cf5e2307b) #21 0x566e5f558f54 in _start (/home/qtwayn/Qt/qt6/qtgrpc/build/debug/tests/auto/grpc/client/unarycall/tst_grpc_client_unarycall+0x100f54) (BuildId: 98074c0ebfbdfdbff748822c4d0120ead912bb7f)SUMMARY: AddressSanitizer: heap-use-after-free (/home/qtwayn/Qt/qt6/build/debug/qtbase/lib/libQt6Grpc.so.6+0x29f222) (BuildId: c4fbe4a6f75f3a8dc7981acc233ad034558970a5) in void Debug::qDeleteAll<Debug::QList<Debug ::QGrpcHttp2ChannelPrivate::Http2Handler*>::const_iterator>(Debug::QList<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*>::const_iterator, Debug::QList<Debug::QGrpcHttp2ChannelPrivate::Http2Handler*>::const_iterato r) Shadow bytes around the buggy address: 0x50e000026900: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd 0x50e000026980: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa 0x50e000026a00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x50e000026a80: fd fd fd fd fa fa fa fa fa fa fa fa fd fd fd fd 0x50e000026b00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x50e000026b80: fa fa fa fa fa fa fa fa[fd]fd fd fd fd fd fd fd 0x50e000026c00: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa 0x50e000026c80: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd 0x50e000026d00: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa 0x50e000026d80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x50e000026e00: fd fd fd fd fa fa fa fa fa fa fa fa fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==38142==ABORTING[Process exited 1]
Attachments
Issue Links
- is required for
-
QTBUG-129161 Various enhancements in Qt gRPC and Protobuf
- Open