BlockingCall crashed

Begonnen von Kersten, 17 Februar 2020, 15:45:05

Vorheriges Thema - Nächstes Thema

Kersten

Hallo Forum,

ich möchte über BlockingCall einige Funktionen auslagern.
Leider funktioniert schon das Beispiel nicht.
Immer wenn ich z.B. { TestBlocking(3) } aufrufe kommt in der Weboberfläche: HASH(0x5595a28e7c80)
Im log File sind alle Einträge entstanden.

Hat Jemand eine Idee was ich überprüfen kann?

Danke
Kersten



Beispiel:
sub TestBlocking($){ BlockingCall("DoSleep", shift, "SleepDone", 5, "AbortFn", "AbortArg"); }
sub DoSleep($)     { sleep(shift); return "I'm done"; }
sub SleepDone($)   { Log 1, "SleepDone: " . shift; }
sub AbortFn($)     { Log 1, "Aborted: " . shift; }

CoolTux

Welche Logausgaben stehen denn im Logfile von FHEM?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

ZitatLeider funktioniert schon das Beispiel nicht.
[...]
Im log File sind alle Einträge entstanden.
Klingt fuer mich nach Widerspruch.

ZitatImmer wenn ich z.B. { TestBlocking(3) } aufrufe kommt in der Weboberfläche: HASH(0x5595a28e7c80)
Bei mir auch. BlockingCall liefert ein Hash zurueck.

Ist der Betreff absichtlich als Clickbait formuliert, damit der Maintainer schneller springt?

CoolTux

Die Frage ist ja was er mit alle Ausgaben meint. Zu mindest die Abort dürfte nicht drin stehen wenn alles klappt.
Eine etwas genauere Fehlerangabe und was der User genau erwartet hätte und was dann kam wäre nicht schlecht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Bei meinem Test steht Folgendes im Log:
Zitat2020.02.17 16:01:36 1: SleepDone: I'm done
2020.02.17 16:01:51 1: Timeout for DoSleep reached, terminated process 96050
2020.02.17 16:01:51 1: Aborted: AbortArg
Die erste Zeile bei { TestBlocking(3) }, die letzten beiden bei { TestBlocking(7) }.

CoolTux

Zitat von: rudolfkoenig am 17 Februar 2020, 16:28:40
Bei meinem Test steht Folgendes im Log:Die erste Zeile bei { TestBlocking(3) }, die letzten beiden bei { TestBlocking(7) }.

Macht Sinn! Der BlockingCall selber soll ja nur 5s warten  :)
Hast mich überzeugt  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net