Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.11.0 Beta 4
-
Linux QEMU (gcc-arm64) on Linux Ubuntu_16_04 (gcc-x86_64) in CI
-
71eef476d789bf94602006cc2c9a44ba384f988e (qt/qtbase/dev) cc4bcf94e0f33dc72b5cfeb01cd0e6f647925c88 (qt/qtbase/6.1)
Description
tst_QProcess::processesInMultipleThreads() flakily hangs under QEMU in CI.
I was able to reproduce it in a debug VM, but couldn't get any useful information. I was connected to the process with a debugger, but when it hanged the qemu-aarch64 process stopped responding to debugger commands also, so no extra information was given.
Although that hints that the hanging might be in QEMU code rather than Qt code.
Example run until hang with some extra debug output:
********* Start testing of tst_QProcess ********* Config: Using QtTest library 5.11.0, Qt 5.11.0 (arm64-little_endian-lp64 shared (dynamic) release build; by GCC 6.3.0) PASS : tst_QProcess::initTestCase() QINFO : tst_QProcess::processesInMultipleThreads() Loop run 0 QINFO : tst_QProcess::processesInMultipleThreads() Thread count: 0 QINFO : tst_QProcess::processesInMultipleThreads() Loop run 1 QINFO : tst_QProcess::processesInMultipleThreads() Thread count: 1 QINFO : tst_QProcess::processesInMultipleThreads() Started thread 0 TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Waiting for thread 0 TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Started process from thread TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Exiting in thread TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Loop run 2 QINFO : tst_QProcess::processesInMultipleThreads() Thread count: 2 QINFO : tst_QProcess::processesInMultipleThreads() Started thread 0 TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Started thread 1 TestThread(0x4609e0) QINFO : tst_QProcess::processesInMultipleThreads() Waiting for thread 0 TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Started process from thread TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Started process from thread TestThread(0x4609e0) QINFO : tst_QProcess::processesInMultipleThreads() Exiting in thread TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Waiting for thread 1 TestThread(0x4609e0) QINFO : tst_QProcess::processesInMultipleThreads() Exiting in thread TestThread(0x4609e0) QINFO : tst_QProcess::processesInMultipleThreads() Loop run 3 QINFO : tst_QProcess::processesInMultipleThreads() Thread count: 3 QINFO : tst_QProcess::processesInMultipleThreads() Started thread 0 TestThread(0x4609e0) QINFO : tst_QProcess::processesInMultipleThreads() Started process from thread TestThread(0x4609e0) QINFO : tst_QProcess::processesInMultipleThreads() Started thread 1 TestThread(0x4603b0) QINFO : tst_QProcess::processesInMultipleThreads() Started thread 2 TestThread(0x460a40) QINFO : tst_QProcess::processesInMultipleThreads() Waiting for thread 0 TestThread(0x4609e0)