Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jan 2003 15:43:39 +0300
From:      Gennady Proskurin <gpr@nvnpp.vrn.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/47359: panic after kldunload snp
Message-ID:  <E18bKEF-0006JF-00@relay.nvnpp.vrn.ru>

next in thread | raw e-mail | index | archive | help

>Number:         47359
>Category:       kern
>Synopsis:       panic after kldunload snp
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 22 04:50:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Gennady Proskurin
>Release:        FreeBSD 4.7-RELEASE-p3 i386
>Organization:
>Environment:

	
>Description:
	When snp module unloaded after watch(8) connected and
	disconnected from tty, doing lstat(2) on /dev/snp*
	makes system panic.
>How-To-Repeat:
	- Compile kernel without snp
	- Watch some tty, then exit watch
	- kldunload snp
	- ls -l /dev/snp*
	panic...

I kept core, so I can give some additional information from gdb.

IdlePTD at phsyical address 0x002fc000
initial pcb at physical address 0x00278960
panicstr: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0xc18b8510
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc0196005
stack pointer	        = 0x10:0xccf2bdd0
frame pointer	        = 0x10:0xccf2bddc
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 11876 (ls)
interrupt mask		= none
trap number		= 12
panic: page fault

syncing disks... 13 1 1 
done
Uptime: 12d6h2m26s

dumping to dev #da/0x20001, offset 8192
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487		if (dumping++) {
(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc0166d9c in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316
#2  0xc01671e9 in panic (fmt=0xc024e84c "%s")
    at /usr/src/sys/kern/kern_shutdown.c:595
#3  0xc0216564 in trap_fatal (frame=0xccf2bd90, eva=3247146256)
    at /usr/src/sys/i386/i386/trap.c:974
#4  0xc0216201 in trap_pfault (frame=0xccf2bd90, usermode=0, eva=3247146256)
    at /usr/src/sys/i386/i386/trap.c:867
#5  0xc0215d73 in trap (frame={tf_fs = -856555504, tf_es = -867827696, 
      tf_ds = -861601776, tf_edi = -862491648, tf_esi = -862491648, 
      tf_ebp = -856506916, tf_isp = -856506948, tf_ebx = 0, tf_edx = 0, 
      tf_ecx = 7, tf_eax = -1047821088, tf_trapno = 12, tf_err = 0, 
      tf_eip = -1072078843, tf_cs = 8, tf_eflags = 66178, 
      tf_esp = -1055470080, tf_ss = -856506868})
    at /usr/src/sys/i386/i386/trap.c:466
#6  0xc0196005 in vn_isdisk (vp=0xcc976c00, errp=0x0)
    at /usr/src/sys/kern/vfs_subr.c:3072
#7  0xc019bcac in vn_stat (vp=0xcc976c00, sb=0xccf2bed4, p=0xccd71ba0)
    at /usr/src/sys/kern/vfs_vnops.c:536
#8  0xc0198593 in lstat (p=0xccd71ba0, uap=0xccf2bf80)
    at /usr/src/sys/kern/vfs_syscalls.c:1826
#9  0xc021679a in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, 
      tf_edi = 134880256, tf_esi = 134897812, tf_ebp = -1077939084, 
      tf_isp = -856506412, tf_ebx = 134880328, tf_edx = 134881408, tf_ecx = 0, 
      tf_eax = 190, tf_trapno = 12, tf_err = 2, tf_eip = 134575376, 
      tf_cs = 31, tf_eflags = 659, tf_esp = -1077939224, tf_ss = 47})
    at /usr/src/sys/i386/i386/trap.c:1175
#10 0xc0209625 in Xint0x80_syscall ()
#11 0x8056e45 in ?? ()
#12 0x8056a8c in ?? ()
#13 0x8048b91 in ?? ()
#14 0x8048a1c in ?? ()
#15 0x8048135 in ?? ()
(kgdb) l *0xc0196005
0xc0196005 is in vn_isdisk (/usr/src/sys/kern/vfs_subr.c:3072).
3067		if (!devsw(vp->v_rdev)) {
3068			if (errp != NULL)
3069				*errp = ENXIO;
3070			return (0);
3071		}
3072		if (!(devsw(vp->v_rdev)->d_flags & D_DISK)) {
3073			if (errp != NULL)
3074				*errp = ENOTBLK;
3075			return (0);
3076		}
(kgdb)

	
>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E18bKEF-0006JF-00>