The following panic can reliably be reproduced on a GENERIC 6.0-BETA3 kernel when loading linux support via /etc/rc.conf (linux_enable="YES") and then issuing "kldunload linux".
I'll leave the crash dump around. % kgdb -n 95 [...] Unread portion of the kernel message buffer: panic: witness_destroy: lock (sleep mutex) linux osname is not initialized cpuid = 0 KDB: enter: panic Dumping 191 MB (2 chunks) chunk 0: 1MB (159 pages) ... ok chunk 1: 191MB (48880 pages) 175 159 143 127 111 95 79 63 47 31 15 #0 doadump () at pcpu.h:165 165 pcpu.h: No such file or directory. in pcpu.h (kgdb) bt f #0 doadump () at pcpu.h:165 No locals. #1 0xc0475ae6 in db_fncall (dummy1=0, dummy2=0, dummy3=1999, dummy4=0xcf021a38 "\200Ø\235À") at /usr/src/sys/ddb/db_command.c:489 fn_addr = -1066784304 args = {0, -821945852, -1064888387, -1062909536, 28, -821945852, -1069058507, 32, -1063899200, 2} nargs = 0 retval = 547703424 t = 0 #2 0xc0475862 in db_command (last_cmdp=0xc09dcf84, cmd_table=0x0, aux_cmd_tablep=0xc095a0c0, aux_cmd_tablep_end=0xc095a0dc) at /usr/src/sys/ddb/db_command.c:349 cmd = (struct command *) 0xc0963140 t = 0 modif = "\200Ø\235À\000\000\000\000T\032\002Ï\r\000\000\000à\034§À\r\000\000\000\001\000\000\000t\032\002ÏÆæ\211À I¥À\aK\000 d\035§À\000_€À\200Ø\235Àx\000\000\000\200Ø\235À\000\000\000\000\230\032\002Ï1\177GÀbê\222À°{GÀ\000\000\000\000\020\000\000\000\000\000\000\000\200Ø\235ÀÆqGÀ\200Ø\235À8Ð\235Àx\000\000\000ü\032\002Ï" addr = 0 count = 1999 have_addr = 0 result = 0 #3 0xc0475975 in db_command_loop () at /usr/src/sys/ddb/db_command.c:455 No locals. #4 0xc0477ae5 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221 jb = {{_jb = {-821945604, -821945632, -821945552, 1, 0, -1069057402, 0, 0, 0, 0, -821945552, -1066657536}}} prev_jb = (void *) 0x0 bkpt = 0 #5 0xc06c19ae in kdb_trap (type=0, code=0, tf=0xcf021b98) at /usr/src/sys/kern/subr_kdb.c:473 did_stop_cpus = 1 handled = -821945448 #6 0xc08c2468 in trap (frame= {tf_fs = 8, tf_es = 40, tf_ds = -821952472, tf_edi = 256, tf_esi = 1, tf_ebp = -821945376, tf_isp = -821945404, tf_ebx = -821945316, tf_edx = 0, tf_ecx = -1056755712, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip = -1066658176, tf_cs = 32, tf_eflags = 646, tf_esp = -1064104898, tf_ss = -1064113900}) at /usr/src/sys/i386/i386/trap.c:601 td = (struct thread *) 0xc24db300 p = (struct proc *) 0xc24fc830 sticks = 3473021836 i = 0 ucode = 0 type = 3 code = 0 eva = 0 #7 0xc08ac43a in calltrap () at /usr/src/sys/i386/i386/exception.s:139 No locals. #8 0x00000008 in ?? () No symbol table info available. #9 0x00000028 in ?? () No symbol table info available. #10 0xcf020028 in ?? () No symbol table info available. #11 0x00000100 in ?? () No symbol table info available. #12 0x00000001 in ?? () No symbol table info available. #13 0xcf021be0 in ?? () No symbol table info available. #14 0xcf021bc4 in ?? () No symbol table info available. #15 0xcf021c1c in ?? () No symbol table info available. #16 0x00000000 in ?? () No symbol table info available. #17 0xc1033000 in ?? () No symbol table info available. #18 0x00000012 in ?? () No symbol table info available. #19 0x00000003 in ?? () No symbol table info available. #20 0x00000000 in ?? () No symbol table info available. #21 0xc06c1680 in kdb_enter (msg=0x0) at cpufunc.h:60 No locals. #22 0xc06a337e in panic (fmt=0xc09323ad "%s: lock (%s) %s is not initialized") at /usr/src/sys/kern/kern_shutdown.c:537 td = (struct thread *) 0xc24db300 bootopt = 256 newpanic = 1 ap = 0xcf021c1c "µ}\216Àè\232\224ÀþÈ2ÂÀæ2Â\020Î2ÂL\034\002ÏX\230iÀÀæ2ÂíÈ\222À" buf = "witness_destroy: lock (sleep mutex) linux osname is not initialized", '\0' <repeats 188 times> #23 0xc06cd5a9 in witness_destroy (lock=0xc232e6c0) at /usr/src/sys/kern/subr_witness.c:567 w = (struct witness *) 0xc232e6c0 __func__ = "witness_destroy" #24 0xc0699858 in mtx_destroy (m=0xc232e6c0) at /usr/src/sys/kern/kern_mutex.c:875 No locals. #25 0xc0691b60 in linker_file_sysuninit (lf=0x0) at /usr/src/sys/kern/kern_linker.c:238 start = (struct sysinit **) 0xc232ce10 stop = (struct sysinit **) 0xc232ce18 sipp = (struct sysinit **) 0xc232ce10 xipp = (struct sysinit **) 0x0 save = (struct sysinit *) 0x0 #26 0xc0692384 in linker_file_unload (file=0xc222eb00, flags=0) at /usr/src/sys/kern/kern_linker.c:539 mod = 0x0 next = 0x0 ml = 0x0 nextml = 0x0 cp = (struct common_symbol *) 0x0 error = 0 i = 0 #27 0xc0692c3a in kern_kldunload (td=0xc222eb00, fileid=0, flags=0) at /usr/src/sys/kern/kern_linker.c:828 lf = 0xc222eb00 error = 2 #28 0xc0692cdc in kldunloadf (td=0x0, uap=0x0) at /usr/src/sys/kern/kern_linker.c:858 No locals. #29 0xc08c2e30 in syscall (frame= {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 4, tf_esi = -1077940798, tf_ebp = -1077941080, tf_isp = -821944988, tf_ebx = 1, tf_edx = -1077940798, tf_ecx = 1, tf_eax = 444, tf_trapno = 0, tf_err = 2, tf_eip = 671855983, tf_cs = 51, tf_eflags = 582, tf_esp = -1077942212, tf_ss = 59}) at /usr/src/sys/i386/i386/trap.c:986 params = 0xbfbfe840 <Address 0xbfbfe840 out of bounds> callp = (struct sysent *) 0xc0990150 td = (struct thread *) 0xc24db300 p = (struct proc *) 0xc24fc830 orig_tf_eflags = 582 sticks = 3 error = 0 narg = 2 args = {4, 0, -1064543505, -1063413248, -821945036, 0, 0, 671524056} code = 444 #30 0xc08ac48f in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:200 No locals. #31 0x0000003b in ?? () No symbol table info available. #32 0x0000003b in ?? () No symbol table info available. #33 0x0000003b in ?? () No symbol table info available. #34 0x00000004 in ?? () No symbol table info available. #35 0xbfbfedc2 in ?? () No symbol table info available. #36 0xbfbfeca8 in ?? () No symbol table info available. #37 0xcf021d64 in ?? () No symbol table info available. #38 0x00000001 in ?? () No symbol table info available. #39 0xbfbfedc2 in ?? () No symbol table info available. #40 0x00000001 in ?? () No symbol table info available. #41 0x000001bc in ?? () No symbol table info available. #42 0x00000000 in ?? () No symbol table info available. #43 0x00000002 in ?? () No symbol table info available. #44 0x280bb56f in ?? () No symbol table info available. #45 0x00000033 in ?? () No symbol table info available. #46 0x00000246 in ?? () No symbol table info available. #47 0xbfbfe83c in ?? () No symbol table info available. #48 0x0000003b in ?? () No symbol table info available. #49 0x00000000 in ?? () No symbol table info available. #50 0x00000000 in ?? () No symbol table info available. #51 0x00000000 in ?? () No symbol table info available. #52 0x00000000 in ?? () No symbol table info available. #53 0x0872a000 in ?? () No symbol table info available. #54 0xc24fc830 in ?? () No symbol table info available. #55 0xc24db300 in ?? () No symbol table info available. #56 0xcf0219b0 in ?? () No symbol table info available. #57 0xcf02198c in ?? () No symbol table info available. #58 0xc1465600 in ?? () No symbol table info available. #59 0xc06b7a90 in sched_switch (td=0xbfbfedc2, newtd=0x1, flags=Cannot access memory at address 0xbfbfecb8) at /usr/src/sys/kern/sched_4bsd.c:973 kg = (struct ksegrp *) 0x0 p = (struct proc *) 0x4 Previous frame inner to this frame (corrupt stack?) (kgdb) q -- GPG fingerprint = 5FFA 3959 3377 C697 8428 24D0 BF3E F4A9 AE33 5DCC "It won't fit on the line." -- me, 2001
pgpwiPQTldwkU.pgp
Description: PGP signature