Noch immer kann ich z.B. den Client-Socket nicht schließen.
Log meldet: Einstellungen gespeichert und Schließe Socket…
Die Console reagiert dabei gar nicht mehr und muss beendet werden.
Shutdown vom Dienst geht auch nicht und Client Socket löschen auch nicht
Sollte doch schon vor einigen Versionen gelößt sein ?
Update:
Vermutich passiert das nur, wenn die Instanz per Skript geschlossen wird.
Ist PHP hier eventuell zu ‚schnell‘. So dass das ApplyChanges sind mit dem SetProperty überschneidet ?
Gerde sehr mühselig das zu testen, da dannach die Instanz bis zum IPS neustart nicht zu verwenden ist.
Update 2:
Mit einer 2 Sekunden Pause beim schließen, hat es jetzt 3 mal hintereinander funktioniert und dann war wieder vorbei
Korrekt,
aber da werden dann auch keine Daten gesendet und empfangen.
Im APCUPSD-Skript wird der Socket geöffnet und die Abfrage gesendet und nach 1 Sekunde wieder geschlossen (1. PHP-Thread per Execute oder Timer).
Die in der Zwischenzeit empfangenen Daten werden per RegVar im Script abgearbeitet (2. PHP-Thread per RegVar).
Allerdings ‚hängt‘ der 1. Thread beim schließen.
Eventuell noch Daten im Clientsocket welche das Schließen desselben verhindern ?
Werden keine Daten gesendet, läuft das Script fehlerfrei durch beim öffnen und schließen des Socket.
Auch ohne jede Pause dazwischen und sogar wenn es 10mal direkt hintereinander läuft.
Leider noch nicht behoben.
Werden Daten von einem Socket an eine Instanz von einem PHP-Modul weitergeleitet und diese Instanz wirft eine Exception, kann der Socket nicht mehr korrekt geschlossen und neu geöffnet werden.
Tritt auch auf, wenn ein Modul ein Update bekommt.
Manchmal hängt IPS dann mit den Daten im/zum Socket in der ‚Luft‘.
Verstehe gerade aber die Meldung auch nicht wirklich.
Zeile 871 ist zwar die SendToParent-Methode aber… warum ‚Kann Daten nicht zur Instanz…‘
Nach einen Neustart wieder alles ok
22:42:14 | 16510 | Client Socket | Einstellungen gespeichert
22:42:14 | 16510 | Client Socket | Schließe Socket...
22:42:14 | 54186 | FlowHandler | Kann Daten nicht zur Instanz #54186: <br />
<b>Warning</b>: Kann für die Instanz #54186 die Schnittstelle nicht finden in <b>/usr/share/symcon/modules/SqueezeBox/SqueezeBoxDevice/module.php</b> on line <b>871</b><br />
<br />
<b>Warning</b>: Kann für die Instanz #54186 die Schnittstelle nicht finden in <b>/usr/share/symcon/modules/SqueezeBox/SqueezeBoxDevice/module.php</b> on line <b>871</b><br />
Die Übersetzung ist doof. Wahrscheinlich ist die Instanz nach dem Update nicht korrekt „erstellt“ worden, sodass diese im Baum dunkelrot ist. Werde ich mir ansehen.