From owner-freebsd-current@FreeBSD.ORG Mon Aug 20 02:47:06 2007 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8BD116A417 for ; Mon, 20 Aug 2007 02:47:06 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by mx1.freebsd.org (Postfix) with ESMTP id AB98213C45B for ; Mon, 20 Aug 2007 02:47:06 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: (from dan@localhost) by dan.emsphone.com (8.14.1/8.14.1) id l7K2kweS063085; Sun, 19 Aug 2007 21:46:58 -0500 (CDT) (envelope-from dan) Date: Sun, 19 Aug 2007 21:46:58 -0500 From: Dan Nelson To: Jeff Roberson Message-ID: <20070820024658.GB46690@dan.emsphone.com> References: <20070819214953.I1099@fledge.watson.org> <20070819144903.U568@10.0.0.1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070819144903.U568@10.0.0.1> X-OS: FreeBSD 7.0-CURRENT User-Agent: Mutt/1.5.16 (2007-06-09) Cc: attilio@freebsd.org, Robert Watson , dds@freebsd.org, current@freebsd.org Subject: Re: Crash in accounting code: encode_long(), due to bad rusage data? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Aug 2007 02:47:07 -0000 In the last episode (Aug 19), Jeff Roberson said: > On Sun, 19 Aug 2007, Robert Watson wrote: >> Diomidis, Jeff, Attilio, >> >> I recently upgraded two servers from FreeBSD 6-STABLE to FreeBSD >> 7-CURRENT in anticipation of the forthcoming release. Both of them >> run with accounting enabled at all times. When a large pine session >> was exiting on one of the two boxes, I ran into the following panic: >> >> panic: encode_long: -ve value -32749 [..] >> (kgdb) up >> #10 0xc0719dc2 in acct_process (td=0xc4a76400) >> at /usr/src/sys/kern/kern_acct.c:391 >> 391 acct.ac_mem = encode_long((ru.ru_ixrss + >> ru.ru_idrss > > ru_idrss an integral value of the amount of unshared memory > residing in the data segment of a process > (expressed in units of kilobytes * > ticks-of-execution). > > That seems like it's pretty prone to overflow given that this is a 32bit > machine. This may just be an improper assert. I'm shocked that noone has > run into this so far. You'll also hit this any time you get a "calcru: runtime went backwards" which on some machines is very frequent. I disabled the panic as doon as I upgraded to 7 :) -- Dan Nelson dnelson@allantgroup.com