Speicherzugriffsfehler / segmentation fault, wo setzt man an

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
knauthe
Beiträge: 198
Registriert: 03.03.2004 16:00:17
Wohnort: Berlin
Kontaktdaten:

Speicherzugriffsfehler / segmentation fault, wo setzt man an

Beitrag von knauthe » 26.01.2006 11:04:43

Hallo zusammen,

nachdem ich (bei kubuntu) von hoary auf breezy umgestiegen bin starten einige Anwendungen, darunter z.B. firefox und acroread nur noch nach einem

Code: Alles auswählen

xhost +
und als su bzw. sudo.

Sonst

Code: Alles auswählen

Speicherzugriffsfehler
. Das entspricht, soviel konnte ich recherchieren, dem segmentation fault.

Frage: wo setzt man bei der Fehlersuche denn an?

Vielen Dank für Tips schon im voraus.
*ggk :?:

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Speicherzugriffsfehler / segmentation fault, wo setzt man an

Beitrag von gms » 26.01.2006 13:39:57

knauthe hat geschrieben:Frage: wo setzt man bei der Fehlersuche denn an?
oftmals hilft es schon diese Programme aus einem Terminal zu starten und dort auf etwaige Fehlermeldungen zu achten.
wenn dort keine Fehlermeldungen erscheinen, oder unverständlich sind, kann versucht werden über "strace" herauszufinden, was das Programm kurz vor dem Absturz so angestellt hat. Folgefehler, die wegen mangelhafter Fehlerbehandlung ausgelöst wurden, können damit oftmals aufgespürt werden und durch Beseitigung der eigentlichen Fehlerursache vermieden werden.
Erste Wahl ist aber das Auslesen der sogenannten Backtrace Information, entweder aus einem Coredump, oder durch starten des Programms innerhalb eines Debuggers, oder duch verbinden des Debuggers mit einer Prozeßid.

In deinem Fall wird dies mit folgenden Schritten am einfachsten gehen:

Code: Alles auswählen

gms@gms1:$ ulimit -c unlimited # dadurch können coredumps erzeugt werden, defaultmäßig ist dieses Limit auf 0 gesetzt
gms@gms1:$firefox # das zu untersuchende Programm aufrufen
gms@gms1:$gdb /usr/lib/mozilla-firefox/firefox-bin core # den Debugger aufrufen und Programm und coredump-Datei übergeben
(gdb)bt
(gdb)q
Mit dem Kommando bt solltest du den Backtrace betrachten können. Mit den Funktionsnamen die da auf dem Stack liegen kannst du vielleicht selber nichts anfangen, der Paketmaintainer bzw ein Entwicker zumeist aber sehr viel.

Gruß
gms

Benutzeravatar
knauthe
Beiträge: 198
Registriert: 03.03.2004 16:00:17
Wohnort: Berlin
Kontaktdaten:

Beitrag von knauthe » 30.01.2006 13:42:56

Danke vielmals. Bin mit Hilfe von Bert und

Code: Alles auswählen

strace firefox
auf die Ursache gestoßen: falsch gesetzte Rechte bei ttf Schriften. Jetzt läuft auch fluxbox und überhaupt ... :P
*ggk

Antworten