On Wed, Nov 22, 2017 at 02:03:17PM +0700, Gerriet M. Denkmann wrote:
> macOS 13.1, chrony 3.2.
> 
> I modified check_current_time() in sched.c:
>     LOG(LOGS_WARN, "Forward time jump detected! %4ld sec”, raw->tv_sec - 
> (prev_raw->tv_sec + elapsed_max.tv_sec) );
> 
> After the computer has been sleeping for some time (since about 10:10), I saw:

The computer has woken up only once and there are multiple messages
saying the clock jumped forward? That is weird. Any chance the new
timed daemon is interfering with the clock? There was a post on the
-users list how it can be disabled.

> default       10:50:27.870498 +0700   chronyd Forward time jump detected! 
> 2515 sec
> default       11:03:37.562446 +0700   chronyd Forward time jump detected!  
> 726 sec
> default       11:13:09.089973 +0700   chronyd Forward time jump detected!  
> 509 sec
> default       11:24:47.813544 +0700   chronyd Forward time jump detected!  
> 634 sec
> default       11:48:42.549234 +0700   chronyd Forward time jump detected! 
> 1370 sec
> default       11:59:14.299004 +0700   chronyd Forward time jump detected!  
> 568 sec
> default       12:07:12.278786 +0700   chronyd Forward time jump detected!  
> 414 sec
> default       12:15:39.292438 +0700   chronyd Forward time jump detected!  
> 443 sec
> default       12:22:41.193034 +0700   chronyd Forward time jump detected!  
> 421 sec
> default       12:38:12.883794 +0700   chronyd Forward time jump detected!  
> 869 sec
> default       12:53:20.946749 +0700   chronyd Forward time jump detected!  
> 844 sec
> default       13:01:26.979030 +0700   chronyd Forward time jump detected!  
> 422 sec
> default       13:11:23.024359 +0700   chronyd Forward time jump detected!  
> 590 sec
> default       13:15:12.492138 +0700   chronyd Forward time jump detected!  
> 173 sec
> 
> Should I be worried about these erratic (and difficult to believe) jumps?
> Should check_current_time() really run while the computer is (or should be) 
> sleeping?

chronyd needs to throw away all data when the system clock was stepped
or adjusted by something outside of chronyd, e.g. reinitialized from
the RTC after a suspent/resume cycle. Comparing the timestamps taken
before and after select() is one (although not completely reliable)
way to detect that.

-- 
Miroslav Lichvar

-- 
To unsubscribe email chrony-dev-requ...@chrony.tuxfamily.org with "unsubscribe" 
in the subject.
For help email chrony-dev-requ...@chrony.tuxfamily.org with "help" in the 
subject.
Trouble?  Email listmas...@chrony.tuxfamily.org.

Reply via email to