NTP users are strongly urged to take immediate action to ensure that their NTP daemons are not susceptible to being used in distributed denial-of-service (DDoS) attacks. Please also take this opportunity to defeat denial-of-service attacks by implementing Ingress and Egress filtering through BCP38.

ntp-4.2.8p18 was released on 25 May 2024 and addresses 40 bugs and provides 40 improvements.

Please see the NTP 4.2.8p18 Changelog for details.

Bug 1130 - ntpd does not give helpful exist message of clock drift greater then 16 minutes
Summary: ntpd does not give helpful exist message of clock drift greater then 16 minutes
Status: CONFIRMED
Alias: None
Product: ntp
Classification: Unclassified
Component: ntpd (show other bugs)
Version: 4.2.4
Hardware: PC Linux
: P4 minor
Assignee: Harlan Stenn
URL:
Depends on:
Blocks:
 
Reported: 2009-02-11 14:49 UTC by Matt Darcy
Modified: 2012-08-07 04:24 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Darcy 2009-02-11 14:49:04 UTC
when using ntpd 4.2.4 on Fedora 9 Linux platform on x86_64 architechture, I
experienced a situation where one of my servers clocks drifted by 30 minutes.

Upon trying to restart ntp, ntp would die without any on screen warning, or log
warning.

Only through a helpful reminder from another user did I remember the 16 minute
drift limit. It would be helpful if a message could be displaced in this exit
condtition "warning clock drift over 16 minutes, cannot start ntpd die" or "ntpd
drift greater than max limit, use -g option and restart" somthing informative
that at least gives the reason it is refusing to start.

The answer is obvious in the man page, but without being aware of the reason it
is not easy to find.
Comment 1 Danny Mayer 2009-02-15 02:27:37 UTC
Yes this should be fixed by adding a message to the syslog. I'd have to find out
where it exits.

Danny
Comment 2 Dave Hart 2009-02-15 20:40:14 UTC
ntp_proto.c:

	switch (local_clock(peer, epoch, sys_offset)) {

	/*
	 * Clock exceeds panic threshold. Life as we know it ends.
	 */
	case -1:
#ifdef HAVE_LIBSCF_H
		/*
		 * For Solaris enter the maintenance mode.
		 */
		if ((fmri = getenv("SMF_FMRI")) != NULL) {
			if (smf_maintain_instance(fmri, 0) < 0) {
				printf("smf_maintain_instance: %s\n",
				    scf_strerror(scf_error()));
				exit(1);
			}
			/*
			 * Sleep until SMF kills us.
			 */
			for (;;)
				pause();
		}
#endif /* HAVE_LIBSCF_H */
		exit (-1);
Comment 3 Harlan Stenn 2012-08-07 04:24:37 UTC
That code fragment still does not contain a log message.

Dave Hart, are you up for taking this one (ntp_proto.c)?