Problem mit SIP

Hi,
irgendwas stimmt mit dem SIP Modul nicht …? Es wunderte mich, dass ich das Tor nicht mehr öffnen konnte und als ich in den PHP Info schaute, hatte ich einen ziemlichen „Rückstau“.

Warum werden die Threads nicht gekillt?

Das Script ist das hier: IP-Symcon mit VoIP/SIP Support - Seite 20

Habe ich da noch einen Timeout oder so vergessen? Symcon ist ein 5.4.

Grüße

Enno

Kannst du herausfinden an welcher Stelle das Skript hängt? Das sieht ja nicht wirklich nach Potential für Endlosschleife aus, daher vermute ich mal eine der verwendeten Funktionen unter bestimmten Umständen. Ich würde dafür temporär Infos ins Log schreiben, an welcher Stelle du gerade stehst. Dann kannst du abgleichen, welche Nachricht noch ins Log kommt und welche nicht mehr und findest darüber den Schuldigen.

Das Skript läuft meist … aber wie man sieht bleibt es manchmal stecken. Ich vermute es beim Absetzen der DTMF ist - da hing es früher bis ich das mit den Timern gefunden hatte.

Also irgendwie hängt sich IPS noch immer weg. Das Script oder die Funktion gehen 2, 3 mal … oder 4 … irgendwann kommt anscheinend keine Rückmeldung und das Teil hängt.

Mein Gefühl ist, dass es hiermit zu tun hat … for($i = 0; $i < 10; $i++) { … am Anfang hatte ich hier <4 und da hing es anscheinend schneller … doofe Frage: Wofür brauche ich denn diese Schleife und was ist die Auswirkung wenn ich hier auf z.B. 20 gehe?

Auf welcher Plattform bist du mit deinem IP-Symcon unterwegs?

Symbox- aktuelle 5.4 stable

Kannst du dies einmal probieren? Debugging für Experten (Raspberry Pi, Linux, SymBox)

Jedoch wird kein Absturz passieren - sondern wenn du einige der roten PHP Threads hast, willst du STRG + C drücken, damit der Debugger pausiert. Dann kannst du die Liste der Threads in die gdb.txt schreiben.

paresy

@paresy: Also debugging läuft seit 2 Tagen … seit dem läuft SIP ohne Probleme!!!

Mal eine Frage - läuft dann nicht irgendwann der Speicher zu oder ist dieses Advanced logging anders aufgesetzt - also macht nicht die Festplatte oder den Speicher voll?

Nein - das Debugging sollte nichts dauerhaft mitloggen und somit keine Probleme verursachen. Es ist aber vollkommen normal, dass solche Effekte bei aktivem Debugger gerne gar nicht kommen oder länger dauern. Und so doof es klingt… Diese sogenannten Race Conditions lassen sich insgesamt eher doof analysieren/finde :slight_smile:

Deswegen gibt es in der Anleitung eine Option 2. Starte IP-Symcon ohne Debugger. Lass es laufen bis der Fehler kommt und attache dann den Debugger :slight_smile:

paresy

Für mich nochmal zum Verständnis … wenn ich das Debugging „zuschalte“, dann macht es einen Abzug vom aktuellen Stand? Es muss also nicht mitlaufen um diesen zu bekommen?

Wenn das so ist, macht die Sache auch einfacher.

So … SIP ist wieder hängen geblieben. Anbei die GDB.TXT

gdb.txt (23.8 KB)

Hi, konnte sich die Datei mal jemand ansehen?

Ja, ich habe reingesehen, aber scheinbar fehlen an den relevanten Stellen die Debug Informationen. Ich werde dir wahrscheinlich eine andere Debug Version zukommen lassen, in der mehr Debug Informationen enthalten sind. Ich hatte aber noch keine Zeit diese vorzubereiten :frowning:

paresy

Magst du die aktuelle 5.5 mal testen? Dort haben wir ein passendes Problem gelöst.

paresy