On 07/26/2011 08:00 AM, Darren Hart wrote: > On 07/25/2011 03:20 PM, Darren Hart wrote: >> On 07/24/2011 09:12 AM, Thomas Gleixner wrote: >>> On Sun, 24 Jul 2011, Maarten Lankhorst wrote: >> ... >> >>>> Also not sure where this one came from: >>>> [ 37.456688] BUG: spinlock bad magic on CPU#3, threaded-ml/1619 >>>> [ 37.456690] lock: ffff8801fdc74d50, .magic: 00000000, .owner: /-1, .owner_cpu: 0 >>>> [ 37.456692] Pid: 1619, comm: threaded-ml Tainted: G C 3.0.0-rt3-patser+ #39 >>>> [ 37.456693] Call Trace: >>>> [ 37.456697] [] spin_bug+0xa0/0xa8 >>>> [ 37.456699] [] do_raw_spin_lock+0xa2/0x170 >>>> [ 37.456702] [] ? get_parent_ip+0x11/0x50 >>>> [ 37.456704] [] _raw_spin_lock+0x23/0x30 >>>> [ 37.456706] [] rt_mutex_start_proxy_lock+0x2e/0xd0 >>>> [ 37.456708] [] futex_requeue+0x47a/0x850 >>>> [ 37.456710] [] do_futex+0xae/0xb00 >>>> [ 37.456712] [] ? fget_light+0x6d/0x110 >>>> [ 37.456714] [] ? audit_syscall_entry+0x2e7/0x310 >>>> [ 37.456715] [] ? sys_recvmsg+0x75/0x90 >>>> [ 37.456717] [] compat_sys_futex+0xf6/0x190 >>>> [ 37.456719] [] ? syscall_trace_enter+0x184/0x210 >>>> [ 37.456721] [] ia32_do_call+0x13/0x13 >>> Urrgh, that's not a good one. Darren, can you please have a look at that? >>> >> Will do. >> >> Maarten, what are you running when you hit this? >> rt_mutex_start_proxy_lock() is only called by the requeue_pi code and >> there is no libc support for that yet, so I'm surprised to see that in >> the stack trace (unless you're running my futextest suite). > I've run a couple iterations of functional/run.sh from futextest which > exercises the requeue_pi code with no errors. I also wrote a new test to > improperly use the requeue_pi path, and the kernel properly detects the > abuse and kicks the user back with -EINVAL. > > Could you try running futextest on your system to see if you can > reproduce the above? Specifically the functional/run.sh script (no need > to run the performance bits). > > http://git.kernel.org/?p=linux/kernel/git/dvhart/futextest.git;a=summary Same bug if I just call run.sh, it happens in futex_requeue_pi -b I attached my kernel config file in case it's needed to trigger. It only happens once, after that I have to reboot to trigger it again. The tid matches the waker thread. You probably have to run it before pulseaudio is started because sometimes I get that error on that one too. ~Maarten