Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss <[email protected]>
Newsgroups gmane.os.freebsd.devel.afs,gmane.comp.file-systems.arla.general
Message-ID <[email protected]>
I've rebuilt everything and now there's a panic trying to mount
nnpfs:

(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc079431e in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc07945e3 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:572
#3  0xc0496107 in db_panic (addr=Could not find the frame base for "db_panic".
) at /usr/src/sys/ddb/db_command.c:446
#4  0xc0496b38 in db_command (last_cmdp=0xc0c5e9f0, cmd_table=0x0, dopager=1)
    at /usr/src/sys/ddb/db_command.c:413
#5  0xc0496c6a in db_command_loop () at /usr/src/sys/ddb/db_command.c:466
#6  0xc049845d in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:228
#7  0xc07c1746 in kdb_trap (type=12, code=0, tf=0xc89b682c)
    at /usr/src/sys/kern/subr_kdb.c:534
#8  0xc0ab8e6f in trap_fatal (frame=0xc89b682c, eva=0) at /usr/src/sys/i386/i386/trap.c:925
#9  0xc0ab90a3 in trap_pfault (frame=0xc89b682c, usermode=0, eva=0)
    at /usr/src/sys/i386/i386/trap.c:847
#10 0xc0ab9aa8 in trap (frame=0xc89b682c) at /usr/src/sys/i386/i386/trap.c:525
#11 0xc0a9da9b in calltrap () at /usr/src/sys/i386/i386/exception.s:165
#12 0xc08116be in vfs_filteropt (opts=0x0, legal=0xc2066418)
    at /usr/src/sys/kern/vfs_mount.c:1818
#13 0xc205d2d2 in nnpfs_mount_freebsd () from /usr/local/arla/bin/nnpfs.ko
#14 0xc0813711 in vfs_donmount (td=0xc1ebd690, fsflags=0, fsoptions=0xc89b6c18)
    at /usr/src/sys/kern/vfs_mount.c:1010
#15 0xc0813d78 in kernel_mount (ma=0xc1ddaa60, flags=0) at /usr/src/sys/kern/vfs_mount.c:2291
#16 0xc205d47d in nnpfs_cmount_freebsd () from /usr/local/arla/bin/nnpfs.ko
#17 0xc0811c67 in mount (td=0xc1ebd690, uap=0xc89b6cf8) at /usr/src/sys/kern/vfs_mount.c:816
#18 0xc0ab9384 in syscall (frame=0xc89b6d38) at /usr/src/sys/i386/i386/trap.c:1081
#19 0xc0a9db00 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:261
#20 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)

I can confirm using kgdb on the crash dump that mp->mnt_optnew in
vfs_filteropt is indeed NULL, but so far I can't figure out why.
Going into vfs_donmount (frame 14) shows that optlist is non-null.
I don't quite see why there's no stack frame for the call to
vfs_domount()---maybe because it's in the same module it's
suppressed?--- but regardless, I don't see any way to get to
calling VFS_MOUNT without mp->mnt_optnew being set to fsdata, which 
is the same pointer as optlist is in vfs_donmount().  

Help?  Am I missing something obvious?  Interactive kgdb doesn't show
a separate stack frame for vfs_domount() either, so I can't
meaningfully inspect any variables there either...

-- 
Alec Kloss  [email protected]   IM: [email protected]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo
signature.asc (application/pgp-signature, 187 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFIkSPo2s33paJBmA4RAu05AJ4l20ra9xeNR2Jr7O6i4nVzjDOPrQCgiJ8s
ZY041WWL86ehdO0t/87KVXQ=
=Vf99
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.