ERROR: operf_read::convertPerfData
Daniel Wilkerson <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <CALzRTRmD_PCy-hWpFK-C+1QVhyHnkQALXsDSaFT=8iW=87WELg@mail.gmail.com> |
I'm running a vanilla Ubuntu 14.04 install. I attempted to profile a C++ program built using g++. Other than being multi-threaded and using 100G of RAM, it is a pretty normal program. I assign some environment vars and then say "operf" before the program line, like this: "VAR=0 operf prog. My program does not finish and I get the error quoted below in appendix A. I see the recommendation to decrease my sampling rate, but is that really the cause of the SIGPIPE ? I must say, this is not a very informative message. I attempted to profile a much simpler program on an Ubuntu 14.04 machine that just did some arithmetic in a loop and allocated/deallocated some arrays; no multithreading. That doesn't crash, but opreport just gives a "no samples found" error, quoted immediately below. Does my program stop too fast to be profiled? opreport --symbols oprofile_data Using /home/dsw/ex_cc/oprofile_data/samples/ for samples directory. error: no sample files found: profile specification too strict ? make: *** [profile] Error 1 Daniel ---- appendix A ERROR: operf_read::convertPerfData quitting. Bad data read from pipe. Closing read end of data pipe. operf-record process will stop with SIGPIPE (13). Try lowering the sample frequency to avoid this error; e.g., double the 'count' value in your event specification. * * * ATTENTION: The kernel lost 4260291 samples. * * * Decrease the sampling rate to eliminate (or reduce) lost samples. WARNING: Lost samples detected! See /data2/dsw/wyd_runs/runE700/oprofile_data/samples/operf.log for details. operf-record process killed by signal 13 Error running profiler make[1]: *** [0.align] Error 2 make[1]: Leaving directory `/data2/dsw/wyd_runs/runE700' make: *** [nohup/go1] Error 2 ^C [1]+ Exit 2 make go ------------------------------------------------------------------------------