tech-kern archive

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

Re: CVS commit: src/sys



On Mon, Aug 26, 2013 at 04:04:24PM -0400, Thor Lancelot Simon wrote:
> On Mon, Aug 26, 2013 at 04:09:52PM +0000, Taylor R Campbell wrote:
> >    Date: Mon, 26 Aug 2013 11:57:28 +0200
> >    From: Martin Husemann <martin%duskware.de@localhost>
> > 
> >    Unfortunately this change prevents my system from booting - nothing 
> > happens
> >    after mounting root:
> > 
> >    root on sd0a dumps on sd0b
> >    root file system type: ffs
> > 
> >    and that's it - sits there idle.
> > 
> >    Also note the i386 testbed failure imediately starting with this commit
> >    (but sometime later during the install process).
> > 
> > Can you enter ddb and get a stack trace?
> 
> I got one - it goes through softint_dispatch, which looks suspicious.

So, I didn't really see anything that looked too funny, until I dropped to
DDB very very early in startup, set breakpoints in rnd_process_events and
rnd_extract_data, and did the trace;continue dance a few hundred times.

It looks to me like there may now be a cycle between rnd_process_events()
and rnd_extract_data() when the system first hits the entropy threshold,
which usually happens right around when the root filesystem is mounted
(triggering a burst of I/O).  Eventually we surpass the ability of
ddb to unwind stack frames and so tracebacks taken once the system is
visibly hung are useless.

Haven't quite put my finger on how it happens, yet.  Nor how to fix it.
If it's obvious to anyone else, go for it, I say.

Thor

P.S. I did notice quite a bit of other frustrating behavior at startup
     time -- mostly private generators in the network stack that get
     poor-quality entropy the first time they're used, then (since they
     don't have rndsinks) never get rekeyed.  To fix later...


Home | Main Index | Thread Index | Old Index