Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-21971

Perf profiling doesn't work with RemoteLinux

    XMLWordPrintable

    Details

    • Commits:
      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.)
      

        Attachments

        For Gerrit Dashboard: QTCREATORBUG-21971
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            ulherman Ulf Hermann
            Reporter:
            ulherman Ulf Hermann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes