From owner-freebsd-stable@FreeBSD.ORG Wed Jun 29 14:29:08 2005 Return-Path: X-Original-To: freebsd-stable@FreeBSD.org Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA06F16A41C for ; Wed, 29 Jun 2005 14:29:08 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from relay.bestcom.ru (relay.bestcom.ru [217.72.144.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5786F43D48 for ; Wed, 29 Jun 2005 14:29:08 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (root@cell.sick.ru [217.72.144.68]) by relay.bestcom.ru (8.13.1/8.12.9) with ESMTP id j5TET2BN049915 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 29 Jun 2005 18:29:02 +0400 (MSD) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (glebius@localhost [127.0.0.1]) by cell.sick.ru (8.13.1/8.12.8) with ESMTP id j5TET1OJ030459 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 29 Jun 2005 18:29:01 +0400 (MSD) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.sick.ru (8.13.1/8.13.1/Submit) id j5TET16t030458; Wed, 29 Jun 2005 18:29:01 +0400 (MSD) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.sick.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 29 Jun 2005 18:29:01 +0400 From: Gleb Smirnoff To: Matt Juszczak Message-ID: <20050629142901.GA30013@cell.sick.ru> References: <20050628134702.V72689@neptune.atopia.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="xHFwDpU9dbj6ez1V" Content-Disposition: inline In-Reply-To: <20050628134702.V72689@neptune.atopia.net> User-Agent: Mutt/1.5.6i X-Virus-Scanned: ClamAV version devel-20050125, clamav-milter version 0.80ff on relay.bestcom.ru X-Virus-Status: Clean Cc: freebsd-stable@FreeBSD.org Subject: Re: FreeBSD -STABLE servers repeatedly crashing 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: Wed, 29 Jun 2005 14:29:09 -0000 --xHFwDpU9dbj6ez1V Content-Type: text/plain; charset=koi8-r Content-Disposition: inline On Tue, Jun 28, 2005 at 01:50:48PM -0400, Matt Juszczak wrote: M> >Please try out this patch to aid the above problem with hang instead of M> >dump: M> > M> >http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/i386/trap.c.diff?r1=1.275&r2=1.276 M> This patch wouldn't go through.... M> I tried patching against: M> __FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.267.2.3 2005/05/01 M> 05:34:46 dwhite Exp $"); M> which is -STABLE Here is attached patch. It should work for STABLE. It should fix problem with frozen kdb, and give you ability to obtain a crashdump. -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE --xHFwDpU9dbj6ez1V Content-Type: text/plain; charset=koi8-r Content-Disposition: attachment; filename="trap.c.diff" Index: trap.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/trap.c,v retrieving revision 1.267.2.3 diff -u -r1.267.2.3 trap.c --- trap.c 1 May 2005 05:34:46 -0000 1.267.2.3 +++ trap.c 29 Jun 2005 14:27:04 -0000 @@ -809,8 +809,15 @@ } #ifdef KDB - if (kdb_trap(type, 0, frame)) - return; + { + register_t eflags; + eflags = intr_disable(); + if (kdb_trap(type, 0, frame)) { + intr_restore(eflags); + return; + } + intr_restore(eflags); + } #endif printf("trap number = %d\n", type); if (type <= MAX_TRAP_MSG) --xHFwDpU9dbj6ez1V--