Thanks for the replies. Well my problem is that I don't seem to be spawning the 
owner thread. i.e. I printed all the thread-ids I'm spawning (including the 
mutex._opaque[0] value each time it is entered and exited) and none of them 
matches the actual owner thread id of the mutex. Any idea how I can find out 
who its parent is?
Regards,
Bhaskar.

-----Original Message-----
From: Sean Sprague [mailto:s...@cvok.co.uk] 
Sent: Thursday, October 08, 2009 4:39 PM
To: Jayaraman, Bhaskar
Cc: opensolaris-code@opensolaris.org; Sean Sprague
Subject: Re: [osol-code] Crash in kernel code!

Bhaskar,

> Hi I'm getting the following crash in mutex_exit which is being done 
> in the kernel.
>
> > ::status
>
> debugging crash dump vmcore.0 (32-bit) from solaris-devx
>
> operating system: 5.11 snv_72 (i86pc)
>
> panic message: mutex_exit: not owner, lp=d0eb3c94 owner=f6c4f510 
> thread=d0eb3de0
>
> dump content: kernel pages only
>
> > ::stack
>
> vpanic(fe8ad938, fe8ad8b0, d0eb3c94, f6c4f510, d0eb3de0)
>
> mutex_panic+0x55(fe8ad8b0, d0eb3c94)
>
> mutex_vector_exit+0x2d(d0eb3c94)
>
> taskq_ent_free+0x2c(d0eb3c74, cd7e9240)
>
> taskq_thread+0x1d8(cd7ec0a8, 0)
>
> thread_start+8()
>
> I'm spawning threads in the kernel which seems to be causing this. Is 
> there any anything you could help me out with about what is going 
> wrong here?
>

 From this stack backtrace, I guess that the answer is generically "no", 
and supplementally "you can always write code that can generate a panic, 
but please don't try too hard to do so". ICBWT. Check your code more 
thoroughly - this cannot really be attributed to a *Solaris (you didn't 
state any *Solaris release; and this is an OpenSolaris code thread) fault.

Regards... Sean.

Just spotted (at the last second - one year old with chicken pox is 
tiring me substantially) "mutex_exit: "not owner"; hmmm... Is your 
driver trying to modify Kernel data structures directly? The panic is 
from 
http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/mutex.c#517
 
and suggests that the current thread is not the owner of the mutex (and 
I can only think by some odd mod of a struct).

I am waaay out of my depth here, but thought I would make a vague 
suggestion anyway - at least consult the source code as refrernced above.

R'S.
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to