Bug 14288

Summary: BUG: bad unlock balance detected! trying to release lock (&futex_queues[i].lock)
Product: Process Management Reporter: Rich Ercolani (rercola)
Component: OtherAssignee: process_other
Status: RESOLVED CODE_FIX    
Severity: normal CC: akpm, dvhart
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.31 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: Verbose output of bad unlock balance

Description Rich Ercolani 2009-10-01 06:18:15 UTC
Created attachment 23216 [details]
Verbose output of bad unlock balance

I awoke after upgrading to 2.6.31 one day to find a blank screen.

After attaching and configuring a serial console for the next time it occurred, I got [attachment 1 [details]].

Never occurred prior to 2.6.31.
Comment 1 Darren Hart 2009-10-04 14:21:43 UTC
The bug was a result of the fault rework in e4dc5b7a36a49eff97050894cf1b3a9a02523717.  Thomas fixed it with 9694d494b7f462bffb86654fabe9e1ec2b2b0c47.  One of the retry_private optimization labels was placed after the double_lock_hb() instead of before it, leading to a double unlock on fault in wake_futex_op.