tech-kern archive

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

Re: locking patches for ufs_rename



On Mon Sep 28 2009 at 16:43:16 +0200, Manuel Bouyer wrote:
> On Mon, Sep 28, 2009 at 04:27:12PM +0200, Manuel Bouyer wrote:
> > I found 2 problems that I send to david in private mail.
> > I did a backport of these patches to netbsd-5. Running a rsync+cvs update
> > on a dual-CPU system, I got:
> 
> I got another one, with more usefull info from ddb:
> login: Reader / writer lock error: lockdebug_wantlock: locking against myself

This looks like the same backtrace as the one in 41417 and 42093 (which
contains a userland program for repeating it).

(I'm sure Manuel knows, buy FYI to others ;).

> lock address : 0x00000000cea6ef04 type     :     sleep/adaptive
> initialized  : 0x00000000c036f970
> shared holds :                  0 exclusive:                  1
> shares wanted:                  0 exclusive:                  1
> current cpu  :                  1 last held:                  1
> current lwp  : 0x00000000ce9bf300 last held: 0x00000000ce9bf300
> last locked  : 0x00000000c036d647 unlocked : 0x00000000c036d6e8
> owner/count  : 0x00000000ce9bf300 flags    : 0x000000000000000c
> 
> Turnstile chain at 0xc06ed540.
> => No active turnstile for this lock.
> 
> db{0}> tr/a ce9bf300
> trace: pid 525 lid 1 at 0xceacb58c
> printf(c06353df,ce9bf300,0,c032c3f2,a,65363063,1010129,0,0,ceac3f04) at 
> netbsd:p
> rintf+0x5f
> db_stack_trace_print(ceacb6a4,1,ffff,c061398c,c032d600,1,0,0,ceacb6b8,8) at 
> netb
> sd:db_stack_trace_print+0x17a
> panic(c0629450,c062661f,c04f89fb,c06250c9,20a0,19bf300,0,0,ce9bf300,ce8132d8) 
> at netbsd:panic+0x175
> lockdebug_abort1(c06250c9,1,0,0,4,c06da268,ceacb73c,c032648f,cd203f4c,c06da268)
>  at netbsd:lockdebug_abort1+0xbb
> rw_vector_enter(cea6ef04,1,0,c2cd2918,cea6ee64,2,ceacb7ac,c0293fd1,cea6ef04,2)
>  at netbsd:rw_vector_enter+0x310
> vlockmgr(cea6ef04,2,4,cea6ee64,cea6ee64,0,ceacb7dc,c037fcf0,ceacb7cc,0) at 
> netbsd:vlockmgr+0x126
> ffs_lock(ceacb7cc,0,cea6ee64,c02fcf7a,8,c03787d5,c04fa1c0,cea6ee64,2,2) at 
> netbsd:ffs_lock+0x41
> VOP_LOCK(cea6ee64,2,0,c06ea7c4,cea6ee64,10002,ceacb81c,c0370c28,cea6ee64,10002)
>  at netbsd:VOP_LOCK+0x60
> vn_lock(cea6ee64,10002,0,cea6fe3c,cea6fe3c,6ce202,ceacb84c,c0299bf0,cea6ee64,10002)
>  at netbsd:vn_lock+0xd8
> vget(cea6ee64,10002,2,0,0,cea6ee64,6cf40f,120d,6ce202,0) at netbsd:vget+0x128
> ufs_ihashget(120d,6ce202,0,2,0,4f6b,0,2,0,cea6fee0) at 
> netbsd:ufs_ihashget+0xa0
> ffs_vget(ce8132d8,6ce202,0,ceacb9a4,ceacb9a8,0,2c,0,ceac3a4c,6ce202) at 
> netbsd:ffs_vget+0xff
> ufs_lookup(ceacb9d4,6,ceacb9ec,c037a054,c04f9a80,cea6ef1c,ceacbaf8,ceacbc48,9c3c,ceacbc48)
>  at netbsd:ufs_lookup+0xcae
> VOP_LOOKUP(cea6ef1c,ceacbaf8,ceacbc48,ceacbc90,ceacbbbc,ceacbc48,ceacbb0c,c02a3cf7,cea6ef1c,ceacbaf8)
>  at netbsd:VOP_LOOKUP+0x8c
> relookup(cea6ef1c,ceacbaf8,ceacbc48,ceacbaf0,ceacbaf4,3,903c,8000,1015210,ce9b5170)
>  at netbsd:relookup+0x4a
> wapbl_ufs_rename(ceacbbbc,0,0,0,ceacbc48,ce9bf300,ceacbb4c,c03787b8,ce9b5a10,2)
>  at netbsd:wapbl_ufs_rename+0x277
> ufs_rename(ceacbbbc,0,ceacbbdc,c037fc86,ceacbbcc,ceacbc90,c04f9f80,ce9b5170,cea7facc,ceacbc90)
>  at netbsd:ufs_rename+0x2d
> VOP_RENAME(ce9b5170,cea7facc,ceacbc90,cea6ef1c,cea6ee64,ceacbc48,1,ce8132d8,0,ceacbc2f)
>  at netbsd:VOP_RENAME+0x7c
> do_sys_rename(bfbfca5c,80996e0,0,0,0,c0681f74,ceacbd3c,c03cd918,ce9bf300,ceacbd00)
>  at netbsd:do_sys_rename+0x3c5
> sys_rename(ce9bf300,ceacbd00,ceacbd28,bbb56000,ce85de18,ce85de18,1,bfbfca5c,80996e0,ce9bf300)
>  at netbsd:sys_rename+0x26
> syscall(ceacbd48,b3,ab,bfbf001f,bbbd001f,bfbfca5c,3,bfbfbdd8,80996e0,bfbfca5c)
>  at netbsd:syscall+0xc8
> 
> -- 
> Manuel Bouyer, LIP6, Universite Paris VI.           
> Manuel.Bouyer%lip6.fr@localhost
>      NetBSD: 26 ans d'experience feront toujours la difference
> --


Home | Main Index | Thread Index | Old Index