Subject: Re: crash on reboot on i386
To: None <thorpej@nas.nasa.gov>
From: Jaromir Dolecek <dolecek@ics.muni.cz>
List: current-users
Date: 03/12/1998 17:41:09
Jason Thorpe wrote:
> On Thu, 12 Mar 1998 16:59:37 +0100 (MET)
> Jaromir Dolecek <dolecek@ics.muni.cz> wrote:
>
> > Well, it's vanilla 1.3 kernel, not current.
> > Unfortunately, I can't get the arguments of vm_fault() from crash dump.
>
> Try:
>
> (gdb) proc curproc
> (gdb) bt
>
> ...that might help a little.
You are right, it helps just a little ;)
#0 0xf020e548 in sysent ()
#1 0xf4881f40 in ?? ()
#2 0xf012220d in tsleep (ident=0xf0123aad, priority=-259349696,
wmesg=0xf092be00 "\220h\"ð", timo=-192405624)
at ../../../../kern/kern_synch.c:359
Note I'm using 1.3 gdb - 1.2.1 ``gdb -k netbsd.gdb netbsd.0.core '' crashes.
> > I'try to write down the arguments too next time this happens.
> > Should I find out some more info ?
>
> Well, you got the PC from the DDB traceback, so try using gdb's "list"
> command like:
>
> (gdb) list *(vnode_pager_unmount+0x<whatever>)
(gdb) list *(vnode_pager_umount+0x1d)
0xf01c6ea1 is in vnode_pager_umount (../../../../vm/vnode_pager.c:465).
460 /*
461 * Save the next pointer now since uncaching may
462 * terminate the object and render pager invalid
463 */
464 npager = pager->pg_list.tqe_next;
465 vp = ((vn_pager_t)pager->pg_data)->vnp_vp;
466 if (mp == (struct mount *)0 || vp->v_mount == mp) {
467 VOP_LOCK(vp);
468 (void) vnode_pager_uncache(vp);
469 VOP_UNLOCK(vp);
Is there any way I can get the contents the structure used
on line 465 in gdb ? I'm unable to find it in help and
I'm not very familiar with this post-death debugging ;).
--
Jaromir Dolecek <dolecek@ics.muni.cz> http://www.ics.muni.cz/~dolecek/
-------------------------------------------------------------------------
It is better never to have been born. But who among us has such luck?
One in a million, perhaps.