|
From: Christoph B. <bar...@gm...> - 2006-08-31 21:12:21
|
Hi, I've played around with callgrind_control. This are the last commands befor= e=20 the crash: devel@burns:~/pview> callgrind_control -d blbu PID 9578: ../src/src ../blockages_coarse.dip [requesting 'Dump blbu'...] OK. devel@burns:~/pview> callgrind_control -z PID 9578: ../src/src ../blockages_coarse.dip [requesting 'Zero'...] OK. devel@burns:~/pview> callgrind_control -e PID 9578: ../src/src ../blockages_coarse.dip [requesting 'Status'...] No information available as instrumentation is switched off. devel@burns:~/pview> callgrind_control -i on PID 9578: ../src/src ../blockages_coarse.dip=20 [requesting '+Instrumentation'...] OK. devel@burns:~/pview> And here the result: Callgrind: callstack.c:211 (vgCallgrind_push_call_stack):=20 Assertion 'current_entry->cxt !=3D 0' failed. =3D=3D9578=3D=3D at 0x38019C75: report_and_quit (m_libcassert.c:136) =3D=3D9578=3D=3D by 0x38019F9F: vgPlain_assert_fail (m_libcassert.c:200) =3D=3D9578=3D=3D by 0x38011ECE: vgCallgrind_push_call_stack (callstack.c= :211) =3D=3D9578=3D=3D by 0x38006F26: vgCallgrind_setup_bbcc (bbcc.c:529) =3D=3D9578=3D=3D by 0x62CEF5D3: ??? =3D=3D9578=3D=3D by 0x3802848F: vgPlain_do_syscall (m_syscall.c:258) =3D=3D9578=3D=3D by 0x624CABB3: ??? =3D=3D9578=3D=3D by 0x59: ??? =3D=3D9578=3D=3D by 0x624CAC6B: ??? =3D=3D9578=3D=3D by 0x59: ??? sched status: running_tid=3D1 Thread 1: status =3D VgTs_Runnable =3D=3D9578=3D=3D at 0x4AC3872:=20 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)=20 (in /home/devel/software/qt/lib/libQtCore.so.4.2.0) =3D=3D9578=3D=3D by 0x4AC6265: QCoreApplication::exec()=20 (in /home/devel/software/qt/lib/libQtCore.so.4.2.0) =3D=3D9578=3D=3D by 0x425FFD6: QApplication::exec()=20 (in /home/devel/software/qt/lib/libQtGui.so.4.2.0) =3D=3D9578=3D=3D by 0x80511AA: main (in /home/devel/pview/src/src) |
|
From: Josef W. <Jos...@gm...> - 2006-08-31 22:47:10
|
Hi, I can reproduce it: when instrumentation is switched off, and you request zeroing of all counters, switching instrumentation on afterwards gives the assertion. I'll try to come up with a fix. (Could take a little as I am leaving for a trip tomorrow) A workaround could be to start callgrind with instrumentation switched off; then, all counters will stay zero until you switch instrumentation on, ie. no need to zero them via callgrind_control. Note that requesting a dump will implicitly set all counters to zero. Josef On Thursday 31 August 2006 23:12, Christoph Bartoschek wrote: > I've played around with callgrind_control. This are the last commands before > the crash: > > devel@burns:~/pview> callgrind_control -d blbu > PID 9578: ../src/src ../blockages_coarse.dip [requesting 'Dump blbu'...] > OK. > devel@burns:~/pview> callgrind_control -z > PID 9578: ../src/src ../blockages_coarse.dip [requesting 'Zero'...] > OK. > devel@burns:~/pview> callgrind_control -e > PID 9578: ../src/src ../blockages_coarse.dip [requesting 'Status'...] > No information available as instrumentation is switched off. > > devel@burns:~/pview> callgrind_control -i on > PID 9578: ../src/src ../blockages_coarse.dip > [requesting '+Instrumentation'...] > OK. > devel@burns:~/pview> > > And here the result: > > Callgrind: callstack.c:211 (vgCallgrind_push_call_stack): > Assertion 'current_entry->cxt != 0' failed. > ==9578== at 0x38019C75: report_and_quit (m_libcassert.c:136) > ==9578== by 0x38019F9F: vgPlain_assert_fail (m_libcassert.c:200) > ==9578== by 0x38011ECE: vgCallgrind_push_call_stack (callstack.c:211) > ==9578== by 0x38006F26: vgCallgrind_setup_bbcc (bbcc.c:529) > ==9578== by 0x62CEF5D3: ??? > ==9578== by 0x3802848F: vgPlain_do_syscall (m_syscall.c:258) > ==9578== by 0x624CABB3: ??? > ==9578== by 0x59: ??? > ==9578== by 0x624CAC6B: ??? > ==9578== by 0x59: ??? > > sched status: > running_tid=1 > > Thread 1: status = VgTs_Runnable > ==9578== at 0x4AC3872: > QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) > (in /home/devel/software/qt/lib/libQtCore.so.4.2.0) > ==9578== by 0x4AC6265: QCoreApplication::exec() > (in /home/devel/software/qt/lib/libQtCore.so.4.2.0) > ==9578== by 0x425FFD6: QApplication::exec() > (in /home/devel/software/qt/lib/libQtGui.so.4.2.0) > ==9578== by 0x80511AA: main (in /home/devel/pview/src/src) > |
|
From: Josef W. <Jos...@gm...> - 2006-09-10 22:41:38
|
On Thursday 31 August 2006 23:12, Christoph Bartoschek wrote: > devel@burns:~/pview> callgrind_control -i on > PID 9578: ../src/src ../blockages_coarse.dip > [requesting '+Instrumentation'...] > OK. > devel@burns:~/pview> > > And here the result: > > Callgrind: callstack.c:211 (vgCallgrind_push_call_stack): > Assertion 'current_entry->cxt != 0' failed. Hi Christoph, I just checked in a bug fix for this problem. Can you check if that fixes this issue for you? I did not look yet at the other bug (x86_64-specific?). I think the biggest problem is that toogling the instrumentation mode is not really fully tested. Josef |