On 22/02/15 23:45, Justin Cormack wrote:
> I have an issue which seems vaguely familiar, but I dont remember the
> way we resolved it before.

You're probably remembering the case where some implementation of 
rumpuser_thread_create() was wrapped in a scheduling operation.  I think 
that was "fixed" by removing the wrap, which is sort of ok, since 
thread_create() is not supposed to wait any other rump kernel activity. 
  It wasn't an optimal "fix", but since rumpuser_thread_create() may be 
called early in the bootstrap process, doing it any other way would've 
taken more dancing.  I guess the best fix there would be to documentation.

> I am getting a mutex used before it has been initialized. It is the
> frag6_lock mutex in netinet6/frag6.c. The callout is getting to it
> before frag6_init has been called.

Your frankenlibc timer stuff is probably broken, which explains why 
nobody else is seeing what you're seeing, but there appears to be a real 
bug.

When domaininit() is called with attach=false in a rump kernel, the 
proto fast/slow timers are created, but proto initialization method is 
only run later when domain_attach() is called.  The straightforward fix 
would be to initialize the timers in a separate call.  Not yet sure if 
that's the best fix, though.

> #0  rumpuser_mutex_tryenter (mtx=0x0) at
> /home/justin/frankenlibc/rumpsrc/lib/librumpuser/rumpfiber.c:728
> #1  rumpuser_mutex_enter (mtx=0x0) at
> /home/justin/frankenlibc/rumpsrc/lib/librumpuser/rumpfiber.c:703
> #2  0x0000000000437711 in frag6_slowtimo ()
>      at 
> /home/justin/frankenlibc/rumpsrc/sys/rump/net/lib/libnet/../../../../netinet6/frag6.c:620
> #3  0x0000000000492b4b in pfslowtimo (arg=<optimised out>)
>      at 
> /home/justin/frankenlibc/rumpsrc/sys/rump/librump/rumpnet/../../../kern/uipc_domain.c:705
> #4  0x000000000053bf37 in callout_softclock (v=<optimised out>)
>      at 
> /home/justin/frankenlibc/rumpsrc/sys/rump/librump/rumpkern/../../../kern/kern_timeout.c:741
> #5  0x0000000000562ec6 in sithread (arg=<optimised out>) at
> /home/justin/frankenlibc/rumpsrc/sys/rump/librump/rumpkern/intr.c:178
> #6  0x000000000055ff0e in threadbouncer (arg=0x7ffff7fa21b0)
>      at 
> /home/justin/frankenlibc/rumpsrc/sys/rump/librump/rumpkern/threads.c:90
>
> ------------------------------------------------------------------------------
> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
> with Interactivity, Sharing, Native Excel Exports, App Integration & more
> Get technology previously reserved for billion-dollar corporations, FREE
> http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
> _______________________________________________
> rumpkernel-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
>

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
rumpkernel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rumpkernel-users

Reply via email to