On Sat, Dec 30, 2000 at 12:08:48PM -0800, John Baldwin wrote:
>
> On 30-Dec-00 Michael Harnois wrote:
> > panic: lockable mtx_enter() of lockmgr interlock when not legal @
> > ../../kern/kern_lock.c: 247
> >
> > which is
> >
> > mtx_enter(lkp->lk_interlock, MTX_DEF);
>
> We need to know where interrupts were disabled (since that is what makes the
> blockable mtx_enter() not legal). The most likely reason is that sched_lock is
> held. Take a crash dump if you can, and then examine the
> '__mtx_debug_sched_lock' variable. Esp. the mtxd_line and mtd_file members
> which tell us where sched_lock was last acquired.
John,
I can already supply the needed information.
(kgdb) print __mtx_debug_sched_lock
$1 = {mtxd_witness = 0xc03d98f0, mtxd_held = {le_next = 0x0, le_prev =
0x0},
mtxd_file = 0xc033c27c "../../kern/kern_sig.c", mtxd_line = 1111,
mtxd_description = 0xc0368cbf "sched lock"}
and:
(kgdb) print __mtx_debug_sched_lock->mtxd_line
$2 = 1111
(kgdb) list $2
1106 if (!witness_watch)
1107 return (NULL);
1108 for (ignore = ignore_list; *ignore != NULL; ignore++)
1109 if (strcmp(description, *ignore) == 0)
1110 return (NULL);
1111
1112 if (w_inited == 0) {
1113 mtx_init(&w_mtx, "witness lock", MTX_COLD |
MTX_SPIN);
1114 for (i = 0; i < WITNESS_COUNT; i++) {
1115 w = &w_data[i];
(kgdb) print __mtx_debug_sched_lock->mtxd_file
$3 = 0xc033c27c "../../kern/kern_sig.c"
If you have any more questions... don't hesitate to contact me.
--
Regards:
Szilveszter ADAM
Szeged University
Szeged Hungary
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message