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:43:19PM +0100, Patrick Welche wrote:
> 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?

... because the tests tend to use rump_server which is fine.

> > > $ 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 that 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)

initializing `pad'...pad0: outputs: 44100Hz, 16-bit, stereo
audio0 at pad0: half duplex, playback, capture
 done
initializing `fss'... done
initializing `drvctl'...mutex error: lockdebug_alloc: already initialized

so two lots of drvctl...

P


Home | Main Index | Thread Index | Old Index