Problems with QT/Root in ROOT5.11.06a

Ciao,
I’ve moved to use QT/ROOT from 5.11.06a for the GUI of CMS DQM. I can display the histograms fine, but then the full GUI locks as soon as I interact with qt and I get:

Xlib: unexpected async reply (sequence 0x442c)!

Any idea of what might cause the problem?

Ciao,
Giulio

[quote]I’ve moved to use QT/ROOT from 5.11.06a for the GUI of CMS DQM. I can display the histograms fine, but then the full GUI locks as soon as I interact with qt and I get:

Xlib: unexpected async reply (sequence 0x442c)!
Giulio[/quote]Hello Giulio, Can you elaborate a little bit more to understand where your problem came from?
Did you say it did work for you with “some” ROOT version (which one?) and you got a new problem as soon as you switched to ROOT 5.11.06a?
Can you communicate some details (may be in private message (feel free to use lists.bnl.gov/pipermail/qt-root-l/ to avoid the list pollution). I need this as soon as possible to be able to fix things (if needed) and propagate it to the coming ROOT release

PS. Can you start your application under gdb and send me your call stack at the time of the “lock”? Thank you

Hello,
It seems to me the reason for the lock is 2 event loops each thread of your applications uses concurrently. The first event loop is initiated by QApplication::exec (see: root.cern.ch/root/htmldoc/src/TM … tor:Select )
from your “worker” thread). Both threads in question end up calling TSystem:DispatchOneEvent () ( root.cern.ch/root/htmldoc///src/ … chOneEvent ) and TVirtualX::NextEvent to retrieve (check) the next GUI event.

I’ll add some temporary workaround / protection on Qt-level.

However, I think the problem should be seen (sooner / later ) with non-Qt application too and the issue needs a ROOT-wide resolution.
At least the methods
root.cern.ch/root/htmldoc//src/T … chOneEvent
root.cern.ch/root/htmldoc////src … :InnerLoop should be called within the critical section.