Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-130341

Crash during QNetworkAccessManager destruction

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.8.1, 6.9.0 FF
    • 6.8.0
    • Network
    • None
    • Linux/Wayland, Linux/X11
    • 4fabde349 (dev), 334a3922c (6.8), 65093a84c (dev), dce6ef8fa (6.8)

    Description

      We have a class with a QNetworkAccessManager member. After the update from Qt 6.7 to 6.8 we now run into this assert on destruction (but just on Linux, not e.g. Windows):

      (gdb) thread apply all bt
      
      Thread 4 (Thread 0x7fffeea00700 (LWP 6939)):
      #0  0x00007ffff3836387 in raise () from /lib64/libc.so.6
      #1  0x00007ffff3837a78 in abort () from /lib64/libc.so.6
      #2  0x00007ffff6b8061d in qAbort() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #3  0x00007ffff6b82f62 in qt_message(QtMsgType, QMessageLogContext const&, char const*, __va_list_tag*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #4  0x00007ffff6b88d44 in QMessageLogger::fatal(char const*, ...) const () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #5  0x00007ffff6b80701 in qt_assert_x(char const*, char const*, char const*, int) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #6  0x00007ffff6b1214d in QCoreApplicationPrivate::checkReceiverThread(QObject*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #7  0x00007ffff6b148c8 in doNotify(QObject*, QEvent*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #8  0x00007ffff6b14829 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #9  0x00007ffff6a557cd in QObjectPrivate::setParent_helper(QObject*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #10 0x00007ffff6a521a9 in QObject::~QObject() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #11 0x00007ffff7a39442 in QTcpSocket::~QTcpSocket() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #12 0x00007ffff7938315 in QSslSocket::~QSslSocket() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #13 0x00007ffff7938342 in QSslSocket::~QSslSocket() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #14 0x00007ffff79a4cec in QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #15 0x00007ffff79a4ea2 in QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #16 0x00007ffff6a521b9 in QObject::~QObject() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #17 0x00007ffff79dc2fe in QNetworkAccessCachedHttpConnection::~QNetworkAccessCachedHttpConnection() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #18 0x00007ffff79f896a in QNetworkAccessCache::clear() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #19 0x00007ffff79fd264 in QNetworkAccessCache::~QNetworkAccessCache() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #20 0x00007ffff79fd312 in QNetworkAccessCache::~QNetworkAccessCache() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #21 0x00007ffff6914caf in QThreadStorageData::finish(void**) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #22 0x00007ffff69b3a59 in QThreadPrivate::finish(void*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #23 0x00007ffff69b3876 in QScopeGuard<QThreadPrivate::start(void*)::$_0>::~QScopeGuard() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #24 0x00007ffff6980ffe in __cxxabiv1::(anonymous namespace)::run_dtors(void*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #25 0x00007ffff4407ca2 in __nptl_deallocate_tsd () from /lib64/libpthread.so.0
      #26 0x00007ffff4407eb3 in start_thread () from /lib64/libpthread.so.0
      #27 0x00007ffff38feb0d in clone () from /lib64/libc.so.6
      
      Thread 3 (Thread 0x7fffef400700 (LWP 6938)):
      #0  0x00007ffff38f3e9f in ppoll () from /lib64/libc.so.6
      #1  0x00007ffff69b209f in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #2  0x00007ffff69b698d in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #3  0x00007ffff6b15636 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #4  0x00007ffff6a14c61 in QThread::exec() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #5  0x00007ffff69b3673 in QThreadPrivate::start(void*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #6  0x00007ffff4407ea5 in start_thread () from /lib64/libpthread.so.0
      #7  0x00007ffff38feb0d in clone () from /lib64/libc.so.6
      
      Thread 2 (Thread 0x7fffefe00700 (LWP 6937)):
      #0  0x00007ffff7a2dee0 in QAbstractSocketPrivate::canReadNotification() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #1  0x00007ffff7a37052 in QReadNotifier::event(QEvent*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #2  0x00007ffff6b14829 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #3  0x00007ffff69b5973 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      --Type <RET> for more, q to quit, c to continue without paging--
      #4  0x00007ffff69b69fc in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #5  0x00007ffff6b15636 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #6  0x00007ffff6a14c61 in QThread::exec() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #7  0x000055555573d89a in Qtc::Server::run (this=0x7fffffffe140) at src/server.cpp:569
      #8  0x00007ffff69b3673 in QThreadPrivate::start(void*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #9  0x00007ffff4407ea5 in start_thread () from /lib64/libpthread.so.0
      #10 0x00007ffff38feb0d in clone () from /lib64/libc.so.6
      
      Thread 1 (Thread 0x7ffff7e2c940 (LWP 6933)):
      #0  0x00007ffff440bde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007ffff69582a9 in QWaitConditionPrivate::wait(QDeadlineTimer) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #2  0x00007ffff6915270 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #3  0x00007ffff69b4be2 in QThread::wait(QDeadlineTimer) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #4  0x00007ffff7a050d4 in QNetworkAccessManagerPrivate::destroyThread() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #5  0x00007ffff7a0518d in QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #6  0x00007ffff7a05222 in QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #7  0x00007ffff6a521b9 in QObject::~QObject() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #8  0x00007ffff7a00704 in QNetworkAccessManager::~QNetworkAccessManager() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #9  0x00007ffff7a00772 in QNetworkAccessManager::~QNetworkAccessManager() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Network.so.6
      #10 0x00007ffff6a5564e in QObjectPrivate::deleteChildren() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #11 0x00007ffff6a52184 in QObject::~QObject() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #12 0x00005555556f2038 in AuthTest::challengeResourceOwnerPasswordFlowSuccess (this=<optimized out>) at test_auth.cpp:622
      #13 0x00007ffff6b1ea35 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #14 0x00007ffff6b24530 in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Core.so.6
      #15 0x00007ffff7faa0da in QTest::TestMethods::invokeTestOnData(int) const () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Test.so.6
      #16 0x00007ffff7fab875 in QTest::TestMethods::invokeTest(int, QLatin1String, std::__1::optional<QTest::WatchDog>&) const () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Test.so.6
      #17 0x00007ffff7facfca in QTest::TestMethods::invokeTests(QObject*) const () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Test.so.6
      #18 0x00007ffff7fae42d in QTest::qRun() () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Test.so.6
      #19 0x00007ffff7fad818 in QTest::qExec(QObject*, int, char**) () from /local/ssd/cullmann/build/libqtc.default/usr/lib/libQt6Test.so.6
      #20 0x00005555557065dd in main (argc=1, argv=0x7fffffffe528) at test_auth.cpp:2199
      
      

      Attachments

        For Gerrit Dashboard: QTBUG-130341
        # Subject Branch Project Status CR V

        Activity

          People

            manordheim MÃ¥rten Nordheim
            cullmann Christoph Cullmann
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews