Thanks. Commit ac1ab83 <https://github.com/weewx/weewx/commit/ac1ab83cd4a2af105ec469d9b186ec4b1d0469fa>
-tk On Mon, Jan 20, 2020 at 3:48 PM Jaap de Munck <[email protected]> wrote: > It's only running since the beginning of 2020 ... (Ubuntu 19.10 was only > released October 17.) > > This is what I found: https://launchpad.net/ubuntu/+source/systemd > > Version can be seen with: > systemctl --version > > About the change to the startup type handling:: > It's found in > -Ubuntu 19.10 (systemd 242) > -Debian 10.2 (systemd 241) > But not in > -Ubuntu 19.04 (systemd 240) > > //Jaap > > > > Op maandag 20 januari 2020 23:40:01 UTC+1 schreef Thomas Keffer: >> >> Thanks, Jaap, for some great sleuthing! >> >> Do you know if this a recent change in Ubuntu 19.10? >> >> I've been using systemd for quite some time and have not seen this before. >> >> -tk >> >> On Mon, Jan 20, 2020 at 9:07 AM Jaap de Munck <[email protected]> wrote: >> >>> Hi >>> >>> Been trying to get Weewx running on Ubuntu 19.10 but problems... >>> >>> This how it looks (directly after weewx is started). >>> >>> m@ubuntu1910n:~$ sudo systemctl status weewx >>> ● weewx.service - weewx weather system >>> Loaded: loaded (/etc/systemd/system/weewx.service; enabled; vendor >>> preset: en >>> Active: deactivating (stop-sigterm) since Tue 2020-01-14 00:08:18 >>> CET; 1s ago >>> Process: 10656 ExecStart=/home/weewx/bin/weewxd --daemon >>> --pidfile=/var/run/we >>> Main PID: 10656 (code=exited, status=0/SUCCESS) >>> Tasks: 1 (limit: 1435) >>> Memory: 8.7M >>> CGroup: /system.slice/weewx.service >>> └─10670 /usr/bin/python3 /home/weewx/bin/weewxd --daemon >>> --pidfile=/v >>> >>> jan 14 00:08:18 ubuntu1910n weewxd[10656]: weewx[10656] INFO >>> weewx.engine: Using >>> [GCC 9.2.1 20191008] >>> jan 14 00:08:18 ubuntu1910n weewxd[10656]: weewx[10656] INFO >>> weewx.engine: Platf >>> jan 14 00:08:18 ubuntu1910n weewxd[10656]: weewx[10656] INFO >>> weewx.engine: Local: >>> Jan 14 00:08:18 ubuntu1910n systemd[1]: Started weewx weather system. >>> Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Initializing >>> weewx version 4.0.0b8 >>> Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Using Python >>> 3.7.5 (default, Nov 20 2019, 09:21:52) #012[GCC 9.2.1 20191008] >>> Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Platform >>> Linux-5.3.0-26-generic-x86_64-with-Ubuntu-19.10-eoan >>> Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Locale is >>> 'LC_CTYPE=en_US.UTF-8;LC_NUMERIC=nl_NL.UTF-8;LC_TIME=nl_NL.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=nl_NL.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=nl_NL.UTF-8;LC_NAME=nl_NL.UTF-8;LC_ADDRESS=nl_NL.UTF-8;LC_TELEPHONE=nl_NL.UTF-8;LC_MEASUREMENT=nl_NL.UTF-8;LC_IDENTIFICATION=nl_NL.UTF-8' >>> Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: PID file is >>> /var/run/weewx.pid >>> Jan 14 00:08:18 ubuntu1910n weewx[10670] INFO weewx.engine: Using >>> configuration file /home/weewx/weewx.conf >>> Jan 14 00:08:18 ubuntu1910n weewx[10670] DEBUG weewx.engine: Debug is 1 >>> Jan 14 00:08:18 ubuntu1910n weewx[10670] DEBUG weewx.engine: >>> Initializing engine >>> Jan 14 00:08:18 ubuntu1910n weewx[10670] INFO weewx.engine: Loading >>> station type Vantage (weewx.drivers.vantage) >>> ... >>> Weewx is running (that seems ok). But then... >>> ... >>> Jan 14 00:08:29 ubuntu1910n weewx[10670] INFO weewx.engine: Using >>> binding 'wx_binding' to database 'weewx' >>> Jan 14 00:08:29 ubuntu1910n weewx[10670] INFO weewx.manager: Starting >>> backfill of daily summaries >>> Jan 14 00:08:29 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: >>> Getting archive packets since 2020-01-14 00:00:00 CET (1578956400) >>> Jan 14 00:08:30 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: >>> Gentle wake up of console successful >>> Jan 14 00:08:31 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: >>> Retrieving 0 page(s); starting index= 0 >>> Jan 14 00:08:31 ubuntu1910n weewx[10670] INFO weewx.engine: Starting >>> main packet loop. >>> Jan 14 00:08:32 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: >>> Gentle wake up of console successful >>> Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: >>> Requesting 200 LOOP packets. >>> Jan 14 00:08:33 ubuntu1910n weewx[10670] INFO weewx.engine: Received >>> signal TERM (15). >>> Jan 14 00:08:33 ubuntu1910n weewx[10670] INFO weewx.engine: Main loop >>> exiting. Shutting engine down. >>> Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.restx: Shut down >>> WOW thread. >>> Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.restx: Shut down >>> Wunderground-PWS thread. >>> Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.restx: Shut down >>> StationRegistry thread. >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: Terminating >>> weewx version 4.0.0b8 >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> Traceback (most recent call last): >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/engine.py", line 903, in main >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** engine.run() >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/engine.py", line 194, in run >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** for packet in self.console.genLoopPackets(): >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/drivers/vantage.py", line 534, in genLoopPackets >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** for _loop_packet in self.genDavisLoopPackets(200): >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/drivers/vantage.py", line 554, in >>> genDavisLoopPackets >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** self.port.wakeup_console(self.max_tries) >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/drivers/vantage.py", line 96, in wakeup_console >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** self.write(b'\n') >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/drivers/vantage.py", line 422, in write >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** time.sleep(self.tcp_send_delay) >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> File "/home/weewx/bin/weewx/engine.py", line 823, in sigTERMhandler >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: >>> **** raise Terminate >>> Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: **** >>> weewx.engine.Terminate >>> Jan 14 00:08:34 ubuntu1910n systemd[1]: weewx.service: Succeeded. >>> >>> Seems we are using the wrong startup type in the unit configuration file >>> for the systemd. We should be using forking. >>> https://www.freedesktop.org/software/systemd/man/systemd.service.html >>> >>> >>> *"If set to simple, the service manager will consider the unit started >>> immediately after the main service process has been forked off. It is >>> expected that the process configured with ExecStart= is the main process of >>> the service.""If set to forking, it is expected that the process configured >>> with ExecStart= will call fork() as part of its start-up. The parent >>> process is expected to exit when start-up is complete and all communication >>> channels are set up. The child continues to run as the main service >>> process, and the service manager will consider the unit started when the >>> parent process exits."* >>> weewx.service (in /etc/systemd/system) >>> >>> # systemd configuration for weewx >>> >>> [Unit] >>> Description=weewx weather system >>> Requires=time-sync.target >>> After=time-sync.target >>> RequiresMountsFor=/home >>> >>> [Service] >>> #ExecStart=/home/weewx/bin/weewxd --daemon --pidfile=/var/run/weewx.pid >>> /home/weewx/weewx.conf >>> ExecStart=/home/weewx/bin/weewxd --daemon --pidfile=/run/weewx.pid >>> /home/weewx/weewx.conf >>> ExecReload=/bin/kill -HUP $MAINPID >>> #Type=simple >>> Type=forking >>> #PIDFile=/var/run/weewx.pid >>> PIDFile=/run/weewx.pid >>> #User=weewx >>> #Group=weewx >>> >>> [Install] >>> WantedBy=multi-user.target >>> >>> About the PIDFile path: *"The path specified typically points to a file >>> below /run/.*" This behouvior is changed since systemd 240. A warning >>> is issued otherwise: >>> *"Line references path below legacy directory /var/run/, updating >>> /var/run/weewx.pid → /run/weewx.pid; please update the unit file >>> accordingly."* >>> >>> Ubuntu 19.10 then works fine (also Debian10 Buster and Ubuntu 19.04). >>> >>> -- >>> 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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/weewx-user/9a6ca053-3fcf-403d-b429-9a07a2fa9427%40googlegroups.com >>> <https://groups.google.com/d/msgid/weewx-user/9a6ca053-3fcf-403d-b429-9a07a2fa9427%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/weewx-user/bd93666d-c9c8-4d01-85c0-b78465b006b6%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/bd93666d-c9c8-4d01-85c0-b78465b006b6%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEAbG8UcyJARqTtOw2hdgLg4QswQSB5zHv2EHqfMMstSiw%40mail.gmail.com.
