On terça-feira, 15 de março de 2016 08:14:16 PDT Thiago Macieira wrote: > Again: when it was reported, it sounded like a race condition that was hit > only infrequently, if you were unlucky. Only when Jan reported in this > thread that it is happening all the time did it sound more serious.
I've just investigated the issue and it's not that simple to fix. The problem is the loopback delivery of messages. When QtDBus notices that an outgoing call's destination is the local application, it has an optimisation path that bypasses going through the bus. That was added in Qt 4.2 to specifically avoid a deadlock: the application would be waiting for a reply and would not be processing the incoming call. Unfortunately, there's something wrong with the new threaded solution. I'm still investigating whether there's only one bug or if there are two. The semaphore that was hit should never have been hit, but it's only getting hit because a previous outgoing local call wasn't delivered properly. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
