Current-Users archive

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

Re: rump LOCKDEBUG panic



On Fri, Jan 13, 2017 at 04:00:20PM +0100, Patrick Welche wrote:
> On Fri, Jan 13, 2017 at 03:15:19PM +0100, Patrick Welche wrote:
> > Given how many tests are based on rump, am I the only one seeing this?
> > 
> > $ rump_allserver -v unix://sock
> > Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
> >     2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
> >     The NetBSD Foundation, Inc.  All rights reserved.
> > Copyright (c) 1982, 1986, 1989, 1991, 1993
> >     The Regents of the University of California.  All rights reserved.
> > 
> > NetBSD 7.99.58 (RUMP-ROAST)
> > ...
> > audio0 at pad0: half duplex, playback, capture
> > mutex error: lockdebug_alloc: already initialized
> > 
> > lock address : 0x00007f7ff6604300 type     :     sleep/adaptive
> > initialized  : 0x00007f7ff640294a
> > shared holds :                  0 exclusive:                  0
> > shares wanted:                  0 exclusive:                  0
> > current cpu  :                  0 last held:                  0
> > current lwp  : 0x00007f7ff7b3f800 last held: 000000000000000000
> > last locked  : 000000000000000000 unlocked*: 000000000000000000
> > 
> > 
> > panic: LOCKDEBUG: mutex error: lockdebug_alloc: already initialized
> 
> It seems taht drvctl_init gets called twice:
> 
> first call of drvctl_init
> 
> #0  drvctl_init ()
>     at /usr/src/sys/rump/dev/lib/libdrvctl/../../../../kern/kern_drvctl.c:118
> #1  0x00007f7ff6401e29 in rumpcompinitRUMP_COMPONENT_DEV ()
>     at /usr/src/sys/rump/dev/lib/libdrvctl/drvctl_component.c:46
> #2  0x00007f7fe50d2fcd in rump_component_init (type=RUMP_COMPONENT_DEV)
>     at /usr/src/sys/rump/librump/rumpkern/rump.c:606
> #3  0x00007f7fe5c0b348 in rumpcompinitRUMP__FACTION_DEV ()
>     at /usr/src/sys/rump/librump/rumpdev/rump_dev.c:54
> #4  0x00007f7fe50d2fcd in rump_component_init (type=RUMP__FACTION_DEV)
    at /usr/src/sys/rump/librump/rumpkern/rump.c:606
#5  0x00007f7fe50d297b in rump_init ()
    at /usr/src/sys/rump/librump/rumpkern/rump.c:434
#6  0x0000000000203cd9 in main (argc=1, argv=0x7f7fffffcb20)
    at /usr/src/usr.bin/rump_allserver/rump_allserver.c:401

> second call:
> 
> #0  drvctl_init ()
>     at /usr/src/sys/rump/dev/lib/libdrvctl/../../../../kern/kern_drvctl.c:118
> #1  0x00007f7ff6402ef2 in drvctl_modcmd (cmd=MODULE_CMD_INIT, arg=0x0)
>     at /usr/src/sys/rump/dev/lib/libdrvctl/../../../../kern/kern_drvctl.c:615
> #2  0x00007f7fe50af0c4 in module_do_builtin (pmod=0x7f7ff7bd1c98,
>     name=0x7f7ff640321b "drvctl", modp=0x0, props=0x0)
>     at /usr/src/sys/rump/librump/rumpkern/../../../kern/kern_module.c:830
> #3  0x00007f7fe50ae78c in module_init_class (modclass=MODULE_CLASS_ANY)
>     at /usr/src/sys/rump/librump/rumpkern/../../../kern/kern_module.c:511
> #4  0x00007f7fe50d2a95 in rump_init ()
>     at /usr/src/sys/rump/librump/rumpkern/rump.c:459
> #5  0x0000000000203cd9 in main (argc=1, argv=0x7f7fffffcb20)
>     at /usr/src/usr.bin/rump_allserver/rump_allserver.c:401

i.e., once from rump_component_init(RUMP__FACTION_DEV), and once from
module_init_class(MODULE_CLASS_ANY)

P


Home | Main Index | Thread Index | Old Index