From owner-freebsd-current Sun Jul 29 13:17:57 2001 Delivered-To: freebsd-current@freebsd.org Received: from axl.seasidesoftware.co.za (axl.seasidesoftware.co.za [196.31.7.201]) by hub.freebsd.org (Postfix) with ESMTP id C6B2237B401; Sun, 29 Jul 2001 13:17:50 -0700 (PDT) (envelope-from sheldonh@starjuice.net) Received: from sheldonh (helo=axl.seasidesoftware.co.za) by axl.seasidesoftware.co.za with local-esmtp (Exim 3.31 #1) id 15Qx1Y-0000NK-00; Sun, 29 Jul 2001 22:18:52 +0200 From: Sheldon Hearn To: current@FreeBSD.org Cc: jhb@FreeBSD.org Subject: Re: Help wanted: loadable SMBFS In-reply-to: Your message of "Wed, 25 Jul 2001 21:30:49 +0200." <872.996089449@axl.seasidesoftware.co.za> Date: Sun, 29 Jul 2001 22:18:51 +0200 Message-ID: <1445.996437931@axl.seasidesoftware.co.za> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message