immer wieder Death Thread's

Hallo,

seit dem Serverwechsel kommen immer wieder Death Thread’s im Zusammenhang mit dem auslesen der Fritz!Box. Ich habe nichts am Programm geändert.
Es gibt auch nirgends eine Fehlermeldung. Woran kann es liegen, wie muß ich bei der Fehlersuche vor gehen?

PS: Oder ist mein Server jetzt zu schnell?

Ich hatte das nach Update der Fritz FW auch (automatisch durch KD) - such mal im Forum nach den aktualisierten Skripten für Deine Box/Firmware…

Kann eigentlich nicht sein. Die 5.50 habe ich schon knapp zwei Wochen drauf. und bis zum Serverwechsel ging ja auch alles.

Hatte ich bei einem Routerproblem (KD war nicht zu erreichen) auch.
Im Abstand der Scriptstartzeiten ist ein Thread nach dem anderen blockiert und nach dem 10 war Ende.
Ende im Sinne davon, dass keine Skripte mehr laufen, ansonsten merkt man das ja nicht.
Ich habe das nur gemerkt, dass bei offenem Fenster ein Heizungsscript nicht automatisch die Solltemperatur abgesenkt hat.
Als KD wieder zu erreichen war, haben sich die Scripte nicht von alleine wiederbelebt.

Wie kann man blockierte Threads per Script erkennen - um einen „IPS Hilfeschrei“ loszulassen?

Mir ist schon bewusst, dass es besser wäre, durch geschickte Programmierung Fehler abzufangen, aber das Problem sind doch die Fälle, mit denen man nicht rechnet. Ausrufezeichen werden bei mir schon überprüft, tote Threads sollten dazukommen.

Da fällt mir einmal nur Raketenschneckes Tool-Pool ein. http://www.raketenschnecke.net/2012/10/26/ips-rs-deaththread-monitoring/

Das ist mir schon klar. Der Monitor läuft ja bei mir schon. Aber wie kann ich solche Fehler identifizieren bzw. vermeiden?

Naja, da gibt es viele Fehlerquellen/-möglichkeiten und ohne dein Script ist es schwer, dazu etwas zu erraten ;).

Überprüfe alle Scripte, die etwas von der FB laden, z.B. mit fopen oder file_get_contents oder Sys_GetURLContent oder …, halt alles, was etwas von der FB lädt und regelmäßig/häufig läuft.

Und je nach verwendeter Funktion muss auch ein fclose, etc sein oder hast du in Scripten „ini_set( ‚max_execution_time‘, 80);“ verwendet.

Überschneiden sich jetzt eventuell Scripte, z.B. durch verschiedene Trigger zu oft und parallel gestartet.

Haben die Skripte nicht eigentlich ein generelles Timeout? Bei meinen Skripten hatte ich noch nie death threads, aber schon oft Endlosschleifen etc. die dann aufs PHP Timeout liefen.

unter dem Link, den Werner oben gepostet hat, gibts reichlich Grundlagenwissen dazu :wink: