Infinite ROOT Crash
ROOT/CINT, in order to maximize unhelpfulness, will trap SIGTERMs1, try to present a stack trace of itself and then continue running.
This leads to the interesting question: what happens if trapping a SIGTERM and showing a stack trace causes another SIGTERM? The answer is, this:
*** Break *** segmentation violation
(no debugging symbols found)
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Attaching to program: /proc/13470/exe, process 13470
(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
[New Thread 182913308960 (LWP 13470)]
(no debugging symbols found)...done.
(no debugging symbols found)...done.
(no debugging symbols found)...done.
0x0000003aca2901f4 in waitpid () from /lib64/tls/libc.so.6
#1 0x0000003aca239b6f in do_system () from /lib64/tls/libc.so.6
#2 0x0000002a9579ad7d in TUnixSystem::StackTrace () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#3 0x0000002a95797afa in TUnixSystem::DispatchSignals () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#4 <signal handler called>
#5 0x0000002a97ccd72e in G__G__Gui1_166_0_22 () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libGui.so
#6 0x0000002a95e8ffd1 in Cint::G__CallFunc::Execute () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCint.so.5.17
#7 0x0000002a9570b4b2 in TQConnection::ExecuteMethod () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#8 0x0000002a9570e8ec in TQObject::Emit () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#9 0x0000002a9573a53d in TTimer::Notify () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#10 0x0000002a9573a445 in TTimer::CheckTimer () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#11 0x0000002a95797994 in TUnixSystem::DispatchTimers () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#12 0x0000002a95797c6d in TUnixSystem::DispatchOneEvent () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#13 0x0000002a9572da65 in TSystem::InnerLoop () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#14 0x0000002a9572d9fd in TSystem::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#15 0x0000002a956d781f in TApplication::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#16 0x0000002a9667584f in TRint::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libRint.so.5.17
#17 0x00000000004010bd in main ()
Root >
*** Break *** segmentation violation
(no debugging symbols found)
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Attaching to program: /proc/13470/exe, process 13470
(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
[New Thread 182913308960 (LWP 13470)]
(no debugging symbols found)...done.
(no debugging symbols found)...done.
(no debugging symbols found)...done.
0x0000003aca2901f4 in waitpid () from /lib64/tls/libc.so.6
#1 0x0000003aca239b6f in do_system () from /lib64/tls/libc.so.6
#2 0x0000002a9579ad7d in TUnixSystem::StackTrace () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#3 0x0000002a95797afa in TUnixSystem::DispatchSignals () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#4 <signal handler called>
#5 0x0000002a97ccd72e in G__G__Gui1_166_0_22 () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libGui.so
#6 0x0000002a95e8ffd1 in Cint::G__CallFunc::Execute () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCint.so.5.17
#7 0x0000002a9570b4b2 in TQConnection::ExecuteMethod () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#8 0x0000002a9570e8ec in TQObject::Emit () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#9 0x0000002a9573a53d in TTimer::Notify () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#10 0x0000002a9573a445 in TTimer::CheckTimer () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#11 0x0000002a95797994 in TUnixSystem::DispatchTimers () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#12 0x0000002a95797c6d in TUnixSystem::DispatchOneEvent () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#13 0x0000002a9572da65 in TSystem::InnerLoop () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#14 0x0000002a9572d9fd in TSystem::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#15 0x0000002a956d781f in TApplication::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#16 0x0000002a9667584f in TRint::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libRint.so.5.17
#17 0x00000000004010bd in main ()
Root >
*** Break *** segmentation violation
(no debugging symbols found)
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Attaching to program: /proc/13470/exe, process 13470
(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
[New Thread 182913308960 (LWP 13470)]
(no debugging symbols found)...done.
(no debugging symbols found)...done.
(no debugging symbols found)...done.
0x0000003aca2901f4 in waitpid () from /lib64/tls/libc.so.6
#1 0x0000003aca239b6f in do_system () from /lib64/tls/libc.so.6
#2 0x0000002a9579ad7d in TUnixSystem::StackTrace () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#3 0x0000002a95797afa in TUnixSystem::DispatchSignals () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#4 <signal handler called>
#5 0x0000002a97ccd72e in G__G__Gui1_166_0_22 () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libGui.so
#6 0x0000002a95e8ffd1 in Cint::G__CallFunc::Execute () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCint.so.5.17
#7 0x0000002a9570b4b2 in TQConnection::ExecuteMethod () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#8 0x0000002a9570e8ec in TQObject::Emit () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#9 0x0000002a9573a53d in TTimer::Notify () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#10 0x0000002a9573a445 in TTimer::CheckTimer () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#11 0x0000002a95797994 in TUnixSystem::DispatchTimers () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#12 0x0000002a95797c6d in TUnixSystem::DispatchOneEvent () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#13 0x0000002a9572da65 in TSystem::InnerLoop () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#14 0x0000002a9572d9fd in TSystem::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#15 0x0000002a956d781f in TApplication::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libCore.so.5.17
#16 0x0000002a9667584f in TRint::Run () from /net/local/tools/RHEL4-x86_64/root-v5.17.06/lib/libRint.so.5.17
#17 0x00000000004010bd in main ()
Root >
*** Break *** segmentation violation
Of course, that's only three times through the loop. It did several thousand, I think, before I was able to get another terminal open and kill it.
-
I think that this is what it does, although I could be wrong. ↩