Wer hat eine Idee was das ist??
Wer hat eine Idee was das ist??
Ich habe folgendes Problem.Ein PHP script von mir wird immer gekillt.In der apache error.log steht dazu folgendes:
[Sun Sep 27 14:59:47 2009] [notice] child pid 24720 exit signal Segmentation fault (11)
In der Kern.log hab ich dazu dann noch dies hier gefunden:
Sep 27 14:59:47 server11418 kernel: [88622.093288] apache2[24720]: segfault at 7fff80bc0fe0 ip 7f0c78f8cf6b sp 7fff80bc0ee0 error 6 in libpcre.so.3.12.1[7f0c78f7c000+28000]
Hat jemand eine Idee was da los ist???Das System wurde gestern erst komplett neu installiert.Die installation lief ohne Probleme und Fehler durch.Was ich auch gleich noch erwähnen möchte.RAM wurde getestet der ist in ordnung.Es muss irgendwas anderes sein.
[Sun Sep 27 14:59:47 2009] [notice] child pid 24720 exit signal Segmentation fault (11)
In der Kern.log hab ich dazu dann noch dies hier gefunden:
Sep 27 14:59:47 server11418 kernel: [88622.093288] apache2[24720]: segfault at 7fff80bc0fe0 ip 7f0c78f8cf6b sp 7fff80bc0ee0 error 6 in libpcre.so.3.12.1[7f0c78f7c000+28000]
Hat jemand eine Idee was da los ist???Das System wurde gestern erst komplett neu installiert.Die installation lief ohne Probleme und Fehler durch.Was ich auch gleich noch erwähnen möchte.RAM wurde getestet der ist in ordnung.Es muss irgendwas anderes sein.
Re: Wer hat eine Idee was das ist??
Schwer zu sagen, was da genau faul ist. Jedenfalls scheint es einen Segmentation Fault (also einen Zugriff auf nicht dem Programm gehoerenden Speicher) zu geben. Was die genaue Ursache ist, kann man so einfach nicht sagen.
Re: Wer hat eine Idee was das ist??
Nicht dem Programm gehörenden Speicher???Wie meinst Du das genau??Wie kann man denn genauer rausbekommen was da los ist??
Vielleicht hilft das etwas weiter.Also das script was den Segfault auslöst ist ein RSS Feed Spider.Der Spider arbeitet unter anderem mit CURL.Er liest immer 10 feeds gleichzeitig in den RAM arbeitet die ab und liest dann die nächsten 10 feeds in den RAM.
Es tritt nur bei dem einen script auf ansonsten nicht.Das Script wurde aber schon etliche mal vom Progger durchgesehen er kann einfach nichts entdecken.
Vielleicht hilft das etwas weiter.Also das script was den Segfault auslöst ist ein RSS Feed Spider.Der Spider arbeitet unter anderem mit CURL.Er liest immer 10 feeds gleichzeitig in den RAM arbeitet die ab und liest dann die nächsten 10 feeds in den RAM.
Es tritt nur bei dem einen script auf ansonsten nicht.Das Script wurde aber schon etliche mal vom Progger durchgesehen er kann einfach nichts entdecken.
Re: Wer hat eine Idee was das ist??
Ahja ok soweit hab ichs verstanden.Und wie kann ich nun den genauen fehler finden und beheben??
Re: Wer hat eine Idee was das ist??
Offensichtlich ein Fehler in der libpcre.so, welche für reguläre Ausdrücke verwendet wird.
Skript dies bezüglich überprüfen bzw. verändern.
Gruß,
Daniel
Skript dies bezüglich überprüfen bzw. verändern.
Gruß,
Daniel
Re: Wer hat eine Idee was das ist??
Alles klar danke dann werd ich das script daraufhin mal durchsehen
Re: Wer hat eine Idee was das ist??
Also wir haben heute mal nachgeschaut.Wir haben den eindruck das es nicht an PCRElib liegt sondern die PCRE nur das ende einer Kette ist.
Hat noch jemand eine Idee??
Hat noch jemand eine Idee??
Re: Wer hat eine Idee was das ist??
Keiner eine Idee was es noch sein könnte???Werd noch irre mit dem mist.Finde einfach den fehler nicht....
- whisper
- Beiträge: 3388
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Wer hat eine Idee was das ist??
Gibt es einen core dump?
Wenn nicht, einschalten und mit gdb untersuchen. evtl. bekommst du so die funktion heraus, die es auslöst und kannst da weitersuchen
http://www.wikiservice.at/dse/wiki.cgi? ... C/CoreDump
und hier: http://bugs.php.net/bugs-generating-backtrace.php
Wenn nicht, einschalten und mit gdb untersuchen. evtl. bekommst du so die funktion heraus, die es auslöst und kannst da weitersuchen
http://www.wikiservice.at/dse/wiki.cgi? ... C/CoreDump
und hier: http://bugs.php.net/bugs-generating-backtrace.php
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt.
Re: Wer hat eine Idee was das ist??
Blöde frage vielleicht aber wie schalte ich Core Dump ein??Kann mir das mal jemand genauer erklären???
- whisper
- Beiträge: 3388
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Wer hat eine Idee was das ist??
Genau dafür sind die beiden links dich61 hat geschrieben:Blöde frage vielleicht aber wie schalte ich Core Dump ein??Kann mir das mal jemand genauer erklären???
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt.
Re: Wer hat eine Idee was das ist??
Ich hab das script mal mit strace gestartet dabei kam dann dies raus:
flock(18, LOCK_EX|LOCK_NB) = 0
lseek(18, 0, SEEK_SET) = 0
flock(18, LOCK_UN) = 0
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
write(3, "E\0\0\0\3INSERT INTO lucenespider SET"..., 73) = 73
read(3, "\7\0\0\1\0\1\0\2\0\0\0"..., 16384) = 11
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
write(3, "L\0\0\0\3SELECT hash FROM lucenespide"..., 80) = 80
read(3, "\1\0\0\1\1@\0\0\2\3def\nusr_web3_1\flucenesp" ..., 16384) = 91
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Das sind die letzten Zeilen davor lief alles reibungslos.Jemand eine idee was das sein kann??Mit dem Coredump komme ich nich so richtig klar.
flock(18, LOCK_EX|LOCK_NB) = 0
lseek(18, 0, SEEK_SET) = 0
flock(18, LOCK_UN) = 0
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
write(3, "E\0\0\0\3INSERT INTO lucenespider SET"..., 73) = 73
read(3, "\7\0\0\1\0\1\0\2\0\0\0"..., 16384) = 11
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
write(3, "L\0\0\0\3SELECT hash FROM lucenespide"..., 80) = 80
read(3, "\1\0\0\1\1@\0\0\2\3def\nusr_web3_1\flucenesp" ..., 16384) = 91
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Das sind die letzten Zeilen davor lief alles reibungslos.Jemand eine idee was das sein kann??Mit dem Coredump komme ich nich so richtig klar.
Re: Wer hat eine Idee was das ist??
Hm?Kannn jemand anhand des logs von strace was auffälliges sehen??Oder kennt sich hier jemand mit Debuggen aus??Ich komme einfach nicht dahinter was genau den Segfault auslöst und würde es auch gegen einen kleinen obolus von einem Profi mal gerne debuggen lassen.Wenn sich jemand mit so geschichten bestens auskennt bitte melden.Ich komme einfach nicht weiter.
Re: Wer hat eine Idee was das ist??
So ich hab nun mal PHP geupdatet auf 5.2.11 seitdem hat sich nur die Fehlermeldung in der kern.log geändert.Die Segfaults sind aber immer noch wie gehabt.Nun lautet die Fehlermeldung folgendermaßen:
Oct 5 23:08:29 ipx11418 kernel: [847233.944213] apache2[8060]: segfault at 7fff9bbfbff8 ip 7f638d0c4482 sp 7fff9bbfbfa0 error 6 in libphp5.so[7f638cfa9000+5f7000]
Nun ist es die libphp5.so vorher wars die libpcre.so
Jemand eine Idee was das nun sein könnte???
Oct 5 23:08:29 ipx11418 kernel: [847233.944213] apache2[8060]: segfault at 7fff9bbfbff8 ip 7f638d0c4482 sp 7fff9bbfbfa0 error 6 in libphp5.so[7f638cfa9000+5f7000]
Nun ist es die libphp5.so vorher wars die libpcre.so
Jemand eine Idee was das nun sein könnte???