Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Feb 2001 15:51:45 -0800
From:      David Kirchner <dpk@dpk.net>
To:        freebsd-hackers@freebsd.org
Subject:   Kernel debugging woes (was Re: Quotas crashing, 4.2-RELEASE, incomplete backtrace ...)
Message-ID:  <20010219155145.A5320@dpk.net>

next in thread | raw e-mail | index | archive | help
Hi,

First, apologies if this is not the appropriate place to post this. I'm
trying to hack around the kernel, but I'm running in to roadblocks with
gdb. Also, I'm not on this mailing list, so please Cc: me on any replies.

I was having a problem with a 4.2-RELEASE box's quotas. I compiled up a
debugging kernel, rebooted, and did the file copying (see included
freebsd-questions post) until I got it to crash again. Unfortunately,
the core dump didn't leave any useful information for me. Do you guys
know what I need to do to get the parameter info for:

#6  0xc01af64a in dqget ()
#7  0xc01aea6e in getinoquota ()
#8  0xc01b0785 in ufs_chown ()
#9  0xc01b03bb in ufs_setattr ()
#10 0xc01b29e9 in ufs_vnoperate ()
#11 0xc0178f4b in setfown ()
#12 0xc0178fe4 in chown ()

I have the arguments to the syscall2 and trap calls before and after it.

What am I missing? I'm running 'gdb -k kernel.1 vmcore.1' in /var/adm/crash,
I've verified that kernel.1 is a debugging kernel (so I didn't have to load
the symbols from another kernel). I am able to get it to crash, but not
through any one specific command (ie I just have to try to untar files onto
this box until it happens). Any ideas?

- dpk

> Hi,
> 
> I'm not a list member, so please Cc: me on any responses. Thanks.
> 
> Unfortunately I am not able to give too much information here, but I'll
> give you what I've got. First, the scenario. I'm copying a bunch of files
> (>4GB total, no file larger than say 200k though) from a 3.2 box to a
> 4.2-RELEASE box that has quotas enabled. This had caused the system to crash
> a few times so I put in a debugging kernel.
> 
> The uname -a:
> 
> FreeBSD xxx.xxx.xxxxxx.net 4.2-RELEASE FreeBSD 4.2-RELEASE #1: Wed Feb 14 16:23:31 PST 2001     root@xxx.xxx.xxxxxx.net:/usr/src/sys/compile/XXXXXX  i386
> 
> Here's the kgdb backtrace. Note the lack of any information about 'dqget'
> or 'getinoquota'. In fact, there was no information in any of the calls
> until I entered 'symbol-file kernel.debug'. Anyways, I hope someone here
> could point me in the right direction for getting information out of gdb
> regarding the dqget/getinoquota calls (this would be MUCH appreciated) -
> they're clearly where the problem is:
> 
> #0  dumpsys () at ../../kern/kern_shutdown.c:469
> #1  0xc0149b53 in boot (howto=256) at ../../kern/kern_shutdown.c:309
> #2  0xc0149ee9 in panic (fmt=0xc020bacf "page fault")
>     at ../../kern/kern_shutdown.c:556
> #3  0xc01e205e in trap_fatal (frame=0xea4dccf8, eva=0)
>     at ../../i386/i386/trap.c:951
> #4  0xc01e1d11 in trap_pfault (frame=0xea4dccf8, usermode=0, eva=0)
>     at ../../i386/i386/trap.c:844
> #5  0xc01e18b3 in trap (frame={tf_fs = -364052464, tf_es = -364052464, 
>       tf_ds = -1071972336, tf_edi = -366369856, tf_esi = -948627884, 
>       tf_ebp = -363999864, tf_isp = -363999964, tf_ebx = -923190656, 
>       tf_edx = 0, tf_ecx = -364380800, tf_eax = 0, tf_trapno = 12, tf_err = 2, 
>       tf_eip = -1071974838, tf_cs = 8, tf_eflags = 66118, tf_esp = -915035136, 
>       tf_ss = -339913792}) at ../../i386/i386/trap.c:443
> #6  0xc01af64a in dqget ()
> #7  0xc01aea6e in getinoquota ()
> #8  0xc01b0785 in ufs_chown ()
> #9  0xc01b03bb in ufs_setattr ()
> #10 0xc01b29e9 in ufs_vnoperate ()
> #11 0xc0178f4b in setfown ()
> #12 0xc0178fe4 in chown ()
> #13 0xc01e2286 in syscall2 (frame={tf_fs = 134807599, tf_es = 47, 
>       tf_ds = -1078001617, tf_edi = 134828032, tf_esi = 115, 
>       tf_ebp = -1077937388, tf_isp = -363999276, tf_ebx = 0, tf_edx = 3, 
>       tf_ecx = 0, tf_eax = 16, tf_trapno = 7, tf_err = 2, tf_eip = 134605024, 
>       tf_cs = 31, tf_eflags = 514, tf_esp = -1077937752, tf_ss = 47})
>     at ../../i386/i386/trap.c:1150
> #14 0xc01d6f75 in Xint0x80_syscall ()
> #15 0x8050a1d in ?? ()
> #16 0x8052c7e in ?? ()
> #17 0x8048135 in ?? ()
> 
> For now I'm disabling quotas on the box, but this is a less than optimal
> solution. Any thoughts?
> 
> - dpk


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010219155145.A5320>