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+0x2b2gdb -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:
[EMAIL PROTECTED]:~/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 <[EMAIL PROTECTED]> _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"