NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/37993: panic: lockmgr: locking against myself (netbsd-4.0_STABLE)



>Number:         37993
>Category:       kern
>Synopsis:       panic: lockmgr: locking against myself (netbsd-4.0_STABLE)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 11 00:30:00 +0000 2008
>Originator:     Greg A. Woods
>Release:        NetBSD 4.0_STABLE 2008/01/28
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:
System: NetBSD 4.0_STABLE GENERIC.MP
Architecture: i386
Machine: i386
>Description:

        my Dell PE2650 has just crashed with the following panic and
        backtrace while unpacking a big distfile:

panic: lockmgr: locking against myself
Stopped in pid 15777.1 (tar) at netbsd:cpu_Debugger+0x4:        popl    %ebp
Bad character
?
db{0}> trace
cpu_Debugger(c0941a14,fa02b4d8,0,246,8) at netbsd:cpu_Debugger+0x4
panic(c096d2b4,fa02b528,b858,0,0) at netbsd:panic+0x155
lockmgr(c0a35c24,10022,c0a35ccc,2800000,c0434357) at netbsd:lockmgr+0xb4a
uvm_unmap1(c0a35c20,fcfe0000,fd000000,2800000,f) at netbsd:uvm_unmap1+0xef
km_vacache_free(c0a35cf8,fcfe0000,fa02b5ac,c0436b44,c0a35c20) at 
netbsd:km_vacache_free+0x35
pool_allocator_free(c0a35c20,81,fa02b5c0,fa02b5c0,c0a35cf8) at 
netbsd:pool_allocator_free+0x13
pr_pagelist_free(c0a39540,c0a4ff20,fa02b5dc,0,c56ee110) at 
netbsd:pr_pagelist_free+0x34
pool_put(c0a35cf8,fcfe9000,fa02b5fc,c0436b44,c0a39540) at netbsd:pool_put+0x58
pool_allocator_free(c0a39540,c56f49d0,fa02b61c,fa02b61c,fa02b618) at 
netbsd:pool_allocator_free+0x13
pr_pagelist_free(0,d,c0ff26c0,0,f6458edc) at netbsd:pr_pagelist_free+0x34
pool_cache_invalidate(c0a4fe00,3f5000,0,0,3) at 
netbsd:pool_cache_invalidate+0x85
pmap_growkernel(fd410000,fd400000,10000,fa02b6d8,0) at 
netbsd:pmap_growkernel+0x1f4
uvm_map_prepare(c0a35c20,fd400000,10000,0,ffffffff) at 
netbsd:uvm_map_prepare+0x3bb
uvm_map(c0a35c20,fa02b78c,10000,0,ffffffff) at netbsd:uvm_map+0xc0
uvm_km_alloc(c0a35c20,10000,10000,600001,10) at netbsd:uvm_km_alloc+0x9b
bufpool_page_alloc(c0a3aa78,0,fa02b7f0,fa02b7f0,c0a482a0) at 
netbsd:bufpool_page_alloc+0x3a
pool_grow(e50d07ac,0,fa02b84c,c0435d1e,fa02b830) at netbsd:pool_grow+0x23
pool_catchup(fa02b830,1000010,0,0,e50d07ac) at netbsd:pool_catchup+0x21
pool_get(c0a3aa78,0,fa02b8b4,ee55628c,d7c13f30) at netbsd:pool_get+0x17e
allocbuf(e73f5678,4000,0,c0410344,0) at netbsd:allocbuf+0xa8
getblk(d7b3c2cc,85f0a40,0,4000,0) at netbsd:getblk+0x268
bread(d7b3c2cc,85f0a40,0,4000,ffffffff) at netbsd:bread+0x62
ffs_vget(c5571000,846780,0,fa02bbd4,c48f55fc) at netbsd:ffs_vget+0x322
ffs_valloc(f34a4178,41ed,cea60898,fa02bbd4,0) at netbsd:ffs_valloc+0x16e
ufs_mkdir(fa02bb18,fa02bc48,fa02bb2c,c04758e5,fa02bb20) at netbsd:ufs_mkdir+0xce
VOP_MKDIR(f34a4178,fa02bbd4,fa02bbe8,fa02bb54,0) at netbsd:VOP_MKDIR+0x31
sys_mkdir(d7c13f30,fa02bc48,fa02bc68,fa02bc50,202) at netbsd:sys_mkdir+0x195
syscall_plain() at netbsd:syscall_plain+0x198
--- syscall (number 136) ---
0x8079adb:
db{0}> 

        I have a complete crash dump preserved from this one.  Let me
        know what information I should extract that might be of use in
        further diagnosis of this problem.

        (Note the "Bad character" is apparently due to the following
        setting:  ddb.commandonenter:  -> 'trace')



        Note this machine has been "hanging" pretty much every night
        recently during the run of /etc/daily, and occasionally (though
        rarely enough not to be too annoying) during build activity.

        Processes which don't do any I/O of any kind (including VM
        faults) will continue to run just fine.   Those that do fault
        will be stuck in "vmmapva".

        Attempts to reboot from DDB will usually trigger a "kernel:
        supervisor trap page fault, code=0" while trying to unmount the
        filesystems.  (sometimes though it gives up syncing disks at
        which point it just reboots without a second panic)

        I have crash dumps preserved from each of these kinds of hangs too.

        I don't know if this is related to the panic above or not.  If
        this isn't related then let me know so I can file a separate PR.

        Note how I have to force it into DDB by sending a break from
        conserver:

