From owner-freebsd-current@FreeBSD.ORG Sat Aug 2 07:46:09 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D5EB737B409 for ; Sat, 2 Aug 2003 07:46:09 -0700 (PDT) Received: from vimes.aminor.no (vimes.aminor.no [213.187.177.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2135843FAF for ; Sat, 2 Aug 2003 07:46:09 -0700 (PDT) (envelope-from eivind@aminor.no) Received: from [192.168.0.2] (rincewind.eivind [192.168.0.2]) by vimes.aminor.no (Postfix) with ESMTP id C068A78D2C for ; Sat, 2 Aug 2003 16:46:19 +0200 (CEST) Date: Sat, 02 Aug 2003 16:47:13 +0200 From: Eivind Olsen To: current@freebsd.org Message-ID: <1886375.1059842833@[192.168.0.2]> In-Reply-To: <3F2B803C.21D38E0B@mindspring.com> References: <1079.192.168.0.3.1059811884.squirrel@webmail.aminor.no> <3F2B803C.21D38E0B@mindspring.com> X-Mailer: Mulberry/3.0.3 (Win32) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Re: Yet another crash in FreeBSD 5.1 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Sat, 02 Aug 2003 14:46:10 -0000 --On 2. august 2003 02:11 -0700 Terry Lambert wrote: >> db> trace >> g_dev_strategy(c2156024,c2153800,0,cfb528d0,c2099eca) at >> g_dev_strategy+0x29 launch_requests(c299bf00,0,10000,ffffffff,47) at >> launch_requests+0x448 vinumstart(c5ada2d0,0,c22ab000,cfb5294c,c02e5bc6) >> at vinumstart+0x2b2 > gdb -k kernel.debug > (gdb) list *(g_dev_strategy+29) > [ ... ] > (gdb) list *(launch_requests+448) > [ ... ] > (gdb) list *(vinumstart+2b2) > [ ... ] > Will give you the exact source lines involved, assuming you > built a debug kernel. I did. At least I've tried to. :) (I have a kernel.debug which was compiled at the same time as the real kernel I'm using, and it's approx. 30MB in size). > You don't actually need a crash dump to debug a stack traceback. This is what I found by using those commands you mentioned: eivind@vimes:~/tmp/debug > gdb -k kernel.debug GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-undermydesk-freebsd"... (kgdb) list *(g_dev_strategy+29) 0xc02e812d is in g_dev_strategy (/usr/src/sys/geom/geom_dev.c:415). 410 KASSERT(cp->acr || cp->acw, 411 ("Consumer with zero access count in g_dev_strategy")); 412 413 bp2 = g_clone_bio(bp); 414 KASSERT(bp2 != NULL, ("XXX: ENOMEM in a bad place")); 415 bp2->bio_offset = (off_t)bp->bio_blkno << DEV_BSHIFT; 416 KASSERT(bp2->bio_offset >= 0, 417 ("Negative bio_offset (%jd) on bio %p", 418 (intmax_t)bp2->bio_offset, bp)); 419 bp2->bio_length = (off_t)bp->bio_bcount; (kgdb) list *(launch_requests+448) No symbol "launch_requests" in current context. (kgdb) list *(vinumstart+2b2) No symbol "vinumstart" in current context. (kgdb) If anyone wants to take a look at this themselves I've put the compressed (gzip) debug-kernel available on http://eivind.aminor.no/debug/kernel.debug.gz NOTE! It's approx. 13MB compressed! -- Regards / Hilsen Eivind Olsen