Hallo Zusammen,
Mein Fhem stürzt dauernd ab:
Fehler:
Deep recursion on subroutine "main::PrintHashJson" at ./FHEM/98_JsonList.pm line 91.
Kann das an zu vielen JSON Abfragen liegen? Das müssten 12 Stück alle 10 Sekunden sein. Sollte doch kein Problem sein oder?
Abfrage :
http://192.168.1.102:8083/fhem?cmd=jsonlist (//192.168.1.102:8083/fhem?cmd=jsonlist) Device&XHR=1
Gruß & Danke
edit:
Ich glaube fhem hat da ein leichtes Problem mit RAM und CPU:)
root@raspberrypi:/opt/fhem# ps aux | grep fhem
root 2711 40.8 93.2 495144 418840 pts/0 R 21:41 0:31 perl fhem.pl fhem.cfg
root 2725 0.7 0.1 4136 848 pts/0 S+ 21:42 0:00 grep fhem
edit2:
Ich habe die Ursache gefunden:
Wenn ich http://192.168.1.102:8083/fhem?cmd=jsonlist%20Handy_Daniel&XHR=1 (//192.168.1.102:8083/fhem?cmd=jsonlist%20Handy_Daniel&XHR=1) einige Male aufrufe
kommt der Fehler:
Deep recursion on subroutine "main::PrintHashJson" at ./FHEM/98_JsonList.pm line 91.
Anschließend füllt FHEM den RAM, bis dieser verbraucht ist und stützt daraufhin ab.
Handy_Daniel ist ein PRESENCE Device:
define Handy_Daniel PRESENCE lan-ping 192.168.1.100 30
Ist das ein Bug?
JSON von Handy_Daniel
{
"ResultSet": {
"Results": {
"ADDRESS": "192.168.1.100",
"ATTRIBUTES": {
"null": "null"
},
"CFGFN": "fhem_anwesenheit.cfg",
"DEF": "lan-ping 192.168.1.100 30",
"MODE": "lan-ping",
"NAME": "Handy_Daniel",
"NR": "78",
"NTFY_TRIGGERTIME": "2013-06-09 22:33:36",
"READINGS": {
"state": {
"TIME": "2013-06-09 22:33:36",
"VAL": "present"
}
},
"STATE": "present",
"TIMEOUT_NORMAL": "30",
"TIMEOUT_PRESENT": "30",
"TYPE": "PRESENCE",
"helper": {
"null": "null"
}
}
}
}
Eigentliche muesste Martin (Maintainer von diesem Modul) diese Frage beantworten, er schreibt aber seit laengerem keine Artikel mehr in diesem Forum (wieso nicht? Martin, wir vermissen Dich :) )
Ich habe das Modul deswegen jetzt selbst angefasst und Endlos-Rekursions-Schutz eingebaut.