test w/o threads: $ ./u 0x400a74 handler+0x1a 0x400a95 crash+0x10 0x400afd main+0x60 0x7fa92f9e74a4 __libc_start_main+0xf4 test w/ threads: $ ./u threaded 0x400a74 handler+0x1a 0x400a95 crash+0x10 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d 0x7fcea7803a3d clone+0x6d (...) gdb stops unwinding at clone(): $ gdb ./u (gdb) set args threaded (gdb) r (...) [New Thread 0x7fdd9636b6f0 (LWP 7318)] [New Thread 0x42501950 (LWP 7322)] (...) Breakpoint 2, handler (signalNumber=11) at u.c:25 25 _Unwind_Backtrace( helper, 0 ); (gdb) bt #0 handler (signalNumber=11) at u.c:25 #1 <signal handler called> #2 0x0000000000400a95 in crash () at u.c:32 #3 0x00007fa0eef04070 in start_thread () from /lib64/libpthread.so.0 #4 0x00007fa0eea6da3d in clone () from /lib64/libc.so.6 gcc-4.2.4-1.x86_64 glibc-2.8-3.x86_64 gdb-6.8-1.x86_64
Created attachment 15781 [details] testcase.
Created attachment 15782 [details] testcase makefile.
Created attachment 15812 [details] A patch which comes with debian and ubuntu which solves this problem A patch which is provided with ubuntu and debian which solves the problem of the infinite _Unwind_Backtrace automagically. I chanced upon this luckily. In ubuntu do apt-get install glibc-source and in patches/amd64/ you will find it.
*** Bug 36621 has been marked as a duplicate of this bug. ***
This is a glibc bug then.
forwarded to libc bugzilla: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6693
(In reply to comment #5) > This is a glibc bug then. > hmm, Ulrich Drepper rejects this bug report. http://sources.redhat.com/bugzilla/show_bug.cgi?id=6693#c1