[-- break #1 sent -- `\z' -- Sat Feb  2 12:00:42 2008]
[Sat Feb  2 12:00:42 2008]Stopped at      netbsd:cpu_Debugger+0x4:        popl  
  %ebp
[Sat Feb  2 12:00:42 2008]Bad character
[Sat Feb  2 12:00:42 2008]?
[Sat Feb  2 12:00:42 2008]db{0}> trace
[Sat Feb  2 12:00:45 2008]cpu_Debugger(c52a8600,0,ce9dff38,c033f320,c52a8660) 
at netbsd:cpu_Debugger+0x4
[Sat Feb  2 12:00:45 2008]comintr(c52a8600,0,ce9d0010,30,10) at 
netbsd:comintr+0x6f0
[Sat Feb  2 12:00:45 2008]Xintr_ioapic_edge4() at netbsd:Xintr_ioapic_edge4+0x9c
[Sat Feb  2 12:00:45 2008]--- interrupt ---
[Sat Feb  2 12:00:45 2008]netbsd:cpu_switch+0xab:
[Sat Feb  2 12:00:45 2008]db{0}> ps
[Sat Feb  2 12:00:48 2008] PID           PPID     PGRP        UID S   FLAGS 
LWPS          COMMAND    WAIT
[Sat Feb  2 12:00:48 2008] 18027          721       15          0 2  0x6000    
1            sleep vmmapva
[Sat Feb  2 12:00:48 2008] 10280        11437     7718          0 2  0x4000    
1             find vmmapva
[Sat Feb  2 12:00:48 2008] 23257         7718     7718          0 2  0x4100    
1            smail  piperd
[Sat Feb  2 12:00:48 2008] 14012         7718     7718          0 2  0x4000    
1              tee  piperd
[Sat Feb  2 12:00:48 2008] 11437         7718     7718          0 2  0x4000    
1               sh    wait
[Sat Feb  2 12:00:48 2008] 7718         16381     7718          0 2  0x4000    
1               sh    wait
[Sat Feb  2 12:00:48 2008] 16381          575      575          0 2       0    
1             cron  piperd
[Sat Feb  2 12:00:48 2008] 1077             1     1077         15 2   0x100    
1             ntpd  vnlock
[Sat Feb  2 12:00:48 2008] 809           1578      809          0 2  0x4002    
1              ksh   ttyin
[Sat Feb  2 12:00:48 2008] 6306          6739     6306       1000 2  0x4000    
1      emacsserver  select
[Sat Feb  2 12:00:48 2008] 6739          5166     6739       1000 2  0x4002    
1            emacs vmmapva
[Sat Feb  2 12:00:48 2008] 5166          4836     5166       1000 2  0x4002    
1              ksh   ttyin
[Sat Feb  2 12:00:48 2008] 4836           175      175          0 2       0    
1            sshd2  select
[Sat Feb  2 12:00:48 2008] 3308          3678     3308       1000 2  0x4002    
1              ksh   ttyin
[Sat Feb  2 12:00:48 2008] 3678           175      175          0 2       0    
1            sshd2  select
[Sat Feb  2 12:00:48 2008] 1578          1441     1578       1000 2  0x4002    
1              ksh   pause
[Sat Feb  2 12:00:48 2008] 1441           175      175          0 2       0    
1            sshd2  select
[Sat Feb  2 12:00:48 2008] 919              1      919          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 276              1      276          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 981              1      981          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 1009             1     1009          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 722              1      722          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 752              1      752          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 229              1      229          0 2  0x4002    
1            getty   ttyin
[Sat Feb  2 12:00:48 2008] 291              1      291          0 2  0x4002    
1            login  vnlock
[Sat Feb  2 12:00:48 2008] 575              1      575          0 2       0    
1             cron vmmapva
[Sat Feb  2 12:00:48 2008] 667              1      667          0 2       0    
1            inetd  kqread
[Sat Feb  2 12:00:48 2008] 175              1      175          0 2       0    
1            sshd2  select
[Sat Feb  2 12:00:48 2008] 721              1       15          0 2  0x4002    
1               sh    wait
[Sat Feb  2 12:00:48 2008] 446              1      446          0 2       0    
1        rpc.lockd  select
[Sat Feb  2 12:00:48 2008] 504              1      504          0 2 0xa0008    
1        rpc.statd  select
[Sat Feb  2 12:00:48 2008] 498            476      476          0 2       0    
1             nfsd    nfsd
[Sat Feb  2 12:00:48 2008] 502            476      476          0 2       0    
1             nfsd    nfsd
[Sat Feb  2 12:00:48 2008] 507            476      476          0 2       0    
1             nfsd    nfsd
[Sat Feb  2 12:00:48 2008] 563            476      476          0 2       0    
1             nfsd    nfsd
[Sat Feb  2 12:00:48 2008] 476              1      476          0 2       0    
1             nfsd    poll
[Sat Feb  2 12:00:48 2008] 464              1      464          0 2       0    
1           mountd  select
[Sat Feb  2 12:00:48 2008] 413              1      413          0 2       0    
1        mount_mfs  mfsidl
[Sat Feb  2 12:00:48 2008] 351              1      351          0 2       0    
1          rpcbind    poll
[Sat Feb  2 12:00:48 2008] 314              1      314          0 2       0    
1          syslogd  kqread
[Sat Feb  2 12:00:48 2008] 52               0        0          0 2 0x20200    
1          physiod physiod
[Sat Feb  2 12:00:48 2008] 14               0        0          0 2 0x20200    
1         aiodoned aiodone
[Sat Feb  2 12:00:48 2008] 13               0        0          0 2 0x20200    
1          ioflush  syncer
[Sat Feb  2 12:00:48 2008] 12               0        0          0 2 0x20200    
1       pagedaemon pgdaemo
[Sat Feb  2 12:00:48 2008] 11               0        0          0 2 0x20200    
1        atapibus0  sccomp
[Sat Feb  2 12:00:48 2008] 10               0        0          0 2 0x20200    
1        cryptoret crypto_
[Sat Feb  2 12:00:48 2008] 9                0        0          0 2 0x20200    
1       usbtask-dr  usbtsk
[Sat Feb  2 12:00:48 2008] 8                0        0          0 2 0x20200    
1       usbtask-hc  usbtsk
[Sat Feb  2 12:00:48 2008] 7                0        0          0 2 0x20200    
1             usb0  usbevt
[Sat Feb  2 12:00:49 2008] 6                0        0          0 2 0x20200    
1          atabus1   atath
[Sat Feb  2 12:00:49 2008] 5                0        0          0 2 0x20200    
1          atabus0   atath
[Sat Feb  2 12:00:49 2008] 4                0        0          0 2 0x20200    
1            ipmi0 ipmi_po
[Sat Feb  2 12:00:49 2008] 3                0        0          0 2 0x20200    
1             apm0   apmev
[Sat Feb  2 12:00:49 2008] 2                0        0          0 2 0x20200    
1           sysmon smtaskq
[Sat Feb  2 12:00:49 2008] 1                0        1          0 2  0x4001    
1             init    wait
[Sat Feb  2 12:00:49 2008] 0               -1        0          0 2 0x20200    
1          swapper schedul
[Sat Feb  2 12:00:49 2008]db{0}> cont
[Sat Feb  2 12:22:39 2008]
[Sat Feb  2 12:22:39 2008]
[-- break #1 sent -- `\z' -- Sat Feb  2 12:22:45 2008]
[Sat Feb  2 12:22:45 2008]Stopped at      netbsd:cpu_Debugger+0x4:        popl  
  %ebp
[Sat Feb  2 12:22:45 2008]Bad character
[Sat Feb  2 12:22:45 2008]?
[Sat Feb  2 12:22:45 2008]db{0}> 
[Sat Feb  2 12:22:46 2008]
[-- break #1 sent -- `\z' -- Sat Feb  2 12:22:51 2008]
[Sat Feb  2 12:22:51 2008]Stopped at      netbsd:cpu_Debugger+0x4:        popl  
  %ebp
[Sat Feb  2 12:22:51 2008]Bad character
[Sat Feb  2 12:22:51 2008]?
[Sat Feb  2 12:22:51 2008]db{0}> trace
[Sat Feb  2 12:22:53 2008]cpu_Debugger(c52a8600,0,ce9dff38,c033f320,c52a8660) 
at netbsd:cpu_Debugger+0x4
[Sat Feb  2 12:22:53 2008]comintr(c52a8600,0,ce9d0010,30,10) at 
netbsd:comintr+0x6f0
[Sat Feb  2 12:22:53 2008]Xintr_ioapic_edge4() at netbsd:Xintr_ioapic_edge4+0x9c
[Sat Feb  2 12:22:53 2008]--- interrupt ---
[Sat Feb  2 12:22:53 2008]netbsd:cpu_switch+0xab:
[Sat Feb  2 12:22:53 2008]db{0}> reboot
[Sat Feb  2 12:22:55 2008]syncing disks... done
[Sat Feb  2 12:22:56 2008]unmounting file systems...kernel: supervisor trap 
page fault, code=0
[Sat Feb  2 12:22:56 2008]Stopped at      netbsd:getnewbuf+0x22:  testb   
$0x40,0x2b(%eax)
[Sat Feb  2 12:22:56 2008]Bad character
[Sat Feb  2 12:22:56 2008]?
[Sat Feb  2 12:22:56 2008]db{0}> reboot
[Sat Feb  2 12:22:59 2008]rebooting...


>How-To-Repeat:

        heavy filesystem activity?

>Fix:

        unknown




Home | Main Index | Thread Index | Old Index