[Qt-creator] QtC freezes when checking out different git branch with CMakeLists.txt changes

Tilman Skobowsky skobowsky at caos-gmbh.de
Wed Jul 5 10:32:50 CEST 2017


Hi,


I had to switch between different git branches a lot the last couple of days. Every once in a while, 
Qt-Creator was freezing, with one thread running at 100% (actually 12.5% on an i7)

There are quite a number of changes between the branches including added files and so on. There are 
(of course) some changes on the CMakeLists.txt files, so Qt-Creator / CMake needs to reparse the 
files over and over again. Sometimes files/folders get locked so switching branches in git will 
result in a message like this:

   error: cannot stat 'LIB-Root/lib-libressl': Permission denied

A black box guess would be, that Qt-Creator and/or CMake don't realize that files have changed. 
Parsing on changed files produces a problem where the thread runs amok. Shouldn't both notice that 
there are changes in the file system and interrupt current processing?

Best regards
Tilman Skobowsky


N.B: This is Qt-Creator 4.3.0 (7482d8a152) on Windows 10 with CMake 3.9.0rc5

Momentary stack trace of the Qt-Creator thread consuming 100% worth of a CPU core.
The cmake stack trace does not contain symbols...
0    ntoskrnl.exe!KeSynchronizeExecution+0x3de6
1    ntoskrnl.exe!KeWaitForMutexObject+0xc7a
2    ntoskrnl.exe!KeWaitForMutexObject+0x709
3    ntoskrnl.exe!KeWaitForMutexObject+0x375
4    ntoskrnl.exe!KeTestAlertThread+0x16f8
5    ntoskrnl.exe!KeWaitForMutexObject+0x263a
6    ntoskrnl.exe!KeSynchronizeExecution+0x2543
7    VCRUNTIME140.dll!memmove+0x57
8    Qt5Core.dll!QByteArray::remove+0x80
9 
CMakeProjectManager4.dll!CMakeProjectManager::Internal::CMakeAutoCompleter::paragraphSeparatorAboutToBeInserted+0x74d7
10    Qt5Core.dll!QMetaObject::activate+0x49e
11    Qt5Core.dll!QMetaObject::activate+0x574
12    Qt5Core.dll!QWindowsPipeReader::emitPendingReadyRead+0x1a
13    Qt5Core.dll!QMetaCallEvent::placeMetaCall+0x34
14    Qt5Core.dll!QObject::event+0xd8
15    Qt5Widgets.dll!QApplicationPrivate::notify_helper+0x140
16    Qt5Widgets.dll!QApplication::notify+0x1b72
17    Qt5Core.dll!QCoreApplication::notifyInternal2+0xb9
18    Qt5Core.dll!QCoreApplicationPrivate::sendPostedEvents+0x221
19    qwindows.dll!qt_plugin_query_metadata+0x186f
20    Qt5Core.dll!QEventDispatcherWin32::processEvents+0xe15
21    USER32.dll!DispatchMessageW+0x689
22    USER32.dll!DispatchMessageW+0x1b7
23    Qt5Core.dll!QEventDispatcherWin32::processEvents+0x546
24    qwindows.dll!qt_plugin_query_metadata+0x1849
25    Qt5Core.dll!QEventLoop::exec+0x1b3
26    Qt5Core.dll!QCoreApplication::exec+0x144
27    qtcreator.exe+0x86bd
28    qtcreator.exe+0xa0e4
29    qtcreator.exe+0x92c3
30    KERNEL32.DLL!BaseThreadInitThunk+0x22
31    ntdll.dll!RtlUserThreadStart+0x34




More information about the Qt-creator mailing list