I have an update on this one. (John, lemme know if you want access to
the crashdump).
On Wed, 25 Jul 2001 21:30:49 +0200, Sheldon Hearn wrote:
> > Log:
> > Add build infrastructure for a libiconv loadable kernel module.
> >
> > This should allow the use of the smbfs module without the
> > requirement to rebuild the kernel with LIBICONV.
>
> I haven't connected this to the modules build because I can't test that
> it works. Sure, it loads fine, but I get a reproducible kernel mode
> page fault in the rl(4) interrupt handler when I actually try to use it.
The kernel mode page fault isn't in the if_rl interrupt handler. That
was a weird red herring.
It took a while to get a working crashdump. I would type panic and
press enter, coming right back to the prompt. If I pressed enter or
typed panic and pressed enter at the prompt, I'd get this:
panic: Lock (sx) allproc not locked. [...] kern_synch.c:297
Eventually, I got a crashdump as follows:
> panic
> trace
> panic
Weird. So here's what's actually going wrong for me:
#10 0xc0271480 in trap (frame={tf_fs = 24, tf_es = 16, tf_ds = 16,
tf_edi = -881182336, tf_esi = -1053397736, tf_ebp = -852845520,
tf_isp = -852845552, tf_ebx = -1070565552, tf_edx = 0,
tf_ecx = -881182336, tf_eax = -1070717408, tf_trapno = 12, tf_err = 0,
tf_eip = -1071939473, tf_cs = 8, tf_eflags = 66071,
tf_esp = -1053397736, tf_ss = -1054244352})
at /usr/src/sys/i386/i386/trap.c:410
410 (void) trap_pfault(&frame, FALSE, eva);
#11 0xc01b806f in witness_destroy (lock=0xc1366d18)
at /usr/src/sys/kern/subr_witness.c:395
#12 0xc0191b8b in mtx_destroy (m=0xc1366d18)
at /usr/src/sys/kern/kern_mutex.c:680
#13 0xc134827d in smb_iod_destroy (iod=0xc1366d00)
at /usr/src/sys/modules/smbfs/../../netsmb/smb_iod.c:692
[...]
Looking inside frame #11...
(kgdb) frame 11
#11 0xc01b806f in witness_destroy (lock=0xc1366d18)
at /usr/src/sys/kern/subr_witness.c:395
395 STAILQ_REMOVE(&all_locks, lock, lock_object, lo_list);
(kgdb) print *lock->lo_witness
$34 = {w_name = 0xc029dbc6 "(dead)", w_class = 0xc02e0380, w_list = {
stqe_next = 0xc0307778}, w_typelist = {stqe_next = 0xc0307778},
w_children = 0x0, w_file = 0xc029dbc6 "(dead)", w_line = 0, w_level = 1,
w_refcount = 0, w_Giant_squawked = 0 '\000', w_other_squawked = 0 '\000',
w_same_squawked = 0 '\000'}
I'm absolutely stumped.
Ciao,
Sheldon.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message