Re: Bug: "bad unlock balance detected" 2.6.27-rc3-next-20080820



On Thu, Aug 21, 2008 at 9:04 AM, jay kumar <jaykumarks@xxxxxxxxx> wrote:
While testing 2.6.27-rc3-next-20080820 , i observed this "BUG:bad
unlock balance detected" during boot time

commit 765d4840cc9cca98c0cc4ff4764608780c3265f6
Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Wed Aug 20 18:59:47 2008 +1000


Bug info:

[ 0.140173] =====================================
[ 0.145977] [ BUG: bad unlock balance detected! ]
[ 0.145977] -------------------------------------
[ 0.145977] khelper/12 is trying to release lock (&p->cred_exec_mutex) at:
[ 0.146977] [<c05c624f>] mutex_unlock+0xd/0xf
[ 0.146977] but there are no more locks to release!
[ 0.146977]
[ 0.146977] other info that might help us debug this:
[ 0.146977] no locks held by khelper/12.
[ 0.146977]
[ 0.146977] stack backtrace:
[ 0.146977] Pid: 12, comm: khelper Not tainted 2.6.27-rc3-next-20080820 #13
[ 0.146977] [<c05c624f>] ? mutex_unlock+0xd/0xf
[ 0.146977] [<c0242944>] print_unlock_inbalance_bug+0xa5/0xb2
[ 0.146977] [<c05c624f>] ? mutex_unlock+0xd/0xf
[ 0.146977] [<c0245cd7>] lock_release+0x8f/0x186
[ 0.146977] [<c05c61f0>] __mutex_unlock_slowpath+0x9b/0xed
[ 0.146977] [<c05c624f>] mutex_unlock+0xd/0xf
[ 0.146977] [<c029506f>] free_bprm+0x24/0x39
[ 0.146977] [<c029644e>] do_execve+0x1e5/0x1fb
[ 0.146977] [<c0202156>] sys_execve+0x2e/0x51
[ 0.146977] [<c0203a72>] syscall_call+0x7/0xb
[ 0.146977] [<c0206654>] ? kernel_execve+0x1c/0x21
[ 0.146977] [<c023383c>] ? ____call_usermodehelper+0x0/0x129
[ 0.146977] [<c023395b>] ? ____call_usermodehelper+0x11f/0x129
[ 0.146977] [<c023383c>] ? ____call_usermodehelper+0x0/0x129
[ 0.146977] [<c020466b>] ? kernel_thread_helper+0x7/0x10
[ 0.146977] =======================

(config clipped)

Hi,

Thanks for the report. The error comes from

commit d9a939fb80ef390b78b3c801f668bd1e35ebc970
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Thu Aug 7 20:02:20 2008 +1000

CRED: Make execve() take advantage of copy-on-write credentials

(Added to Cc. I guess it's also nice to Cc linux-next on errors in -next code.)

I couldn't reproduce your original failure, but I've attempted to fix
it by reordering the mutex unlock and bprm free and removing the
extraneous unlock (see attached patch; it boots for me without
errors).


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036

Attachment: fix-execve.patch
Description: Binary data



Relevant Pages

  • Re: commit issue
    ... No reclockcomes from an article in Clipper ... the disk any sooner than you commit. ... Maybe you need to move the unlock and commit into a separate function, ... new lock, unlocks the previous lock in the same work area. ...
    (comp.lang.clipper)
  • Re: Very Confusing Error
    ... I was stuck on the whole idea that the ... then I just added a COMMIT above each unlock. ... Argument error was that the data after edit was diiferent from before edit, ...
    (comp.lang.clipper)
  • Re: [PATCH] splice : two smp_mb() can be omitted
    ... mutex_unlockthat contains an implicit memory barrier. ... unlock is an unprefixed store; ia64 can, ... Whenever you rely on orderings of things *outside* locks (even ...
    (Linux-Kernel)
  • Re: Overlapped file locking doesnt work on NT4?
    ... One locks the file then unlocks it, ... each client has to close the file after ... seems to lock and unlock internally? ... Speaking of "contact MSFT", NT4 support has been officially discontinued, ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Button Toggle?
    ... padlock to an open padlock, but that isn't the case in Word 2003. ... but on occasion he needs to unlock them to make minor ... Problem is, when he RE locks a form with the standard toolbar button, ... What I don't know how to do is make it a TOGGLE code like the default ...
    (microsoft.public.word.vba.general)