[Gc] GCed program exists with SIGXCPU
Alexander Herz <[email protected]> Thu, 23 Apr 2015 15:30:31 +0200
| Newsgroups | gmane.comp.programming.garbage-collection.boehmgc |
|---|---|
| Message-ID | <[email protected]> |
Hi guys,
I just ran some code that uses boehm on a new machine (Linux
serverseidl6 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16 UTC
2014 x86_64 x86_64 x86_64 GNU/Linux) and the program terminates with
SIGXCPU (below is the backtrace of the core dump). I know the collector
uses these signals to interact with the threads but I fail to understand
how this signal can ever propagate so as to kill the application. Any
ideas?
Thx,
Alex
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./tmp/test.run'.
Program terminated with signal SIGXCPU, CPU time limit exceeded.
#0 0x00007fc2ecb03062 in do_sigsuspend (set=0x7fc2edb10980
<suspend_handler_mask>) at ../sysdeps/unix/sysv/linux/sigsuspend.c:31
31 ../sysdeps/unix/sysv/linux/sigsuspend.c: Datei oder Verzeichnis
nicht gefunden.
(gdb) backtrace
#0 0x00007fc2ecb03062 in do_sigsuspend (set=0x7fc2edb10980
<suspend_handler_mask>) at ../sysdeps/unix/sysv/linux/sigsuspend.c:31
#1 __GI___sigsuspend (set=set@entry=0x7fc2edb10980
<suspend_handler_mask>) at ../sysdeps/unix/sysv/linux/sigsuspend.c:45
#2 0x00007fc2ed8f21a2 in GC_suspend_handler_inner
(sig_arg=sig_arg@entry=0x1e <error: Cannot access memory at address
0x1e>, context=context@entry=0x7fc2e4f76800) at pthread_stop_world.c:255
#3 0x00007fc2ed8f2225 in GC_suspend_handler (sig=30, info=<optimized
out>, context=0x7fc2e4f76800) at pthread_stop_world.c:186
#4 <signal handler called>
#5 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:37
#6 0x00007fc2edd65673 in futex_wait (comparand=2, futex=0x7fc2ea15be2c)
at ../../include/tbb/machine/linux_common.h:60
#7 P (this=0x7fc2ea15be2c) at ../../src/tbb/semaphore.h:206
#8 commit_wait (c=<synthetischer Zeiger>, this=0x7fc2ea15be20) at
../../src/rml/include/../server/thread_monitor.h:259
#9 tbb::internal::rml::private_worker::run (this=0x7fc2ea15be00) at
../../src/tbb/private_server.cpp:280
#10 0x00007fc2edd65699 in
tbb::internal::rml::private_worker::thread_routine (arg=<optimized out>)
at ../../src/tbb/private_server.cpp:226
#11 0x00007fc2ed8f0663 in GC_inner_start_routine (sb=<Fehler beim Lesen
der Variable: value has been optimized out>, arg=<Fehler beim Lesen der
Variable: value has been optimized out>)
at pthread_start.c:56
#12 0x00007fc2ed8eb378 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1597
#13 0x00007fc2ece99182 in start_thread (arg=0x7fc2e4f77700) at
pthread_create.c:312