SIGABRT zurückverfolgen
-
Hi everyone
Momentan plagt mich gerade ein immer wiederkehrender Absturz in meinem Programm, der laut Stacktrace auf ein SIGABRT zurückzuführen ist. Das Problem ist, dass ich die Quelle des Signals nicht zurückverfolgen kann:
GNU gdb 6.3 (MontaVista 6.3-20.0.22.0501131 2005-07-23) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=armv5teb-montavista-linuxeabi"... Core was generated by `./ewbreader.exe -initSemaphores -auto'. Program terminated with signal 6, Aborted. Error while mapping shared library sections: /lib/libewbmeter.so: Datei oder Verzeichnis nicht gefunden. Reading symbols from /lib/libewbmeter.so...done. Loaded symbols for /lib/libewbmeter.so Reading symbols from /usr/local/xscale_be/target/usr/lib/libstdc++.so.6...done. Loaded symbols for /usr/local/xscale_be/target/usr/lib/libstdc++.so.6 Reading symbols from /usr/local/xscale_be/target/lib/libm.so.6...done. Loaded symbols for /usr/local/xscale_be/target/lib/libm.so.6 Reading symbols from /usr/local/xscale_be/target/lib/libgcc_s.so.1...done. Loaded symbols for /usr/local/xscale_be/target/lib/libgcc_s.so.1 Reading symbols from /usr/local/xscale_be/target/lib/libc.so.6...done. Loaded symbols for /usr/local/xscale_be/target/lib/libc.so.6 Reading symbols from /usr/local/xscale_be/target/lib/libpthread.so.0...done. Loaded symbols for /usr/local/xscale_be/target/lib/libpthread.so.0 Reading symbols from /usr/local/xscale_be/target/lib/ld-linux.so.3...done. Loaded symbols for /usr/local/xscale_be/target/lib/ld-linux.so.3 #0 0x40583204 in kill () from /usr/local/xscale_be/target/lib/libc.so.6 (gdb) backtrace #0 0x40583204 in kill () from /usr/local/xscale_be/target/lib/libc.so.6 #1 0x40668f6c in pthread_kill (thread=576, signo=6) at signals.c:69 #2 0x40669380 in __pthread_raise (sig=6) at signals.c:200 #3 0x4058302c in *__GI_raise (sig=6) at ../linuxthreads/sysdeps/unix/sysv/linux/raise.c:32 #4 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #5 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #6 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #7 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #8 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #9 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #10 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #11 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #12 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #13 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #14 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #15 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #16 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #17 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #18 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #19 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #20 0x40584214 in *__GI_abort () at ../sysdeps/generic/abort.c:88
Weiter als bis zu abort.c führt mich der Trace nicht - was mir nicht viel weiterhilft. Kann ich die Ursache des Absturz irgendwie sonst bestimmen? Ich habe mir z.B. überlegt, einen Signal-Handler für Signal 6 zu registrieren und dort irgendeinen Status auszugeben. Die Frage ist nur, welchen (errno?)...
Habt ihr da irgendwelche Vorschläge, wo ein Hinweis auf so einen Abbruch versteckt sein könnte?
Danke und greeetz
Kessi
-
/lib/libewbmeter.so: Datei oder Verzeichnis nicht gefunden.
Relevant?
-
unerklärlich, weil:
Reading symbols from /lib/libewbmeter.so...done. Loaded symbols for /lib/libewbmeter.so
Die Library befindet sich auch auf dem Debugsystem dort und wird gefunden. Bevor er sie findet, meldet der Debugger aber, sie sei nicht auffindbar
...