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

Deadlock happens when a Q_GLOBAL_STATIC object connected to QtDBus signal

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.6.1
    • 5.6.0 RC
    • D-Bus
    • None
    • Linux, Qt 5.6.0 RC
    • b77ef8a7e6e4104067d52824e29eadc8c66f5929

    Description

      See backtrace for more details.

      An arbitrary QObject is connected to a D-Bus signal via QDBusConnection::connect. If this object is deleted only in a static destructor, it's possible that the QDBusConnectionManager thread has already exited. This causes a deadlock because QObject::destroyed is connected via Qt::BlockingQueuedConnection to the QDBusConnectionPrivate object and its thread is no longer processing events.

      Attachments

        1. backtrace
          2 kB
          Weng Xuetian

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              csslayer Weng Xuetian
              csslayer Weng Xuetian
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes