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