Hängendes RequestAction (PHP-Thread)

Ich habe heute einen hängenden PHP-Thread “RequestAction” entdeckt. Der Sender des Threads ist “PHPModule”. Habe ich irgendeine Chance herauszufinden, welches Modul das ist? Weitere verwertbare Daten gibt es zu dem Thread nicht.

Wie kann es überhaupt dazu kommen, dass ein RequestAction() hängen bleibt? Das dürfte doch eigentlich nur passieren, wenn das Aktionsskript oder die Aktion einer Statusvariablen eine Macke hat und irgendwie in einer “Endlosschleife” hängt, oder?

Ja, genau. Schau mal bitte mit print_r(IPS_GetScriptThread(xxx)); wobei xxx die ID vom SkriptThread ist der hängt.

paresy

Daher habe ich ja die Daten. Nur liefert mir das keine weiteren verwertbaren Hinweise auf den Verursacher.

[ThreadID] => 72
[ExecuteCount] => 2550029
[ExecutionMin] => 0
[ExecutionAvg] => 0
[ExecutionMax] => 300031
[StartTime] => 1767886410
[Sender] => PHPModule
[FilePath] => RequestAction
[ScriptID] => 0
[PeakMemoryUsage] => 8388608
[MemoryCleanups] => 582
[Duration] => 5880
[ScriptName] =>

Ist schon länger her, da hatte ich mal gefragt, ob man die Funktion nicht noch pimpen kann, dass man nicht nur für Skripte, sondern auch für Module weitere Infos bekommt, um etwaige Probleme weiter einzugrenzen. So stochert man halt im Nebel. Ich werde den Dienst irgendwann neu starten, damit der hängende Thread verschwindet, aber die eigentliche Ursache wird so im Dunkeln bleiben.

Ich denke ich habe eine schöne Lösung gefunden.

Die SenderID (die bereits in den PHP Informationen verfügbar ist, sofern wir die Ausführung als Nachricht erhalten) ist im nächsten 8.2er Update mit dabei in der Rückgabe :slight_smile: Damit solltest du dem Problem besser auf die Spur kommen, da be PHP Modulen dies die ID von der Instanz ergibt. Sofern das Skript per Ereignis gestartet wurde, steht dort die ID des Ereignisses drin.

Array
(
    [ThreadID] => 11
    [ExecuteCount] => 9
    [ExecutionMin] => 1
    [ExecutionAvg] => 1
    [ExecutionMax] => 4
    [StartTime] => 1767911819
    [Sender] => PHPModule
    [SenderID] => 21530
    [FilePath] => RequestAction
    [ScriptID] => 0
    [PeakMemoryUsage] => 4194304
    [MemoryCleanups] => 0
)

paresy

1 „Gefällt mir“

Klasse, dass du das mal eben eingebaut hast! :grinning_face: Und das, obwohl man seit einiger Zeit nicht mehr so viel von dir hört, wie ich finde.

Bin mal gespannt, ob ich damit was raus finde. Das Problem ist ganz neu. Heute Morgen sind es auch schon 14 hängende RequestAction-Threads. Mal sehen, ob ein Neustart irgendwas ändert.

Niels ist auch grad dran das neue Feld in die Konsole einzubauen, sodass beim Öffnen der PHP Informationen dies auch direkt genutzt wird.

Ich bin weiterhin genau so da :slight_smile: Irgendwie muss man sich aber um immer mehr Sachen kümmern :tada: und es gibt im Forum auch immer mehr Beiträge :flexed_biceps:

paresy

Habe mich eh schon gewundert, dass du für das Forum überhaupt so lange Zeit hattest.
Umso schöner, wenn man ab und zu was von dir hört. :+1: