I've got a pair of systems running Chrony 4.3-2+deb12u1 (Debian Bookworm 
package) along with gpsd (built from source from the 'master' branch).

The chrony.conf file looks like this:

bindaddress 192.168.255.1
bindaddress 2001:470:8afe:255::1
bindacqaddress 192.168.86.20
bindacqaddress 2001:470:8afe:86::20

refclock SOCK /var/run/chrony.gpsd0.sock refid GPS

pool us.pool.ntp.org iburst

keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift
logdir /var/log/chrony

leapsectz right/UTC

rtcsync

makestep 0.1 3

allow all

gpsd is using /dev/gpsd0, so it finds this socket created by Chrony and feeds 
in both time and PPS, and life is good.

However, randomly, the GPS source just stops, and Chrony starts tracking one of 
the servers from us.pool.ntp.org. With the current configuration files there is 
nothing output in any logs (either for Chrony or gpsd) when this happens, but 
if I restart gpsd then I see this:

Feb 12 06:16:56 core23-a systemd[1]: Starting gpsd.service - GPS (Global 
Positioning System) Daemon...
Feb 12 06:16:56 core23-a gpsd[2349564]: gpsd:ERROR: SHM: shmget(0x47505344, 
29416, 0666) SHM export failed: Invalid argument(22)
Feb 12 06:16:56 core23-a systemd[1]: Started gpsd.service - GPS (Global 
Positioning System) Daemon.

The only fix is to restart Chrony as well, and then gpsd restarts, reconnects, 
and Chrony starts receiving data again.

What can I do to figure what may be causing this? Is it safe/wise to run 
chronyd in 'production' mode with "-L 2"? This situation only occurs about once 
per week across the two machines, so I'll have to run with logging enabled for 
quite some time to catch it.

Reply via email to