Stefan Unterweger wrote:
> Hello!
> 
> I have noticed a rather curious behaviour of ntpd on startup. I
> recently started setting the '-s' option to ntpd in rc.conf.local
> on my machines. The sloppy hardware clocks on those machines
> combined with the lack of any kind of USV often leads to several
> minutes of clock skey on reboot (they are supposed to run 24/7,
> so unless I do an upgrade every reboot is "unclean"). Some
> services depend on accurate time synchronization, so they won't
> come up again after reboot.
> 
> Thus the '-s'. As far as I understood from the manpage, it's
> supposed to set the clock immediately on invocation and store it
> back into the hardware clock, and according to my tests it just
> does that.
> 
> Unless it is supposed to to that on boot, read: when invoked from
> rc(8). Watching the console, I see that ntpd fails to stay up and
> throws up on my feet (without having set the clock, of course).
> /var/log/daemon has the following to say:
> 
> | Jun 17 07:38:26 knoedel ntpd[17639]: ntp engine ready
> | Jun 17 07:38:26 knoedel ntpd[17639]: fatal: recvfrom: Protocol not available
> | Jun 17 07:38:26 knoedel ntpd[27003]: dispatch_imsg in main: pipe closed
> 
> (I did set a bogus time into the hardware clock on purpose to see
> if this would work.)
> 
> If I issue 'ntpd -s' after boot has completed, everything runs
> fine; same thing if I run ntpd from rc.local, but somehow this
> feels unclean.
> 
> intro(2) says the following about the error message: "42
> ENOPROTOOPT Protocol not available.  A bad option or level was
> specified in a getsockopt(2) or setsockopt(2) call." But I am not
> enough of a programmer to make sense of this description.
> 
> Is this some kind of bug, or am I simply trying to do something
> that is not supposed to be done this way?

What is your network setup?
dmesg too.
any special kernel config?

/Alexander

Reply via email to