Hallo!
Was bedeutet es, wenn ein Programm als Ausgabe nur folgendes liefert:
Segmentation fault
Und dann bricht es ab. Ich habe dieses Verhalten auf einem Gentoo-PC mit Python 2.4 gesehen, auf SuSE mit Python 2.4 allerdings nicht.
Grüße
Markus
Segmentation fault
- sunmountain
- User
- Beiträge: 89
- Registriert: Montag 13. März 2006, 17:18
Einfach gesagt bedeutet das: Zugriffsverletzung.
Ein Programm versucht z.B. auf einen Speicherbereich zuzugreifen,
auf den es nicht zugreifen darf und wird dann vom Betriebssystem
beendet.
Du solltest einen Bugreport aufmachen.
Wann tritt dieses Problem auf, ist es reproduzierbar ?
Ein Programm versucht z.B. auf einen Speicherbereich zuzugreifen,
auf den es nicht zugreifen darf und wird dann vom Betriebssystem
beendet.
Du solltest einen Bugreport aufmachen.
Wann tritt dieses Problem auf, ist es reproduzierbar ?
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Vor allen Dingen solltest Du posten mit welcher Python-Erweiterung Du einen Segfault hinbekommst; die Core kann eigentlich keine Seg-Faults produzieren, außer Dein System ist mächtig im Argen...
--- Heiko.
- sunmountain
- User
- Beiträge: 89
- Registriert: Montag 13. März 2006, 17:18
Das "python" selbst einen segfault wirft, ist nicht so unwahrscheinlich,
schließlich nutzt es auch nur Bibliotheken des Systems.
Aber, mit Verlaub, bei Gentoo wundert micht nix.
Man kann sich schon mal mit ein paar USE flags das System
ziehmlich ruinieren.
Wobei das natürlich nichts über die allgemeine Qualität von Gentoo aussagt.
Ich habe so einen Fehler aber auch schon mal gesehen, und schuld war
letzen Endes keine Software:
Schlicht ein RAM Riegel hatte ne Macke.
Happy debugging
import pdb
pdb.run("my_main()")
schließlich nutzt es auch nur Bibliotheken des Systems.
Aber, mit Verlaub, bei Gentoo wundert micht nix.
Man kann sich schon mal mit ein paar USE flags das System
ziehmlich ruinieren.
Wobei das natürlich nichts über die allgemeine Qualität von Gentoo aussagt.
Ich habe so einen Fehler aber auch schon mal gesehen, und schuld war
letzen Endes keine Software:
Schlicht ein RAM Riegel hatte ne Macke.
Happy debugging

import pdb
pdb.run("my_main()")
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Wenn Du meinen Text noch mal richtig liest wirst Du sehen dass ich gesagt habe dass wenn mit dem System etwas im argen ist auch die Python-Core eine Exception werfen kann.Das "python" selbst einen segfault wirft, ist nicht so unwahrscheinlich,
schließlich nutzt es auch nur Bibliotheken des Systems.
Aber, mit Verlaub, bei Gentoo wundert micht nix.

Aber, ganz davon abgesehen, Gentoo ist eher weniger wegen der USE-Flags anfällig, sondern wegen Leuten, die meinen sie müssten die CFLAGS so aggressiv auf Optimierungen einstellen, dass gcc (teilweise) kaputten Code erzeugt.
Ich fahre auch unter Gentoo, hatte bisher noch keine Probleme, das kann aber einfach daran liegen dass ich sehr konservativ mit "-march=athlon64 -O2 -pipe" fahre...
--- Heiko.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Sorry, das muss jetzt sein:modelnine hat geschrieben:Aber, ganz davon abgesehen, Gentoo ist eher weniger wegen der USE-Flags anfällig, sondern wegen Leuten, die meinen sie müssten die CFLAGS so aggressiv auf Optimierungen einstellen, dass gcc (teilweise) kaputten Code erzeugt.
Jetzt nichts gegen Gentoo, aber das finde ich einfach herrlichJoghurt im Debianforum hat geschrieben:Besonders beliebt sind dort Flags wie "-fproduce-broken-code -fcrash-and-burn -minvalid"

My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Wenn man weiss wie, dann bekommt man einen Segfault auch mit den Standardmodulen oder sogar den Builtins hin. Da war mal ein kleiner "Wettbewerb" in der englischsprachigen Newsgroup.modelnine hat geschrieben:Vor allen Dingen solltest Du posten mit welcher Python-Erweiterung Du einen Segfault hinbekommst; die Core kann eigentlich keine Seg-Faults produzieren, außer Dein System ist mächtig im Argen...
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Jajaja... Ich weiß wie man mittels new zum Beispiel segfaults produzieren kann. Aber das ist auch dokumentiert. "Undokumentierte" segfaults gibts eigentlich wenige in der Python-Core... Und ehrlich gesagt glaub ich nicht dass der OP auf so einen undokumentierten Segfault gestoßen ist, sondern vielmehr sein System zerschrotet hat oder eine Python-Erweiterung benutzt die nicht sauber ist. Das war zumindest in meinem Fall immer das Problem wenn Python nicht lief.
--- Heiko.