Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Dec 1995 00:47:43 -0500
From:      "David J. Fiander" <davidf@mks.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/921: 
Message-ID:  <199512290547.AAA00447@deci.mks.com>
Resent-Message-ID: <199512300550.VAA00985@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         921
>Category:       kern
>Synopsis:       
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Dec 29 21:50:01 PST 1995
>Last-Modified:
>Originator:     David J. Fiander
>Organization:
Mortice Kern Systems, Inc.
>Release:        FreeBSD 2.1-STABLE i386
>Environment:

	

>Description:

	The user and system times returned by getrusage() stop
	working once the system has been up sufficiently long (I'm
	not sure what "sufficiently long" is, but it's on the order
	of hours or days).  When they break, they always return 0.

	I've tracked this down to the kernel function calcru().
	This breaks time(1), top(1), and the kernel status information
	returned from the extended control character ^T.

	For top(1) and the kernel status info, not only are the
	times broken, but so is the %cpu reported.

>How-To-Repeat:

	Leave the system running for a while with top running.
	Eventually the most active processes will suddenly have
	0% CPU usage.
>Fix:
	
	My guess is that the calculations in calcru() are overflowing.

>Audit-Trail:
>Unformatted:
David J. Fiander
no
getrusage(2) stops working once the system has been up long enough
non-critical
high
sw-bug



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512290547.AAA00447>