Re: [3.15-rc3] rtmutex-debug assertion.

From: Thomas Gleixner
Date: Mon May 05 2014 - 14:07:54 EST


B1;3202;0cOn Fri, 2 May 2014, Dave Jones wrote:
> On Wed, Apr 30, 2014 at 11:13:57AM +0200, Thomas Gleixner wrote:
> > On Tue, 29 Apr 2014, Dave Jones wrote:
> > > This is trickier to reproduce than it first seemed, as logging slows
> > > things down so much. But after a few hours, it logged that the
> > > call that triggered this was..
> > >
> > > futex(uaddr=0x7f55ff8c4000, op=0x6, val=0x200000006223800b, utime=0x7f55ff8c4000, uaddr2=0x7f55ff8c4000, val3=-123)
> > >
> > > Those addresses come from an mmap we made on startup..
> > >
> > > [init] mapping[3]: (zeropage PROT_READ | PROT_WRITE) 0x7f55ff8c4000 (1MB)
> > >
> > > op = FUTEX_LOCK_PI
> > >
> > > val seems to be garbage.
> > >
> > > I'll do another run, just to see if it's always the same set of values,
> > > but it's going to probably take an overnight run.
> >
> > Do you have the full fuzzing log, so I can see what happened
> > before/around that?
>
> This is tough, because it takes a long time to reproduce when the
> logging is enabled, and that ends up generating a lot of output.
> I've tried to cut it down some using just 4 threads, but that's
> still over 30M of logs.
> http://www.codemonkey.org.uk/junk/futex.tar.xz
>
> In this run, child0 was the pid that faulted.
> You can see the last line in trinity-child0.log has a similar
> fingerprint to the trace above.
>
> One thing that does look suspicious, is that all 4 threads were doing
> op=0x6 right before the kernel went south.
>
> Hope this helps.

I twisted my brain around that for a fricking long time, but I really
can't see the failure in the code.

Neither did I succeed to trigger the issue in a VM (with and without
function tracing) on Linus latest.

I grabbed trinity source and did:

# ./trinity -l off -c futex -q

That should be enough, right?

All I see in dmesg are occasional ooms which kill random trinity
childs.

I ran that stuff for almost two days now with a total of 629656086
syscalls. :(

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/