grebleem / weewx-weatherlinkliveudp

Weewx Driver with UDP
6 stars 4 forks source link

Sudden crash when WLL-device is in disorder #19

Closed hoevenvd closed 3 years ago

hoevenvd commented 3 years ago

Driver crashed suddenly. In the log there's no clear reason. I run this driver in my production environment. A similar driver (from Drealine) is running in my development-environment, and crashed at the same time and with the same error report. So, there must be something. with my WLL-device at that particular time, that caused this driver (ant the driver from Drealine) to crash (and was not properly caught as an exception).

Oct 5 20:10:50 weewx weewx[975] INFO weewx.restx: MQTT: Published record 2020-10-05 20:10:49 CEST (1601921449) Oct 5 20:10:50 weewx weewx[975] INFO weewx.restx: Wunderground-RF: Published record 2020-10-05 20:10:49 CEST (1601921449) Oct 5 20:10:52 weewx weewx[975] INFO weewx.restx: MQTT: Published record 2020-10-05 20:10:52 CEST (1601921452) Oct 5 20:10:52 weewx weewx[975] INFO weewx.restx: Wunderground-RF: Published record 2020-10-05 20:10:52 CEST (1601921452) Oct 5 20:10:53 weewx weewx[975] INFO weewx.engine: Main loop exiting. Shutting engine down. Oct 5 20:10:53 weewx weewx[975] INFO weewx.engine: Shutting down StdReport thread Oct 5 20:10:53 weewx weewx[975] CRITICAL main: Caught unrecoverable exception: Oct 5 20:10:53 weewx weewx[975] CRITICAL main: Expecting value: line 1 column 1 (char 0) Oct 5 20:10:53 weewx weewx[975] CRITICAL main: Traceback (most recent call last): Oct 5 20:10:53 weewx weewx[975] CRITICAL main: File "/usr/share/weewx/weewxd", line 154, in main Oct 5 20:10:53 weewx weewx[975] CRITICAL main: engine.run() Oct 5 20:10:53 weewx weewx[975] CRITICAL main: File "/usr/share/weewx/weewx/engine.py", line 188, in run Oct 5 20:10:53 weewx weewx[975] CRITICAL main: for packet in self.console.genLoopPackets(): Oct 5 20:10:53 weewx weewx[975] CRITICAL main: File "/usr/share/weewx/user/weatherlinkliveudp.py", line 453, in genLoopPackets Oct 5 20:10:53 weewx weewx[975] CRITICAL main: UDP_data = json.loads(data.decode("utf-8")) Oct 5 20:10:53 weewx weewx[975] CRITICAL main: File "/usr/lib/python3.8/json/init.py", line 357, in loads Oct 5 20:10:53 weewx weewx[975] CRITICAL main: return _default_decoder.decode(s) Oct 5 20:10:53 weewx weewx[975] CRITICAL main: File "/usr/lib/python3.8/json/decoder.py", line 337, in decode Oct 5 20:10:53 weewx weewx[975] CRITICAL main: obj, end = self.raw_decode(s, idx=_w(s, 0).end()) Oct 5 20:10:53 weewx weewx[975] CRITICAL main: File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode Oct 5 20:10:53 weewx weewx[975] CRITICAL main: raise JSONDecodeError("Expecting value", s, err.value) from None Oct 5 20:10:53 weewx weewx[975] CRITICAL main: json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) Oct 5 20:10:53 weewx weewx[975] CRITICAL main: Exiting. Oct 5 20:10:53 weewx systemd[1]: Starting Process error reports when automatic reporting is enabled...

grebleem commented 3 years ago

please Checkout this branch: https://github.com/grebleem/weewx-weatherlinkliveudp/tree/bugfix_september20

In this version a error catch is introduced to catch faulty JSON files.

hoevenvd commented 3 years ago

Thx. Running the 20-09 bugfix right now. Will tell how it goes

grebleem commented 3 years ago

Fixed in v0.2.9.