Priority: Not Evaluated
Affects Version/s: 5.4.1
Fix Version/s: None
I am running across an intermittent deadlock in initialization of my Qt program, while it's relatively idle and in the event loop.
I confirmed this was a futex_wait by using strace, and I always see an entry like this for the main thread:
[pid 1812] futex(0x7f28f400aecc, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
I found out that I could add a Qt event filter, and therefore log events as they are processed from the main thread. Here's a snippet for that:
And examining my logging, the freeze always is preceded by these lines:
There is no output from the object info or from the object tree. I am flushing the logs
I am not consciously using DBus anywhere in my application, so I'm looking to find a way to track down who is calling it to see if it can be prevented, but without the objectInfo, I don't know where to start.
I found two Qt bug reports:
The first looks like the same type of problem, but it appears all the resolutions went into Qt 5.4.0. (I'm using Qt 5.4.1)
The second looks like a bit different behavior to me.