From joes@shasta.wstein.com  Mon Dec  8 17:00:54 1997
Received: from shasta.wstein.com (joes@shasta.wstein.com [207.173.11.132])
          by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id RAA06953
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 8 Dec 1997 17:00:47 -0800 (PST)
          (envelope-from joes@shasta.wstein.com)
Received: (from joes@localhost)
	by shasta.wstein.com (8.8.8/8.8.8) id RAA01283;
	Mon, 8 Dec 1997 17:00:42 -0800 (PST)
Message-Id: <199712090100.RAA01283@shasta.wstein.com>
Date: Mon, 8 Dec 1997 17:00:42 -0800 (PST)
From: Joseph Stein <joes@seaport.net>
Reply-To: joes@seaport.net
To: FreeBSD-gnats-submit@freebsd.org
Subject: sysctl kern.boottime is not read only<Synopsis of the problem (one line)>
X-Send-Pr-Version: 3.2

>Number:         5255
>Category:       kern
>Synopsis:       sysctl kern.boottime is not read only
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec  8 17:10:01 PST 1997
>Closed-Date:    Mon Apr 6 00:03:34 PDT 1998
>Last-Modified:  Mon Apr  6 00:04:45 PDT 1998
>Originator:     Joseph Stein
>Release:        FreeBSD 2.2.5-STABLE i386
>Organization:
>Environment:

	

>Description:

Over time, the data returned by sysctl(kern.boottime) is skewed ... for
example:

Sat Nov 29 21:36:17 PST 1997
kern.boottime: { sec = 880867830, usec = 0 } Sat Nov 29 21:30:30 1997
Sat Nov 29 22:30:00 PST 1997
kern.boottime: { sec = 880867828, usec = 733834 } Sat Nov 29 21:30:28 1997
Sat Nov 29 23:45:00 PST 1997
kern.boottime: { sec = 880867827, usec = 680276 } Sat Nov 29 21:30:27 1997
Sun Nov 30 00:45:00 PST 1997
kern.boottime: { sec = 880867826, usec = 988332 } Sat Nov 29 21:30:26 1997
Sun Nov 30 02:45:00 PST 1997
kern.boottime: { sec = 880867825, usec = 623820 } Sat Nov 29 21:30:25 1997
Sun Nov 30 03:30:00 PST 1997
kern.boottime: { sec = 880867824, usec = 945270 } Sat Nov 29 21:30:24 1997
Sun Nov 30 05:00:00 PST 1997
kern.boottime: { sec = 880867823, usec = 980113 } Sat Nov 29 21:30:23 1997
Sun Nov 30 06:45:00 PST 1997
kern.boottime: { sec = 880867822, usec = 675318 } Sat Nov 29 21:30:22 1997
Sun Nov 30 07:45:01 PST 1997
kern.boottime: { sec = 880867821, usec = 980755 } Sat Nov 29 21:30:21 1997
Sun Nov 30 09:00:01 PST 1997
kern.boottime: { sec = 880867820, usec = 955125 } Sat Nov 29 21:30:20 1997
Sun Nov 30 10:45:01 PST 1997
kern.boottime: { sec = 880867819, usec = 739823 } Sat Nov 29 21:30:19 1997
Sun Nov 30 12:15:01 PST 1997
kern.boottime: { sec = 880867818, usec = 662801 } Sat Nov 29 21:30:18 1997
Sun Nov 30 13:45:00 PST 1997
kern.boottime: { sec = 880867817, usec = 612796 } Sat Nov 29 21:30:17 1997
Sun Nov 30 14:30:01 PST 1997
kern.boottime: { sec = 880867816, usec = 971024 } Sat Nov 29 21:30:16 1997
Sun Nov 30 16:15:01 PST 1997
kern.boottime: { sec = 880867815, usec = 838620 } Sat Nov 29 21:30:15 1997
Sun Nov 30 17:30:00 PST 1997
kern.boottime: { sec = 880867814, usec = 846340 } Sat Nov 29 21:30:14 1997
Sun Nov 30 18:45:00 PST 1997
kern.boottime: { sec = 880867813, usec = 828280 } Sat Nov 29 21:30:13 1997
Sun Nov 30 20:15:01 PST 1997
kern.boottime: { sec = 880867812, usec = 732402 } Sat Nov 29 21:30:12 1997
Sun Nov 30 21:00:00 PST 1997
kern.boottime: { sec = 880867811, usec = 963056 } Sat Nov 29 21:30:11 1997
Sun Nov 30 22:45:01 PST 1997
kern.boottime: { sec = 880867810, usec = 828541 } Sat Nov 29 21:30:10 1997
Sun Nov 30 23:45:02 PST 1997
kern.boottime: { sec = 880867811, usec = 120666 } Sat Nov 29 21:30:11 1997
Mon Dec  1 00:15:00 PST 1997
kern.boottime: { sec = 880867810, usec = 845909 } Sat Nov 29 21:30:10 1997
Mon Dec  1 01:30:00 PST 1997
kern.boottime: { sec = 880867809, usec = 708468 } Sat Nov 29 21:30:09 1997
Mon Dec  1 02:30:00 PST 1997
kern.boottime: { sec = 880867808, usec = 897544 } Sat Nov 29 21:30:08 1997
Mon Dec  1 03:45:01 PST 1997
kern.boottime: { sec = 880867807, usec = 930504 } Sat Nov 29 21:30:07 1997
Mon Dec  1 05:15:00 PST 1997
kern.boottime: { sec = 880867806, usec = 962364 } Sat Nov 29 21:30:06 1997
Mon Dec  1 06:30:00 PST 1997
kern.boottime: { sec = 880867805, usec = 959873 } Sat Nov 29 21:30:05 1997
Mon Dec  8 16:30:01 PST 1997
kern.boottime: { sec = 880867678, usec = 957445 } Sat Nov 29 21:27:58 1997
Mon Dec  8 16:45:00 PST 1997
kern.boottime: { sec = 880867678, usec = 957445 } Sat Nov 29 21:27:58 1997

more data available upon request.

I believe this to be some sort of interaction with xntpd, however, I have
not been able to find out where the skew is happening.

>How-To-Repeat:

Run a 2.2.5-STABLE kernel with xntpd.

Here is my /etc/ntp.conf file:

server 16.1.0.4
server 128.115.14.97
server 192.43.244.18
server 199.2.96.59
server 192.5.41.41
driftfile /etc/ntp.drift

>Fix:
	
	
Don't run xntpd.


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: steve 
Responsible-Changed-When: Sun Dec 14 10:43:34 PST 1997 
Responsible-Changed-Why:  
Misfiled PR. 
State-Changed-From-To: open->closed 
State-Changed-By: phk 
State-Changed-When: Mon Apr 6 00:03:34 PDT 1998 
State-Changed-Why:  
boottime has never been constant (which has nothing to do with it being 
read-only in sysctl), it is the currently best estimate of what time 
the system was booted. 
>Unformatted:
