- Official Post
Hallo,
Fands halt komisch, dass PHP direkt abschmiert, weil das sollte ja nun nicht passieren.
Ja, Bugs sollten nicht passieren. Passieren aber. Ist der SIGSEGV für dich reproduzierbar?
Hallo,
Fands halt komisch, dass PHP direkt abschmiert, weil das sollte ja nun nicht passieren.
Ja, Bugs sollten nicht passieren. Passieren aber. Ist der SIGSEGV für dich reproduzierbar?
Ist der SIGSEGV für dich reproduzierbar?
Ja, war auf 2 Servern vorhanden und hat dmesg vollgeschrieben mit Meldungen ähnlich wie:
[7329629.860584] php-cgi[1051541]: segfault at 7ffd73be1fd8 ip 00005651b9749847 sp 00007ffd73be1fc0 error 6 in php-cgi[5651b9600000+271000]
[7329629.860668] Code: 0f 1f 00 41 57 41 56 41 55 41 54 55 53 48 81 ec 38 01 00 00 8b 6f 2c 64 48 8b 04 25 28 00 00 00 48 89 84 24 28 01 00 00 31 c0 <48> c7 44 24 18 00 00 00 00 8d 45 ff 83 f8 01 0f 87 e8 a8 ec ff 80
Wobei "Code" immer ein anderer war.
Edit.
Und der Apache-Error-Log war nicht sehr hilfreich:
Hallo,
ich meinte „jetzt noch“ reproduzierbar. Am besten auf einem Staging-System auf dem kein anderer Traffic läuft. Die Ausgabe in dmesg ist kaum nützlich. Besser ist, wenn du entweder einen coredump erzeugen lassen könntest oder dich alternativ via gdb an den laufenden Prozess hängst, den Crash triggerst und anschließend einen Backtrace erzeugen lässt. Damit könntest du den Bug dann an passender Stelle melden (bzw. ggf. einmal vorher zu mir, falls das wirklich eine PHP-Sicherheitslücke statt „nur ein Bug“ ist).
Achso, nein jetzt nicht mehr, wie gesagt, ich konnte das Plugin eingrenzen und habe es durch ein anderes ersetzt, seither läuft die Seite wieder.
Für das Debuggen (Coredump und gdb) fehlt mir hier auch leider die technische Experise
Hallo,
Achso, nein jetzt nicht mehr, wie gesagt, ich konnte das Plugin eingrenzen und habe es durch ein anderes ersetzt, seither läuft die Seite wieder.
ich weiß ja nicht, ob noch irgendein Staging-System existiert, das du zum „Testen“ benutzen kannst.
Für das Debuggen (Coredump und gdb) fehlt mir hier auch leider die technische Experise
Wenn es zuverlässig reproduzierbar ist, dann ist die einfachste Methode:
Sieht mit einem absichtlich kaputten Programm, das ich direkt in gdb starte dann etwa so aus:
$ cat test.c
void foo(void) {
int a;
(&a)[9999999] = 9;
}
int
main(void) {
foo();
return 0;
}
$ gcc -g test.c
$ gdb ./a.out
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out...
(gdb) run
Starting program: /tmp/a.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
foo () at test.c:3
3 (&a)[9999999] = 9;
(gdb) bt full
#0 foo () at test.c:3
a = 0
#1 0x0000555555555198 in main () at test.c:8
No locals.
Display More
Erstmal danke für deine Anleitung
Ich komme wieder mit Informationen:
Vermutlich handelt es sich um einen Bug, denn die PHP-Pakete von Sury sind nicht von dem Problem betroffen. Auf dem Server sind/waren Pakete von Liveconfig und die segfaulteten. Auf der Dev-Maschine (und jetzt auch auf dem Server) sind Sury-Pakete.
(Disclaimer. Nein, auf dem Server läuft kein Liveconfig, nur die PHP-Pakete)
Da wurde aus dem Crash zunächst ein "Too few arguments" und dann ein "Memory exhausted", wobei sich letzteres wie eine Endlosschleife anfühlte und ersteres verstehe ich nicht ganz, aber kann sein, dass WordPress da in einer Funktion Defaults entfernt und stattdessen die Parameter zur Pflicht erklärt hat (habe es "kurz" versucht zu debuggen, und Code sah eigentlich ok aus, aber dann hab ich das nicht weiter verfolgt weil Lösung gefunden). Wie gesagt, gestern war auch WordPress-Update-Tag und das hat einige Seiten mitgerissen (die besagtes Plugin verwendeten, und auf Servern mit PHP von Liveconfig liefen)
Es gibt nichts geileres als frisches Leitungswasser. Change my mind.
Leitungswasser aus dem Wassersprudler. Schmeckt nochmal etwas frischer.
Es gibt nichts geileres als frisches Leitungswasser. Change my mind.
Es gibt nichts besseres als frisches Wasser aus dem Bach am Berg / Quelle
Das kann ich noch nicht beurteilen. An welchen Berg fahre ich denn am besten?
Service-Tweet:
Wenn der Server nicht die korrekte Uhrzeit hat, funktionieren 2FA-Codes aus dem Authenticator nicht.
(Warum auch immer NTP gestorben ist auf der Kiste. Wird Zeit, dass Bookworm kommt, dann gibts neue Hardware. (Warum das zusammenhängt? Um mir ein Distro-Update zu sparen und trotzdem den Spinning Rust loszuwerden))
Hallo,
Wenn der Server nicht die korrekte Uhrzeit hat, funktionieren 2FA-Codes aus dem Authenticator nicht.
… und weitere spannende Neuigkeiten um 11
Wird Zeit, dass Bookworm kommt,
Ich habe Hoffnung für Ende Mai. Auf Basis der einschlägigen Mailing-Listen läuft die Stabilisierung nach meinem Verständnis recht gut.
ich denke... die reden hier nicht von dem Videospiel was man bei Google unter dem Namen findet.
Hallo,
ich denke... die reden hier nicht von dem Videospiel was man bei Google unter dem Namen findet.
Mit Bookworm ist Debian Bookworm (a.k.a. Debian 12) gemeint.
Hallo,
Mit Bookworm ist Debian Bookworm (a.k.a. Debian 12) gemeint.
okay, da kenne ich die namen natürlich nicht von...
… und weitere spannende Neuigkeiten um 11
Wollte auch mal das Offensichtliche betonen.
Ich habe Hoffnung für Ende Mai. Auf Basis der einschlägigen Mailing-Listen läuft die Stabilisierung nach meinem Verständnis recht gut
Klingt gut. Habe (aufgrund der Release-History) mit "irgendwann so im Sommer-ish" gerechnet. Ende Mai wäre ja quasi bald.
Mit Bookworm ist Debian Bookworm (a.k.a. Debian 12) gemeint.
Genau so ist es. I use Debian, by the way.
Ja hoffentlich kommt Bookworm bald. We’ll see
Sehe gerade dass Black Rider seinen Shop zugemacht hat und auch hier im Plugin-Store keine Verkäufe mehr stattfinden. Es sind ja jetzt einige Leute gegangen (worden). Wer baut aktuell noch Stile, auch für WSC 6 ?
Wer baut aktuell noch Stile, auch für WSC 6 ?
Don’t have an account yet? Register yourself now and be a part of our community!