Current-Users archive

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

Re: 4 significant issues with amd64 -current



On Sunday 11 May 2008, Scott Ellis wrote:

[snip]

>
> Issue #3 (paraphrased below):
>
> breakpoint() at netbsd:breakpoint+0x5
> panic() at netbsd:panic+0x253
> lockdebug_wantlock() at netbsd:lockdebug_wantlock
> rw_vector_enter() at netbsd:rw_vector_enter+0x237
> prop_dictionary_iterator() at netbsd:prop_dictionary_iterator+0x67
> _prop_dictionary_externalize() at netbsd:_prop_dictionary_externalize+0xa2
> prop_dictionary_externalize() at netbsd:prop_dictionary_externalize+0x30
> _prop_object_copyout_ioctl() at netbsd:_prop_object_copyout_ioctl+0x121
> sysmonioctl_power() at netbsd:sysmonioctl_power+0xf2
> VOP_IOCTL() at netbsd:VOP_IOCTL+0x64
> vn_ioctl() at netbsd:vn_ioctl+0x62
> sys_ioctl() at netbsd:sys_ioctl+0x11e
> syscall() at netbsd:syscall+0x8f
> db{1}>

I suspect this is the same issue as in:

http://mail-index.netbsd.org/current-users/2008/05/06/msg002274.html
http://mail-index.netbsd.org/current-users/2008/05/06/msg002287.html

From I quick code inspection, it looks like _prop_dictionary_externalize locks
pd->pd_rwlock and calls prop_dictionary_iterator before unlocking.  
prop_dictionary_iterator's attempt to acquire the lock then fails.  Perhaps 
prop_dictionary_iterator needs to do the _PROP_RWLOCK_TRYRDLOCK dance?

Sverre


Home | Main Index | Thread Index | Old Index