FreeBSD 7.1-PRERELEASE-p1, panic: dqget: free dquot isn't

Frode Nordahl frode at nordahl.net
Wed Dec 3 23:12:48 PST 2008


On 3. des.. 2008, at 20.43, Kostik Belousov wrote:

> On Wed, Dec 03, 2008 at 08:12:22PM +0100, Frode Nordahl wrote:
>> (moved to freebsd-stable)
>>
>> On 3. des.. 2008, at 18.39, Kostik Belousov wrote:
>>
>>>> db> where
>>>> Tracing pid 41111 tid 100199 td 0xffffff0056f1f370
>>>> kdb_enter_why() at kdb_enter_why+0x3d
>>>> panic() at panic+0x17b
>>>> dqget() at dqget+0xaa4
>>>> getinoquota() at getinoquota+0x5b
>>>> ufs_access() at ufs_access+0x28c
>>>> ufs_lookup() at ufs_lookup+0x9fe
>>>> vfs_cache_lookup() at vfs_cache_lookup+0xf8
>>>> VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x40
>>>> lookup() at lookup+0x531
>>>> namei() at namei+0x35d
>>>> kern_rmdir() at kern_rmdir+0xbd
>>>> syscall() at syscall+0x256
>>>> Xfast_syscall() at Xfast_syscall+0xab
>>>
>>> For the start, I want to see the content of the *dq in the dqget()
>>> frame.
>>
>>
>> I am unable to get to *dq :-(
>>
>> (kgdb) frame 10
>> #10 0xffffffff806dbc54 in dqget (vp=0xffffff011e0767e0, id=419444,
>>    ump=0xffffff00038a9000, type=0, dqp=0xffffff0122e47268)
>>    at /usr/src/sys/ufs/ufs/ufs_quota.c:1210
>> 1210				panic("dqget: free dquot isn't");
> If this is repeatable, change panic to
> 	panic("dqget: free dquot isn't %p", dq);
>
> and then in kgdb p/x *(struct dquot *)<printed value>

Got it!

panic: dqget: free dquot isn't dq=0xffffff00b3d27000
(kgdb) p/x *(struct dquot *)0xffffff00b3d27000
$1 = {dq_hash = {le_next = 0x0, le_prev = 0xffffff010b9da700},  
dq_freelist = {
     tqe_next = 0xffffff0055e2de00, tqe_prev = 0xffffffff80b03710},  
dq_lock = {
     lock_object = {lo_name = 0xffffffff8088c21c, lo_type =  
0xffffffff8088c21c,
       lo_flags = 0x1030000, lo_witness_data = {lod_list = {stqe_next  
= 0x0},
         lod_witness = 0x0}}, mtx_lock = 0x4, mtx_recurse = 0x0},
   dq_flags = 0xc, dq_type = 0x0, dq_cnt = 0x0, dq_id = 0x16a37d,
   dq_ump = 0xffffff00038e1600, dq_dqb = {dqb_bhardlimit = 0x0,
     dqb_bsoftlimit = 0x0, dqb_curblocks = 0x0, dqb_ihardlimit = 0x0,
     dqb_isoftlimit = 0x0, dqb_curinodes = 0x1, dqb_btime = 0x493ef2b5,
     dqb_itime = 0x493ef2b5}}

Let me know if I can provide any more information!

Updated the crashinfo archive you got an URL to yesterday if you want  
to poke around yourself.

--
Frode Nordahl





More information about the freebsd-stable mailing list