Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

Programmabsturz debuggen?

Diskussion: Programmabsturz debuggen? im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hallo zusammen, ich habe vorgestern ein Systemupdate gemacht (Gentoo Linux) und habe seit dem das Problem, dass der Mozilla ...

Antwort
Alt 16.07.08, 18:20   #1 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Programmabsturz debuggen?

Anzeige

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:

updates   
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

ld firefox   
/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.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Alt 16.07.08, 18:24   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

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.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 16.07.08, 20:31   #3 (permalink)
Themenstarter
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

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.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » Programmabsturz debuggen?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
C++ Debuggen Dawen Code Kitchen 10 14.01.08 00:47
Altes Dosprogramm debuggen. Clickme Hacks & Crackmes 3 08.04.07 18:01
Problem beim Debuggen C++ Programmen C/C++ Code Kitchen 7 16.11.06 16:53
Mechwarrior3 schmiert ab -> debuggen? noobhacker Games 6 31.07.06 14:24
GDB - Assemblercode debuggen [gelöst] v01d Linux/UNIX 0 21.07.06 09:01


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61