From owner-freebsd-stable@FreeBSD.ORG Sun May 13 20:29:33 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 80B57106566C; Sun, 13 May 2012 20:29:33 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wg0-f42.google.com (mail-wg0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id D82FC8FC12; Sun, 13 May 2012 20:29:32 +0000 (UTC) Received: by wgbds11 with SMTP id ds11so2853344wgb.1 for ; Sun, 13 May 2012 13:29:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=sWur82ATunrWOGcBdsfT1o+itsh+cS2LKEU0gBa7nbE=; b=Q9s+gM5hjJfab4fZsDYM87plObSJDWzi4PZuk5haHJWgVjocFpRLb8aJdz75ndss2+ 93MxdHuTUNRBTOlDEtGyoENonw9HKCTmhg7vtk7UfDSNzhRqZBpVfJEMg+gi30/wCz/w Ig6z+yRcn+eaW+/uh2TvEF39h2G3OdbCGeBz2Wil0BuMb4unlu2IwJggFT+MUO0L8mhU B5GSBn1Zytkn5FFw57zc7fInJfgafkwKfDK6q+KOWYX1ijo550w0Nklv84KhTEIMJSOX XJIQWRnWFMNGFlKRHIR+mvHQULKj/e+MD939J2G7zWL2v5v0fLY0+MuquDrspimXoFRY rVTA== Received: by 10.216.131.154 with SMTP id m26mr216129wei.91.1336940971886; Sun, 13 May 2012 13:29:31 -0700 (PDT) Received: from dft-labs.eu (dft-labs.eu. [80.87.128.179]) by mx.google.com with ESMTPS id r2sm46866443wif.7.2012.05.13.13.29.30 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 13 May 2012 13:29:30 -0700 (PDT) Date: Sun, 13 May 2012 22:29:20 +0200 From: Mateusz Guzik To: Andrey Zonov Message-ID: <20120513202920.GA18238@dft-labs.eu> References: <4FAFEEEF.3040706@zonov.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4FAFEEEF.3040706@zonov.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: trasz@freebsd.org, freebsd-stable Subject: Re: panic with overcommit and RACCT X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 May 2012 20:29:33 -0000 On Sun, May 13, 2012 at 09:27:11PM +0400, Andrey Zonov wrote: > Hi, > > I've got a repeatable panic on latest 9.0-STABLE and HEAD with > turned on overcommit (vm.overcommit=1) and RACCT. > > kgdb trace on today's HEAD: > > #10 0xffffffff80bc3513 in calltrap () > at /usr/src/sys/amd64/amd64/exception.S:228 > #11 0xffffffff808aab71 in racct_set_locked (p=0xfffffe0005d684a0, > resource=0, > amount=2680) at /usr/src/sys/kern/kern_racct.c:372 > #12 0xffffffff808ab645 in racct_proc_exit (p=0xfffffe0005d684a0) > at /usr/src/sys/kern/kern_racct.c:615 > #13 0xffffffff80880d69 in fork1 (td=0xfffffe0005b2c460, flags=20, pages=4, > procp=0xffffff811a36bb00, procdescp=Variable "procdescp" is not > available. > ) at /usr/src/sys/kern/kern_fork.c:943 > #14 0xffffffff80882362 in sys_fork (td=0xfffffe0005b2c460, > uap=Variable "uap" is not available. > ) > at /usr/src/sys/kern/kern_fork.c:110 > #15 0xffffffff80bd7a89 in amd64_syscall (td=0xfffffe0005b2c460, traced=0) > at subr_syscall.c:135 > #16 0xffffffff80bc37f7 in Xfast_syscall () > at /usr/src/sys/amd64/amd64/exception.S:387 > #17 0x00000008024729fc in ?? () > Previous frame inner to this frame (corrupt stack?) > (kgdb) > > Unread portion of the kernel message buffer: > Kernel page fault with the following non-sleepable locks held: > exclusive sleep mutex racct lock (racct lock) r = 0 > (0xffffffff8128a7c0) locked @ /usr/src/sys/kern/kern_racct.c:614 > exclusive sleep mutex process lock (process lock) r = 0 > (0xfffffe0005d68598) locked @ /usr/src/sys/kern/kern_racct.c:603 > It looks like racct_proc_exit can be called for processes without properly initialized racct structure, which in turn results in this panic. Can you please test this patch: http://student.agh.edu.pl/~mjguzik/patches/racct-fork.patch ? I was unable to reproduce panic you describe, so it was tested only by manually injecting error. Nevertheless I think you should try it. :) -- Mateusz Guzik