tech-kern archive

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

Re: LOCKDEBUG panic: lockdebug_alloc: already initialized



Looks like the mutex linux_futex.c::futex_lock is missing a
mutex_destroy() on module unload to make LOCKDEBUG happy.

--
Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)

On Jul 2, 2011, at 6:29 PM, dieter roelants wrote:

> On Fri, 1 Jul 2011 13:53:01 +0200
> dieter roelants <dieter.NetBSD%pandora.be@localhost> wrote:
> 
>> Mutex error: lockdebug_alloc: already initialized
>> 
> 
> It looks like this is reproducable: I wiped all packages from the
> machine and started building again and it crashed in the exact same way
> (while pkg_adding nspluginwrapper).
> 
> I have the following on the console:
> 
> /usr/pkg/emul/linux32/sbin/ldconfig: bad tag 3: [4 4, 20 4,  GNU  PaX]
> /usr/pkg/lib/nspluginwrapper/i386/linux/npviewer.bin: bad tag 1: [4 4, 16 4,  
> GNU  PaX]
> /usr/pkg/lib/nspluginwrapper/i386/linux/npviewer.bin: bad tag 1: [4 4, 16 4,  
> GNU  PaX]
> /usr/pkg/lib/nspluginwrapper/i386/linux/npviewer.bin: bad tag 1: [4 4, 16 4,  
> GNU  PaX]
> Mutex error: lockdebug_alloc: already initialized
> 
> lock address : 0xffffffff80f96d20 type     :     sleep/adaptive
> initialized  : 0xffffffff80f8c8b1
> shared holds :                  0 exclusive:                  0
> shares wanted:                  0 exclusive:                  0
> current cpu  :                  1 last held:                  2
> current lwp  : 0xffff80006c2915a0 last held: 000000000000000000
> last locked  : 0xffffffff80f8c4e6 unlocked*: 0xffffffff80f8c43f
> owner field  : 000000000000000000 wait/spin:                0/0
> 
> Turnstile chain at 0xffffffff80cf3700.
> => No active turnstile for this lock.
> 
> panic: LOCKDEBUG
> fatal breakpoint trap in supervisor mode
> trap type 1 code 0 rip ffffffff8024088d cs 8 rflags 246 cr2  fb84b0a0 cpl 0 
> rsp ffff80006bf9b920
> Stopped in pid 25865.25865 (npviewer.bin) at    netbsd:breakpoint+0x5:  leave
> db{1}> bt
> breakpoint() at netbsd:breakpoint+0x5
> panic() at netbsd:panic+0x27d
> lockdebug_locked() at netbsd:lockdebug_locked
> lockdebug_alloc() at netbsd:lockdebug_alloc+0xd9
> mutex_init() at netbsd:mutex_init+0x93
> futex_init() at compat_linux:futex_init+0x17
> linux_do_futex() at compat_linux:linux_do_futex+0x39f
> db{1}> ps
> PID    LID S CPU     FLAGS       STRUCT LWP *               NAME WAIT
> 25865>25865 7   1     40000   ffff80006c2915a0       npviewer.bin
> 11904    1 3   2        80   ffff80006c291180           npconfig wait
> 28517    1 3   2        80   ffff800071127020                 sh wait
> 18356    1 3   2     40080   ffff80006d56e1a0            pkg_add wait
> 5658     1 3   2        80   ffff80006d2c8560                 sh wait
> 665      1 3   2        80   ffff80006863d060               make wait
> 1297     1 3   2        80   ffff80007af924a0                 sh wait
> 16744    1 3   2        80   ffff8000710c1740               make wait
> 5290     1 3   3        80   ffff80006c94e420                 sh wait
> 27442    1 3   3        80   ffff80007b05e8e0               make wait
> 9114     1 3   3        80   ffff80006c298600                 sh wait
> 6731     1 3   3        80   ffff80006d4a99c0               make wait
> 14733    1 3   3        80   ffff80006c340680                 sh wait
> 
> I can get more info from ddb if needed...
> 
> kind regards
> dieter



Home | Main Index | Thread Index | Old Index