FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Kersten am 17 Februar 2020, 15:45:05

Titel: BlockingCall crashed
Beitrag von: Kersten am 17 Februar 2020, 15:45:05
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; }
Titel: Antw:BlockingCall crashed
Beitrag von: CoolTux am 17 Februar 2020, 15:51:58
Welche Logausgaben stehen denn im Logfile von FHEM?
Titel: Antw:BlockingCall crashed
Beitrag von: rudolfkoenig am 17 Februar 2020, 16:04:40
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?
Titel: Antw:BlockingCall crashed
Beitrag von: CoolTux am 17 Februar 2020, 16:15:26
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.
Titel: Antw:BlockingCall crashed
Beitrag von: rudolfkoenig am 17 Februar 2020, 16:28:40
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) }.
Titel: Antw:BlockingCall crashed
Beitrag von: CoolTux am 17 Februar 2020, 16:31:02
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