StdReport thread has been terminated every day at 00:20 (1927, 'Connection was killed')

43 views
Skip to first unread message

Geni

unread,
Dec 31, 2019, 5:01:10 AM12/31/19
to weewx-user
Hello,
Since I replaced the Raspberry PI 2 with a Raspberry PI 3+ this problem occurs every night, before only sporadically.
In use:
Raspberry 3+ mit Raspbian Buster Lite
Externe SqlDB (MariaDB 10)
David Vantage Pro2 Version: 3.83
Weewx 3.9.2-1

Every night at exactly 00:20, it stops. The report at 00:10 is still made
debug-log:
Dec 31 00:10:55 Wetter-Raspi weewx[889]: reportengine: Report 'RSYNC' not enabled. Skipping.
Dec 31 00:17:15 Wetter-Raspi weewx[889]: vantage: Requesting 200 LOOP packets.
Dec 31 00:17:15 Wetter-Raspi weewx[889]: vantage: Gentle wake up of console successful
Dec 31 00:20:01 Wetter-Raspi weewx[889]: engine: StdReport thread has been terminated
Dec 31 07:44:10 Wetter-Raspi weewx[3001]: engine: Debug is 1
Dec 31 07:44:10 Wetter-Raspi weewx[3001]: engine: Initializing engine
Dec 31 07:44:10 Wetter-Raspi weewx[3001]: vantage: Driver version is 3.1.1
Dec 31 07:44:10 Wetter-Raspi weewx[3001]: vantage: Opened up serial port /dev/ttyUSB0; baud 19200; timeout 4.00
Dec 31 07:44:10 Wetter-Raspi weewx[3001]: vantage: Gentle wake up of console successful
Dec 31 07:44:10 Wetter-Raspi weewx[3001]: vantage: Hardware type is 16
Dec 31 07:44:11 Wetter-Raspi weewx[3001]: vantage: ISS ID is 1
Dec 31 07:44:11 Wetter-Raspi weewx[3001]: vantage: Hardware name: Vantage Pro2
 
syslog:
Dec 31 00:17:01 Wetter-Raspi CRON[1919]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Dec 31 00:17:15 Wetter-Raspi weewx[889]: vantage: Requesting 200 LOOP packets.
Dec 31 00:17:15 Wetter-Raspi weewx[889]: vantage: Gentle wake up of console successful
Dec 31 00:20:01 Wetter-Raspi weewx[889]: engine: Main loop exiting. Shutting engine down.
Dec 31 00:20:01 Wetter-Raspi weewx[889]: engine: Shutting down StdReport thread
Dec 31 00:20:01 Wetter-Raspi weewx[889]: engine: StdReport thread has been terminated
Dec 31 00:20:01 Wetter-Raspi weewx[889]: engine: Caught unrecoverable exception in engine:
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****  (1927, 'Connection was killed')
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****  Traceback (most recent call last):
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/engine.py", line 894, in main
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      engine.run()
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/engine.py", line 191, in run
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet))
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/engine.py", line 224, in dispatchEvent
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      callback(event)
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/wxservices.py", line 45, in new_loop_packet
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      self.calc.do_calculations(event.packet, 'loop')
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/wxservices.py", line 191, in do_calculations
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      getattr(self, 'calc_' + obs)(data_us, data_type)
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/wxservices.py", line 228, in calc_pressure
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      data['dateTime'], interval)
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/wxservices.py", line 404, in _get_temperature_12h
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      record = dbmanager.getRecord(ts12, max_delta=self.max_delta_12h)
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weewx/manager.py", line 370, in getRecord
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      (time_start_ts, time_stop_ts, timestamp))
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****    File "/usr/share/weewx/weedb/mysql.py", line 49, in guarded_fn
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****      raise klass(e)
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****  DatabaseError: (1927, 'Connection was killed')
Dec 31 00:20:01 Wetter-Raspi weewx[889]:     ****  Exiting.
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: bits received from HRNG source: 320064
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: bits sent to kernel pool: 274848
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: entropy added to kernel pool: 274848
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2 successes: 16
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2 failures: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2(2001-10-10) Monobit: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2(2001-10-10) Poker: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2(2001-10-10) Runs: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2(2001-10-10) Long run: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: HRNG source speed: (min=742.464; avg=808.940; max=986.277)Kibits/s
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: FIPS tests speed: (min=6.539; avg=7.855; max=16.600)Mibits/s
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: Lowest ready-buffers level: 2
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: Entropy starvations: 0
Dec 31 00:22:34 Wetter-Raspi rngd[312]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us
Dec 31 01:17:01 Wetter-Raspi CRON[2044]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Dec 31 01:22:34 Wetter-Raspi rngd[312]: stats: bits received from HRNG source: 360064
Dec 31 01:22:34 Wetter-Raspi rngd[312]: stats: bits sent to kernel pool: 304608


One attempt is made every hour until the service is restarted. ( sudo /etc/init.d/weewx restart)
CRON[2044]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)01:17:01

what's the problem there?
 
Thanks, Geni
 

Thomas Keffer

unread,
Dec 31, 2019, 7:32:59 AM12/31/19
to weewx-user
Thanks, Geni

Error code 1927 seems to be a MariaDB-specific code, that WeeWX was not ready for, so it didn't know how to recover. I have added it, but it won't appear until WeeWX V4. 

As for why it happened, perhaps there is something in /etc/cron.hourly that caused the server to be taken offline? 

Unless you have a good reason to use MariaDB, you're usually better off using sqlite. It's actually more reliable.

-tk


--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/91d3ccba-0f65-44df-8a68-28b8f2de0c7f%40googlegroups.com.

Geni

unread,
Jan 1, 2020, 3:21:16 AM1/1/20
to weewx-user
Hi, Thomas.
The hint that the error code 1927 comes from MariaDB, I knew immediately where to look for it!
Now at this time a hyperbackup job is running on my synologe which also contained the application MariaDB, I have removed it and this night no error messages.

Summary:
The backup stops the database service for a short moment and if that's exactly when Weewx wants to access it, it won't work.
My suggestion would be if weewx doesn't get a database connection it will wait for the next interval but without killing the process.
In my case this would be 1 or 2 intervals and then the missing records would be read in and nobody would notice anything.

Regards
Geni

PS: This error occurred very rarely with the Raspberry PI2?

Andrew Milner

unread,
Jan 1, 2020, 3:29:50 AM1/1/20
to weewx-user
or you could stop weewx for the hyperbackup period and resume when it is complete.  weewx will then do 'catchup' from loggers and all should be tickety-boo .....

Geni

unread,
Jan 1, 2020, 4:28:04 AM1/1/20
to weewx-user
Hyperbackup runs on my synology and weewx on a Raspberry, so Hyperbackup can't stop and start weewx!
I think it's better if weewx is fault tolerant, Snology is rebooted occasionally during updates, then there is no database connection, the HTML_ROOT is offline and the FTP path is not found.

Thomas Keffer

unread,
Jan 1, 2020, 7:15:48 AM1/1/20
to weewx-user
With the changes, WeeWX will wait 60 seconds, then restart from the top. If your backup takes 10 minutes, then it will keep retrying 10 times until it succeeds.

--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages