NetBSD-Bugs archive

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

Re: kern/38732: proplib locking error



The following reply was made to PR kern/38732; it has been noted by GNATS.

From: Christoph Egger <Christoph_Egger%gmx.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, 
 netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/38732: proplib locking error
Date: Fri, 23 May 2008 23:34:17 +0200

 oster%netbsd.org@localhost wrote:
 >> Number:         38732
 >> Category:       kern
 >> Synopsis:       proplib has locking issues
 >> Confidential:   no
 >> Severity:       critical
 >> Priority:       high
 >> Responsible:    kern-bug-people
 >> State:          open
 >> Class:          sw-bug
 >> Submitter-Id:   net
 >> Arrival-Date:   Fri May 23 18:40:00 +0000 2008
 >> Originator:     oster%netbsd.org@localhost
 >> Release:        NetBSD 4.99.63
 >> Organization:
 >> Environment:
 > System: NetBSD hapi 4.99.63 NetBSD 4.99.63 (GENERICLD) #0: Thu May 22 
 > 15:58:15 CST 2008  
 > root@hapi:/u1/builds/build203/src/sys/arch/amd64/compile/GENERICLD amd64
 > Architecture: amd64
 > Machine: amd64
 >> Description:
 >      proplib seems to have some locking issues... 
 > 
 > Reader / writer lock error: lockdebug_wantlock: locking against myself
 >  
 > lock address : 0xffff800064a11fa0 type     :     sleep/adaptive
 > shared holds :                  1 exclusive:                  0
 > shares wanted:                  1 exclusive:                  0
 > current cpu  :                  3 last held:                  3
 > current lwp  : 0xffff80007568b800 last held: 0xffff80007568b800
 > last locked  : 0xffffffff8071c607 unlocked : 0xffffffff8071c645
 > initialized  : 0xffffffff8071d0af
 > owner/count  : 0x0000000000000010 flags    : 0x0000000000000008
 >  
 > Turnstile chain at 0xffffffff80c6ee00.
 > => No active turnstile for this lock.
 >  
 > panic: LOCKDEBUG
 > Stopped in pid 2085.1 (envstat) at      netbsd:breakpoint+0x5:  leave
 > db{3}> tr
 > breakpoint() at netbsd:breakpoint+0x5
 > panic() at netbsd:panic+0x260
 > lockdebug_abort1() at netbsd:lockdebug_abort1+0xd3
 > rw_vector_enter() at netbsd:rw_vector_enter+0x2f1
 > prop_dictionary_iterator() at netbsd:prop_dictionary_iterator+0x77
 > _prop_dictionary_externalize() at netbsd:_prop_dictionary_externalize+0xba
 > prop_dictionary_externalize() at netbsd:prop_dictionary_externalize+0x40
 > _prop_object_copyout_ioctl() at netbsd:_prop_object_copyout_ioctl+0x12e
 > sysmonioctl_envsys() at netbsd:sysmonioctl_envsys+0x4da
 > VOP_IOCTL() at netbsd:VOP_IOCTL+0x6b
 > vn_ioctl() at netbsd:vn_ioctl+0x6d
 > sys_ioctl() at netbsd:sys_ioctl+0x134
 > syscall() at netbsd:syscall+0x9a
 > db{3}> 
 > 
 > 
 > 
 >> How-To-Repeat:
 >      run GENERIC+LOCKDEBUG/DEBUG/DIAGNOSTIC kernel on amd64
 >      do something like 'envstat -d mfi0'
 >      *boom*
 > 
 >      Additional details available upon request.
 > 
 >> Fix:
 
 See http://mail-index.netbsd.org/port-amd64/2008/05/19/msg000275.html
 and follow ups for the solution.
 
 Christoph
 


Home | Main Index | Thread Index | Old Index