Programmabsturz debuggen?

Hallo zusammen,

ich habe vorgestern ein Systemupdate gemacht (Gentoo Linux) und habe seit dem das Problem, dass der Mozilla Firefox und auch der Thunderbird in manchen Situationen sang- und klanglos abschmieren.

Ich habe durch einige Experimente herausgefunden, dass dies passiert, wenn Seiten (bzw. Feeds beim Thunderbird) mit besonderen Unicode-Zeichen (wie Lautschrift oder dem römischen Zahlen) angezeigt werden sollten. Auch Eclipse ist (mit Java-Fehlermeldung) abgestürzt, als ich versucht habe, aus einem anderen Browser diese Sonderzeichen zu pasten.

Nun kann ich leider die genaue Ursache (bzw. die betreffende Bibliothek) nicht bestimmen, da die Programme keine aussagekräftige Fehlermeldung oder gar Logfiles ausgeben.

Gibt es eine Möglichkeit, bei einem Programmabsturz die Fehlerquelle genauer zu ermitteln, z.B. mit einm Debugger? Oder gibt es andere Tricks wie man sowas angehen kann?
Ich würde es gerne vermeiden, alle an diesem Tag aktualisierten Pakete einzeln downzugraden und zu überprüfen.

Die Pakete Firefox, GLibc und Freetype habe ich bereits testweise wieder downgegradet.
Hat nichts geholfen.
Das dynamische Linkage ist laut den Gentoo-Tools auch konsistent.

