Details
-
Bug
-
Resolution: Done
-
P2: Important
-
Qt Creator 4.9.0-beta1
-
None
-
25ddba75f0767ef1150c3896fde5c50bc65147c9 (qt-creator/perfparser/4.9)
Description
Perfparser loses its connection before the data is received.
Run the following through perfprofiler on windows:
#include <QDebug> int fib(int x) { if (x < 2) return x; return fib(x - 1) + fib(x - 2); } int lock = 1; int main(int argc, char *argv[]) { for (int i = 0; i < 40; ++i) qDebug() << i << fib(i); }
Curiously, you get the following output:
PerfParser args: --app D:/build-untitled2-nitrogen6x-Profile --extra C:\Qt\5.9.3\Boot2Qt\nitrogen6x\toolchain\sysroots\cortexa9hf-neon-poky-linux-gnueabi\usr\lib;C:\Qt\5.9.3\Boot2Qt\nitrogen6x\toolchain\sysroots\cortexa9hf-neon-poky-linux-gnueabi\usr\lib\plugins;C:\Qt\5.9.3\Boot2Qt\nitrogen6x\toolchain\sysroots\i686-pokysdk-mingw32\usr\bin;C:\Qt\5.9.3\Boot2Qt\nitrogen6x\toolchain\sysroots\cortexa9hf-neon-poky-linux-gnueabi\usr\lib\qml --arch arm --sysroot C:/Qt/5.9.3/Boot2Qt/nitrogen6x/toolchain/sysroots/cortexa9hf-neon-poky-linux-gnueabi 0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21 9 34 10 55 11 89 12 144 13 233 14 377 15 610 16 987 17 1597 18 2584 19 4181 20 6765 21 10946 22 17711 23 28657 24 46368 25 75025 26 121393 27 196418 28 317811 29 514229 30 832040 31 1346269 32 2178309 33 3524578 34 5702887 35 9227465 [ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.000 MB - ]
The 0MB in the end is normal as perf only counts the data it writes to disk, but the application should really count to 39, not only to 35. Also, perfprofiler doesn't receive any data.
DebugView gives me this (3460 seems to be perfparser, 12512 is Qt Creator):
[3460] FINISHED_ROUND detected. Switching to automatic buffering [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.) [12512] QWindowsPipeWriter::write failed. (The handle is invalid.)