Qt application freezes(again)
Unsolved
General and Desktop
-
Hello,
I have a big problem with my qt app.
(Qt version: 5.9.2, CentOS 7.5, gcc version: 4.8.5)My qt app was working in long running, but suddenly it froze completely and didn’t come back later. I had to restart it to start working. It hasn’t frozen again after restarting it.
The frequencey of this problem is very low. This is the second time the problem has occurred.
(https://forum.qt.io/topic/142401/qt-application-freezes)I can't use full debug versions of the app and libraries. Here is the call stack. Any ideas are appreciated.
#0 0x00007f49b33a3995 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib64/libpthread.so.0 #1 0x00007f49ad3212c9 in _xcb_conn_wait () from /usr/lib64/libxcb.so.1 #2 0x00007f49ad322b9f in wait_for_reply () from /usr/lib64/libxcb.so.1 #3 0x00007f49ad322cb2 in xcb_wait_for_reply () from /usr/lib64/libxcb.so.1 #4 0x00007f49a34da570 in QXcbConnection::atomName(unsigned int) () from /usr/lib64/libQt5XcbQpa.so.5 #5 0x00007f49a34e3d85 in QXcbKeyboard::updateVModMapping() () from /usr/lib64/libQt5XcbQpa.so.5 #6 0x00007f49a34e4af8 in QXcbKeyboard::handleMappingNotifyEvent(void const*) () from /usr/lib64/libQt5XcbQpa.so.5 #7 0x00007f49a34ddf0f in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /usr/lib64/libQt5XcbQpa.so.5 #8 0x00007f49a34dfdee in QXcbConnection::processXcbEvents() () from /usr/lib64/libQt5XcbQpa.so.5 #9 0x00007f49b3aa081e in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 #10 0x00007f49b431d7ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #11 0x00007f49b4324e38 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #12 0x00007f49b3a772e6 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #13 0x00007f49b3a79c03 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5 #14 0x00007f49b3ac6113 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQt5Core.so.5 #15 0x00007f49af17b969 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #16 0x00007f49af17bcc8 in g_main_context_iterate.isra.22 () from /usr/lib64/libglib-2.0.so.0 #17 0x00007f49af17bd7c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #18 0x00007f49b3ac5abc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #19 0x00007f49b3a75deb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #20 0x00007f49b3a7e234 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5 #21 0x000000000044001d in main (argc=1, argv=<optimized out>) at main.cxx:112
-
@rtyuio consider analyzing the app with thread sanitizer (https://clang.llvm.org/docs/ThreadSanitizer.html).