Hier noch die Liste der Updates an diesem Tag und die dynamischen Lib-Abhängigkeiten meines Firefox:
Mon Jul 14 18:29:41 2008 >>> app-admin/python-updater-0.5
Mon Jul 14 18:30:19 2008 >>> dev-libs/libevent-1.4.4
Mon Jul 14 18:31:34 2008 >>> net-dns/bind-tools-9.4.2_p1
Mon Jul 14 18:32:02 2008 >>> dev-libs/libpcre-7.7-r1
Mon Jul 14 18:32:40 2008 >>> media-libs/taglib-1.5
Mon Jul 14 18:33:16 2008 >>> dev-db/sqlite-3.5.9
Mon Jul 14 18:33:47 2008 >>> media-libs/freetype-2.3.7
Mon Jul 14 18:34:18 2008 >>> sys-apps/lshw-02.13b
Mon Jul 14 18:34:52 2008 >>> media-libs/faad2-2.6.1-r1
Mon Jul 14 18:35:24 2008 >>> app-editors/vim-core-7.1.319
Mon Jul 14 18:36:14 2008 >>> app-editors/vim-7.1.319
Mon Jul 14 18:36:40 2008 >>> dev-ruby/rubygems-1.1.1
Mon Jul 14 18:36:44 2008 >>> app-text/scrollkeeper-dtd-1.0
Mon Jul 14 18:36:58 2008 >>> app-editors/nano-2.1.2-r1
Mon Jul 14 18:38:30 2008 >>> sys-devel/binutils-2.18-r3
Mon Jul 14 18:38:33 2008 >>> app-text/scrollkeeper-9999-r1
Mon Jul 14 18:39:39 2008 >>> app-cdr/cdrdao-1.2.2-r2
Mon Jul 14 18:40:08 2008 >>> app-text/poppler-0.6.3-r1
Mon Jul 14 18:40:34 2008 >>> media-fonts/libertine-ttf-2.8.14
Mon Jul 14 18:44:53 2008 >>> dev-lang/php-5.2.6-r2
Mon Jul 14 18:45:19 2008 >>> dev-db/phpmyadmin-2.11.7
Mon Jul 14 18:46:25 2008 >>> app-editors/gvim-7.1.319
Mon Jul 14 18:46:50 2008 >>> www-client/opera-9.51
Mon Jul 14 18:49:39 2008 >>> sys-apps/hwinfo-14.19
Mon Jul 14 18:51:33 2008 >>> media-plugins/gst-plugins-gconf-0.10.6
Mon Jul 14 18:55:05 2008 >>> media-gfx/imagemagick-6.4.0.6
Mon Jul 14 18:57:48 2008 >>> media-libs/xine-lib-1.1.13
Mon Jul 14 19:32:26 2008 >>> media-video/ffmpeg-0.4.9_p20070616
Mon Jul 14 19:36:00 2008 >>> media-video/transcode-1.0.4-r3
Mon Jul 14 19:36:16 2008 >>> net-misc/whois-4.7.26
Mon Jul 14 19:37:13 2008 >>> x11-drivers/nvidia-drivers-173.14.09
Mon Jul 14 19:42:20 2008 >>> dev-libs/glib-2.16.3-r1
Mon Jul 14 19:44:38 2008 >>> media-gfx/graphviz-2.18
Mon Jul 14 19:55:19 2008 >>> net-analyzer/wireshark-1.0.2
Mon Jul 14 20:12:09 2008 >>> www-client/mozilla-firefox-2.0.0.15
Mon Jul 14 20:16:47 2008 >>> media-sound/amarok-1.4.9.1
Mon Jul 14 20:18:02 2008 >>> app-doc/doxygen-1.5.4
/lib/ld-linux.so.2 --list /usr/lib/mozilla-firefox/firefox-bin
linux-gate.so.1 => (0xb7f0c000)
libmozjs.so => /usr/lib/mozilla-firefox/libmozjs.so (0xb7e5e000)
libxpcom.so => /usr/lib/mozilla-firefox/libxpcom.so (0xb7e59000)
libxpcom_core.so => /usr/lib/mozilla-firefox/libxpcom_core.so (0xb7daf000)
libplds4.so.6 => /usr/lib/nspr/libplds4.so.6 (0xb7dab000)
libplc4.so.6 => /usr/lib/nspr/libplc4.so.6 (0xb7da4000)
libnspr4.so.6 => /usr/lib/nspr/libnspr4.so.6 (0xb7d71000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7d33000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d2f000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb79c6000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7942000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7926000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb790e000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7904000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb78c7000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb785f000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7824000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb781e000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb774d000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb765d000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7658000)
libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6 (0xb756f000)
libm.so.6 => /lib/libm.so.6 (0xb7549000)
libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb753c000)
libc.so.6 => /lib/libc.so.6 (0xb740c000)
/lib/ld-linux.so.2 (0x80000000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7409000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb7406000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7401000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb73d5000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb73c7000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb73bf000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xb73b6000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb73b0000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb73a6000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb737d000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb72f9000)
libz.so.1 => /lib/libz.so.1 (0xb72e7000)
libglitz-glx.so.1 => /usr/lib/libglitz-glx.so.1 (0xb72e0000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb72bb000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb728e000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb728b000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7286000)
librt.so.1 => /lib/librt.so.1 (0xb727d000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb715f000)
libglitz.so.1 => /usr/lib/libglitz.so.1 (0xb7134000)
libGL.so.1 => //usr//lib/opengl/nvidia/lib/libGL.so.1 (0xb708f000)
libGLcore.so.1 => //usr//lib/opengl/nvidia/lib/libGLcore.so.1 (0xb634f000)
libnvidia-tls.so.1 => //usr//lib/opengl/nvidia/lib/libnvidia-tls.so.1 (0xb634d000)
Es wäre toll, wenn jemand eine Idee dazu hat.

mfg, metax.
 
Du hast einerseits die Möglichkeit das Programm direkt im Debugger zu starten oder du startest es auf der Konsole/in einem Terminal einfach mit 'ltrace programmname' um die Library-Aufrufe zu sehen oder 'strace programmname' um sämtliche Funktionsaufrufe des Programms im Terminal nachzuverfolgen.
 
Danke für den Tip,

ich hab's mal mit dem Programm ltrace probiert, aber leider konnte ich mit der (umfangreichen) Ausgabe nicht so wahnsinnig viel anfangen. Ich konnte nur rauslesen, dass es einen SEGFAULT (SIGSEGV) gab, aber leider nicht wo.

Das Problem hat sich trotzdem erledigt. Ich habe durch Zufall herausgefunden, dass es an einem Update der Font "Linux Libertine" lag. Nach einem Downgrade davon fehlen mir zwar jene Sonder-Sonderzeichen, aber dafür geht auch kein Programm mehr über den Jordan.
Ich hätte nie gedacht, dass Schriftarten Speicherschutzverletzungen auslösen können ...

mfg, metax.
 
Zurück
Oben