On Thu, Mar 12, 2015 at 02:05:32PM +1000, Nick Frampton wrote:
> On 12/03/15 00:38, John Baldwin wrote:
> >>> It sounds like this issue might be the one fixed in r272566: if the
> >>> > >KERN_PROC_ALL sysctl is read with an insufficiently large buffer, an
> >>> > >sbuf error return value could bubble up and be treated as ERESTART,
> >>> > >resulting in a loop.
> >>> > >
> >>> > >This can be confirmed with something like
> >>> > >
> >>> > > dtrace -n 'syscall:::entry/pid == $target/{@[probefunc] =
> >>> > > count();} tick-3s {exit(0);}' -p <pid of looping proc>
> >>> > >
> >>> > >If the output consists solely of __sysctl, this bug is likely the
> >>> > >culprit.
> >> >
> >> >Unfortunately, I accidentally killed fstat this morning before I could do
> >> >any further debug.
> >> >
> >> >I ran truss -p on it yesterday and it was spinning solely on __sysctl.
> >> >
> >> >I'll try compiling with debug symbols in case it happens again. I haven't
> >> >been able to reproduce the
> >> >problem in a reasonable time frame so it could be days or weeks before we
> >> >see it happen again.
> > Tha truss output is consistent with Mark's suggestion, so I would try
> > his suggested fix of 272566.
>
> I patched the 10.1 kernel with r272566 and it appears to have fixed the
> issue. Is this patch likely
> to be MFCed back to 10-stable?
I can't see any reason it shouldn't be, and there was an MFC reminder in
the commit log entry for that revision. I've cc'ed kib@, who might have a
reason.
>
> Our RC script forks off about 200 processes when starting our software, and I
> wrote a small script
> to repeatedly stop/start the software, which fairly reliably reproduces the
> issue about 1 in 10
> times. I've been running the script with the patched kernel for an hour now
> and I haven't seen the
> issue appear.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"