Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2005 03:04:29 +0000
From:      Ben Kaduk <minimarmot@gmail.com>
To:        Kyle Brooks <captinsmock@columbus.rr.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: panic after removing usb flash drive
Message-ID:  <47d0403c05083020044f6ac0be@mail.gmail.com>
In-Reply-To: <1125452228.740.3.camel@arbitor.homelinux.com>
References:  <1125452228.740.3.camel@arbitor.homelinux.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/31/05, Kyle Brooks <captinsmock@columbus.rr.com> wrote:
>=20
> umass0: LEXAR MEDIA JUMPDRIVE2, rev 2.00/1.25, addr 2
> umass0: at uhub4 port 6 (addr 2) disconnected
> panic: vm_fault: fault on nofault entry, addr: deadc000
>=20
> kernel:
>=20
> FreeBSD 7.0-CURRENT #2: Mon Aug 29 00:39:21 UTC 2005
>=20
> problem:
>=20
> kernel panics when usb flash drive is removed
>=20
> backtrace:
>=20
> #0 doadump () at pcpu.h:165
> #1 0xc068610e in boot (howto=3D260)
> at /usr/src/sys/kern/kern_shutdown.c:397
> #2 0xc0685b92 in panic (
> fmt=3D0xc090e46c "vm_fault: fault on nofault entry, addr: %lx")
> at /usr/src/sys/kern/kern_shutdown.c:553
> #3 0xc0812de1 in vm_fault (map=3D0xc1060000, vaddr=3D3735928832,
> fault_type=3D2 '\002', fault_flags=3D0)
> at /usr/src/sys/vm/vm_fault.c:884
> #4 0xc0888807 in trap_pfault (frame=3D0xe6a06bf0, usermode=3D0,
> eva=3D3735929110)
> at /usr/src/sys/i386/i386/trap.c:741
> #5 0xc0888d04 in trap (frame=3D
> {tf_fs =3D 8, tf_es =3D -1063649240, tf_ds =3D 40, tf_edi =3D -993875968,
> tf_esi =3D -1014223872, tf_ebp =3D -425694000, tf_isp =3D -425694180, tf_=
ebx =3D
> -1063640044, tf_edx =3D -993875900, tf_ecx =3D 0, tf_eax =3D -559038242,
> tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D -1069194040, tf_cs =3D 32, tf_=
eflags
> =3D 66050, tf_esp =3D -1063640032, tf_ss =3D 0})
> at /usr/src/sys/i386/i386/trap.c:442
> #6 0xc08745ba in calltrap () at /usr/src/sys/i386/i386/exception.s:139
> #7 0x00000008 in ?? ()
> #8 0xc09a0028 in atdma_acpi_driver_mod ()
> #9 0x00000028 in ?? ()
> #10 0xc4c2a800 in ?? ()
> #11 0xc38c2c00 in ?? ()
> #12 0xe6a06cd0 in ?? ()
> #13 0xe6a06c1c in ?? ()
> ---Type <return> to continue, or q <return> to quit---
> #14 0xc09a2414 in xsoftc ()
> #15 0xc4c2a844 in ?? ()
> #16 0x00000000 in ?? ()
> #17 0xdeadc0de in ?? ()
> #18 0x0000000c in ?? ()
> #19 0x00000002 in ?? ()
> #20 0xc04564c8 in camisr (V_queue=3D0xc09a2414)
> at /usr/src/sys/cam/cam_xpt.c:7066
> #21 0xc066f84e in ithread_loop (arg=3D0xc356fa80)
> at /usr/src/sys/kern/kern_intr.c:545
> #22 0xc066e808 in fork_exit (callout=3D0xc066f665 <ithread_loop>, arg=3D0=
x0,
> frame=3D0x0) at /usr/src/sys/kern/kern_fork.c:789
> #23 0xc087461c in fork_trampoline ()
> at /usr/src/sys/i386/i386/exception.s:208
>=20
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"
>=20

This is the expected behaviour if you didn't unmount the filesystem on the=
=20
thumbdrive before removing it. There was some discussion on this a while ag=
o=20
(but I don't seem to be able to find the exact posts), but the general idea=
=20
is that the kernel has no idea in what state the actual physical medium=20
(disc) is/was in after being pulled, and may have some stale buffers holdin=
g=20
data that got written to disk. It doesn't know what to do with this data, o=
r=20
how to treat requests to that device, so it panics.

Of course, if you did unmount the filesystem before pulling the drive, then=
=20
this shoule be looked into.

Ben Kaduk



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47d0403c05083020044f6ac0be>