|
From: Christoph B. <bar...@or...> - 2006-09-14 08:40:55
|
Am Donnerstag, 14. September 2006 00:46 schrieb Josef Weidendorfer: > On Wednesday 13 September 2006 10:19, Christoph Bartoschek wrote: > > Hi, > > > > with the recent fixes I am able to profile the part of the code that is > > interessting for me. But there is one problem left. > > > > Sometimes after starting instrumentation it switches itself off again. > > Wow. No this bug sounds really strange. > > It would be interesting to see the valgrind output of this process > with "-v", as this prints out changes of the instrumentation mode. > > Do you have VG client requests in your code? Perhaps callgrind does > misinterpret one and switches instrumentation off instead (but this > really should never happen...). > > Or another possibility for the bug: your code does a few forks and > multiple Valgrind processes are somehow looking for the same command file > (callgrind_control generates such command files). This also > should never happen as I use the PID in the file name... > > I wonder because... > > > -bash-3.00$ callgrind_control -s 19970 > > PID 19970: program [requesting 'Status'...] > > Number of threads: 1 > > Events collected: Ir Dr Dw I1mr D1mr D1mw I2mr D2mr D2mw > > Functions: 1,636 (executed 257,435, contexts 1,636) > > Basic blocks: 3,894 (executed 4,762,919, call sites 2,233) > > and > > > -bash-3.00$ callgrind_control -s 19970 > > PID 19970: program [requesting 'Status'...] > > Number of threads: 0 > > Events collected: Ir Dr Dw I1mr D1mr D1mw I2mr D2mr D2mw > > Functions: 563 (executed 141,123, contexts 563) > > Basic blocks: 3,464 (executed 983,886, call sites 2,050) > > looks like coming from totally different callgrind runs. > For example, I never reset the context or function count - > they always increase (or stay the same). > A thread count of 0 seems strange, too. > Could this explain the behaviour: As I described in another thread, the program I use clones itself after startup but the newly created child does not exec itself to load another binary but continues to run. In this case the PID of the child was 19972 and I see callgrind.out.19970 and callgrind.out.19972 but only one valgrind logfile: vg.log.19970 Greetings Christoph Bartoschek |