Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Dec 2002 08:20:11 -0800 (PST)
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/30160: Kernel panic when flash disk is removed and the flash disk is mounted. 
Message-ID:  <200212011620.gB1GKBQf092335@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/30160; it has been noted by GNATS.

From: Ian Dowse <iedowse@maths.tcd.ie>
To: freebsd-gnats-submit@freebsd.org
Cc:  
Subject: Re: kern/30160: Kernel panic when flash disk is removed and the flash disk is mounted. 
Date: Sun, 01 Dec 2002 16:11:00 +0000

 Adding to the audit trail:
 
 In message <3DEA2F2C.2010201@servicefactory.se>, =?ISO-8859-1?Q?Jonas_B=FClow?=
  writes:
 >Hi!
 >
 >Ian Dowse wrote:
 >> Synopsis: Kernel panic when flash disk is removed and the flash disk is moun
 >ted.
 >> 
 >> State-Changed-From-To: open->feedback
 >> State-Changed-By: iedowse
 >> State-Changed-When: Sun Dec 1 04:23:56 PST 2002
 >> State-Changed-Why: 
 >> 
 >> Do you have any details from the panic? I actually doubt that this
 >> has been fixed, but it would be useful to get the panic message and
 >> stack trace from a more recent release. You may find that using the
 >> mtools package to access the device instead of mounting it is an
 >> acceptable workaround.
 >
 >A triggered a kernel panic by:
 >1. Insert flash disk
 >2. Mount it as msdos fils system
 >3. Access the all files from the mount point.
 >4. Remove the flash disk
 >5. Access the files from the mount point. Reading files not in cache 
 >will show "Device not configured"
 >6. Insert flash disk again.
 >7. Access files now gives a kernel panic
 >
 >Backtrace:
 >
 >Program received signal SIGSEGV, Segmentation fault.
 >dscheck (bp=0xc4d02634, ssp=0x0) at ../../kern/subr_diskslice.c:159
 >159	../../kern/subr_diskslice.c: No such file or directory.
 >(gdb) bt full
 >#0  dscheck (bp=0xc4d02634, ssp=0x0) at ../../kern/subr_diskslice.c:159
 >	blkno = 19641
 >	endsecno = 18
 >	labelsect = -889455588
 >	lp = (struct disklabel *) 0xc4d02634
 >	msg = 0x8c <Address 0x8c out of bounds>
 >	nsec = 19641
 >	pp = (struct partition *) 0x8c
 >	secno = -992991692
 >	slicerel_secno = -992991692
 >	sp = (struct diskslice *) 0x8c
 >	s = 0
 >#1  0xc01629d2 in diskstrategy (bp=0xc4d02634) at ../../kern/subr_disk.c:246
 >	bp = (struct buf *) 0xc4d02634
 >	dp = (struct disk *) 0xc0f26d58
 >#2  0xc0192b39 in spec_strategy (ap=0xcafbfc64)
 >     at ../../miscfs/specfs/spec_vnops.c:479
 >	ap = (struct vop_strategy_args *) 0xcb157540
 >	bp = (struct buf *) 0xc4d02634
 >	vp = (struct vnode *) 0xcb157540
 >	mp = (struct mount *) 0x8c
 >#3  0xc0192535 in spec_vnoperate (ap=0xcafbfc64)
 >     at ../../miscfs/specfs/spec_vnops.c:119
 >	ap = (struct vop_generic_args *) 0x0
 >#4  0xc01d7225 in ufs_vnoperatespec (ap=0xcafbfc64)
 >     at ../../ufs/ufs/ufs_vnops.c:2440
 >	ap = (struct vop_generic_args *) 0x0
 >#5  0xc017ec72 in bread (vp=0xcb157540, blkno=19641, size=4096, cred=0x0,
 >     bpp=0xcafbfce4) at vnode_if.h:944
 >	a = {a_desc = 0xc024fcc0, a_vp = 0xcb157540, a_bp = 0xc4d02634}
 >	vp = (struct vnode *) 0xcb157540
 >	bp = (struct buf *) 0xc4d02634
 >	blkno = 140
 >	size = 0
 >	cred = (struct ucred *) 0x0
 >	bpp = (struct buf **) 0xcafbfce4
 >	bp = (struct buf *) 0xc4d02634
 >#6  0xc0196d51 in readep (pmp=0xc1118800, dirclust=2450, diroffset=0,
 >     bpp=0xcafbfce4, epp=0xcafbfce8) at ../../msdosfs/msdosfs_lookup.c:876
 >	pmp = (struct msdosfsmount *) 0xc1118800
 >	dirclust = 2450
 >	error = 4096
 >	bn = 0
 >	blsize = 4096
 >#7  0xc01942a6 in deget (pmp=0xc1118800, dirclust=2450, diroffset=0,
 >     depp=0xcafbfd60) at ../../msdosfs/msdosfs_denode.c:329
 >	dirclust = 2450
 >	error = 1717986919
 >	dev = 0xc0f65480
 >	mntp = (struct mount *) 0x66666667
 >	direntptr = (struct direntry *) 0x0
 >	ldep = (struct denode *) 0xc10cf900
 >	nvp = (struct vnode *) 0xcb197f00
 >	bp = (struct buf *) 0xc4d02634
 >	p = (struct proc *) 0xc9e1b8e0
 >	tv = {tv_sec = 1, tv_usec = -889454924}
 >#8  0xc019665d in msdosfs_lookup (ap=0xcafbfdc4)
 >     at ../../msdosfs/msdosfs_lookup.c:539
 >	ap = (struct vop_cachedlookup_args *) 0x8c
 >	vdp = (struct vnode *) 0xcb196340
 >	vpp = (struct vnode **) 0xcafbfea0
 >	cnp = (struct componentname *) 0xcafbfeb4
 >	bn = 65
 >	error = -981147296
 >	lockparent = 0
 >	wantparent = 0
 >	slotcount = 2450
 >	slotoffset = 0
 >	frcn = 0
 >	cluster = 2450
 >	blkoff = 0
 >	diroff = 352
 >	blsize = 4096
 >	isadir = 16
 >	scn = 2450
 >	pdp = (struct vnode *) 0xcb196340
 >	dp = (struct denode *) 0xc10cdf00
 >	tdp = (struct denode *) 0x0
 >	pmp = (struct msdosfsmount *) 0xc1118800
 >	bp = (struct buf *) 0x0
 >	dep = (struct direntry *) 0xc584e160
 >	dosfilename = "XVPICS     "
 >	flags = 49284
 >	nameiop = 0
 >	p = (struct proc *) 0xc9e1b8e0
 >	unlen = 6
 >	wincnt = 1
 >	chksum = -1
 >	olddos = 1
 >#9  0xc0182a96 in vfs_cache_lookup (ap=0xcafbfe10) at vnode_if.h:77
 >	rc = 140
 >	a = {a_desc = 0xc024f500, a_dvp = 0xcb196340, a_vpp = 0xcafbfea0,
 >   a_cnp = 0xcafbfeb4}
 >	dvp = (struct vnode *) 0xcb196340
 >	vpp = (struct vnode **) 0xcafbfea0
 >	cnp = (struct componentname *) 0xcafbfeb4
 >	ap = (struct vop_lookup_args *) 0x8c
 >	dvp = (struct vnode *) 0xcb196340
 >	vp = (struct vnode *) 0xc024fc00
 >	lockparent = 0
 >	error = 0
 >	vpp = (struct vnode **) 0xcafbfea0
 >	cnp = (struct componentname *) 0xcafbfeb4
 >	cred = (struct ucred *) 0x0
 >	flags = 49284
 >	p = (struct proc *) 0xc9e1b8e0
 >	vpid = 3222859177
 >#10 0xc0185a75 in lookup (ndp=0xcafbfe8c) at vnode_if.h:52
 >	a = {a_desc = 0xc024f4c0, a_dvp = 0xcb196340, a_vpp = 0xcafbfea0,
 >   a_cnp = 0xcafbfeb4}
 >	dvp = (struct vnode *) 0xcb196340
 >	cnp = (struct componentname *) 0xcafbfeb4
 >	cp = 0xcb046c06 ""
 >	dp = (struct vnode *) 0xcb196340
 >	tdp = (struct vnode *) 0x0
 >	mp = (struct mount *) 0xcb046c06
 >	docache = 32
 >	wantparent = 0
 >	rdonly = 0
 >	trailing_slash = 0
 >	error = 0
 >	dpunlocked = 0
 >	cnp = (struct componentname *) 0xcafbfeb4
 >	p = (struct proc *) 0xc9e1b8e0
 >#11 0xc0185560 in namei (ndp=0xcafbfe8c) at ../../kern/vfs_lookup.c:153
 >	fdp = (struct filedesc *) 0xc118b100
 >	cp = 0xc118b100 "0?\030?\200?\030?@c\031?"
 >	dp = (struct vnode *) 0xcb196340
 >	aiov = {iov_base = 0x0, iov_len = 0}
 >	auio = {uio_iov = 0x0, uio_iovcnt = 0, uio_offset = 0, uio_resid = 0,
 >   uio_segflg = UIO_USERSPACE, uio_rw = UIO_READ, uio_procp = 0x0}
 >	error = -887528640
 >	linklen = -887528640
 >	cnp = (struct componentname *) 0xcafbfeb4
 >	p = (struct proc *) 0xc9e1b8e0
 >#12 0xc018b3d1 in lstat (p=0xc9e1b8e0, uap=0xcafbff80)
 >     at ../../kern/vfs_syscalls.c:1823
 >	p = (struct proc *) 0xc9e1b8e0
 >	error = 2
 >	vp = (struct vnode *) 0xc9e1b8e0
 >	sb = {st_dev = 3387013344, st_ino = 4, st_mode = 65408,
 >   st_nlink = 51963, st_uid = 0, st_gid = 3407438656, st_rdev = 0,
 >   st_atimespec = {tv_sec = 134971624, tv_nsec = 3864}, st_mtimespec = {
 >     tv_sec = -1054066688, tv_nsec = -1071317952}, st_ctimespec = {
 >     tv_sec = -887528640, tv_nsec = 0}, st_size = -3820179583120852768,
 >   st_blocks = 0, st_blksize = 3405512428, st_flags = 1, st_gen = 384,
 >   st_lspare = 0, st_qspare = {3864, 11995447168}}
 >	nd = {ni_dirp = 0x80b2740 "xvpics", ni_segflg = UIO_USERSPACE,
 >   ni_startdir = 0x0, ni_rootdir = 0xcaba4e00, ni_topdir = 0x0, ni_vp = 
 >0x0,
 >   ni_dvp = 0xcb196340, ni_pathlen = 1, ni_next = 0xcb046c06 "",
 >   ni_loopcnt = 0, ni_cnd = {cn_nameiop = 0, cn_flags = 49284,
 >     cn_proc = 0xc9e1b8e0, cn_cred = 0xc104ef80,
 >     cn_pnbuf = 0xcb046c00 "xvpics", cn_nameptr = 0xcb046c00 "xvpics",
 >     cn_namelen = 6, cn_consume = 0}}
 >#13 0xc02112a5 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47,
 >       tf_edi = 134971608, tf_esi = 1, tf_ebp = -1077939476,
 >       tf_isp = -889454636, tf_ebx = 134948608, tf_edx = 0, tf_ecx = 
 >134948608,
 >       tf_eax = 190, tf_trapno = 12, tf_err = 2, tf_eip = 134594784,
 >       tf_cs = 31, tf_eflags = 647, tf_esp = -1077939632, tf_ss = 47})
 >     at ../../i386/i386/trap.c:1175
 >	params = 0xbfbff254 "@'\013\b\210???\214???\025\211\b\b\200"
 >	i = 140
 >	callp = (struct sysent *) 0xc0253090
 >	p = (struct proc *) 0xc9e1b8e0
 >	orig_tf_eflags = 647
 >	sticks = 0
 >	error = 0
 >	narg = 2
 >	args = {134948672, -1077939576, 4096, 134930772, 0, 0, 0, 0}
 >	code = 190
 >#14 0xc0202065 in Xint0x80_syscall ()
 >No symbol table info available.
 >#15 0x805b897 in ?? ()
 >No symbol table info available.
 >#16 0x805b361 in ?? ()
 >No symbol table info available.
 >#17 0x8048d47 in ?? ()
 >No symbol table info available.
 >#18 0x8048b6b in ?? ()
 >No symbol table info available.
 >#19 0x8048180 in ?? ()
 >No symbol table info available.
 >
 >Regards,
 >	Jonas
 >
 >
 >> 
 >> http://www.freebsd.org/cgi/query-pr.cgi?pr=30160
 >
 >

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?200212011620.gB1GKBQf092335>