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

[REG 5.5 -> 5.6] Segfault in QDBusConnectionPrivate::closeConnection -> QObject::disconnect on exit

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9.0 Alpha
    • 5.6.0, 5.6.1, 5.7.0
    • D-Bus
    • None

    Description

      Since upgrading to 5.6, various applications segfault here on exit:

      #0  0x00007ffff1deaab7 in QObject::disconnect (sender=0x7fff8813ff80, signal=signal@entry=0x0, receiver=receiver@entry=0x7fff84010e50, method=method@entry=0x0) at kernel/qobject.cpp:2949
      #1  0x00007fffdba4af78 in QObject::disconnect (member=0x0, receiver=0x7fff84010e50, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:361
      #2  QDBusConnectionPrivate::closeConnection (this=this@entry=0x7fff84010e50) at qdbusintegrator.cpp:1126
      #3  0x00007fffdba3bb36 in QDBusConnectionManager::run (this=0x7fffdbcadd00 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:191
      #4  0x00007ffff1be6de8 in QThreadPrivate::start (arg=0x7fffdbcadd00 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:340
      #5  0x00007ffff76f5424 in start_thread () from /usr/lib/libpthread.so.0
      #6  0x00007ffff7434cbd in clone () from /usr/lib/libc.so.6
      

      note the "member=0x0" - thread apply all bt full output

      Unfortunately the only way to always reproduce this is this script using PyQt and QtWebkit...

      import sys
      
      from PyQt5.QtCore import QUrl, QTimer
      from PyQt5.QtWidgets import QApplication
      from PyQt5.QtWebKitWidgets import QWebView
      
      app = QApplication(sys.argv)
      
      wv = QWebView()
      wv.load(QUrl('http://www.riverbankcomputing.com/'))
      wv.show()
      
      QTimer.singleShot(1000, app.quit)
      app.exec_()
      

      While I can't reproduce it with a minimal C++ app using QtWebKit, I've seen bugreports for many projects which are unrelated to PyQt/QtWebKit:

      This is why I think this is a general Qt issue and not a PyQt one.

      Attachments

        Issue Links

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

          Activity

            People

              thiago Thiago Macieira
              the compiler Florian Bruhin
              Votes:
              9 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews