From: Christian Weisgerber (naddy_at_mips.inka.de)
Date: 23. Jan 2001
Jochen Lillich <jl_at_teamlinux.de> wrote:
> Ein Grund wäre zB die Einstufung unter "DAU"... Bei 5.x sollte man wohl
> eher bei "Hacker" rangieren.
Ich habe den nagenden Verdacht, dass man das, als SuSE 5.x aktuell
war, anders gesehen hat.
> Keine Probleme hier. Und SIG11 ist ein Hardwareproblem.
Bevor sich dieser Kommentar zu verselbständigen anfängt (Yvonne
wirkte schon recht verwirrt):
Signale haben Namen. Die Nummer ist implementierungsabhängig und
kann bei verschiedenen Betriebssystemen und im Fall von Linux gar
auf verschiedenen Hardwareplattformen unterschiedlich sein.
Signal 11 scheint mehr oder minder zufällig auf allen Unices SEGV
(Segment Violation) zu sein, aber bei manchen Signalen kann man
damit gehörig auf die Nase fallen.
SIGSEGV hat erst einmal überhaupt nichts mit Hardwareproblemen zu
tun. Ein Prozess bekommt SIGSEGV geschickt, wenn er auf einen für
ihn nicht definierten Speicherbereich zuzugreifen bzw. einen nur
lesbaren Bereich zu schreiben versucht. Eine solche Operation deutet
normalerweise auf einen Programmfehler hin. Die Defaultbehandlung
für SIGSEGV ist entsprechend der Programmabbruch. Wenn ein Programm
mit SEGV stirbt, dann gibt es prinzipiell nichts anderes anzunehmen,
als dass das Programm selbst fehlerhaft ist.
Problematisch wird die Sache, wenn Programme, die an sich nicht
fehlerhaft sind, an SEGV verenden. Hardwareprobleme, die zu falschen
Speicherwerten führen, können so etwas auslösen. Dereferenziert
das Programm einen Zeiger, mit einem falschen Wert, so kann das zu
undefinierten Speicherzugriff führen => SIGSEGV. Das typische
Beispiel ist der GNU C-Compiler, der offenbar umfangreiche Operationen
mit Zeigern in großen Speicherbereichen durchführt, und daher mit
die erste Anwendung ist, die solchen Problemen zum Opfer fällt.
-- Christian "naddy" Weisgerber naddy_at_mips.inka.de
Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET