kern/141658: Kernel panics when inserting a USB key in a 4Gb
laptop running 7.2-STABLE
Olivier Certner
olivier.certner at free.fr
Tue Dec 15 15:20:02 PST 2009
The following reply was made to PR kern/141658; it has been noted by GNATS.
From: Olivier Certner <olivier.certner at free.fr>
To: bug-followup at freebsd.org
Cc:
Subject: Re: kern/141658: Kernel panics when inserting a USB key in a 4Gb laptop running 7.2-STABLE
Date: Wed, 16 Dec 2009 00:06:39 +0100
The output of the debugging session for the kernel panic:
#2 0xffffffff802738d8 in panic (fmt=3DVariable "fmt" is not available.
)
at /usr/src/sys/kern/kern_shutdown.c:574
#3 0xffffffff803ca6e6 in trap_fatal (frame=3D0xffffff807733ccc0, eva=3D656)
at /usr/src/sys/amd64/amd64/trap.c:770
#4 0xffffffff803ca96e in trap_pfault (frame=3D0xffffff807733ccc0, usermode=
=3D0)
at /usr/src/sys/amd64/amd64/trap.c:686
#5 0xffffffff803cb3f3 in trap (frame=3D0xffffff807733ccc0)
at /usr/src/sys/amd64/amd64/trap.c:457
#6 0xffffffff803b4e93 in calltrap ()
at /usr/src/sys/amd64/amd64/exception.S:218
#7 0xffffffff8020257a in usb_transfer_complete (xfer=3D0xffffff00038de800)
at /usr/src/sys/dev/usb/usbdi.c:949
#8 0xffffffff80202877 in usbd_start_transfer (arg=3DVariable "arg" is not=
=20
availab
le.
)
at /usr/src/sys/dev/usb/usbdi.c:398
#9 0xffffffff803b31d5 in bus_dmamap_load (dmat=3D0xffffff000390d900,
map=3D0xffffff0003d2ad80, buf=3D0xffffff807733cff0, buflen=3D0,
callback=3D0xffffffff802026c0 <usbd_start_transfer>,
callback_arg=3D0xffffff00038de800, flags=3D0)
at /usr/src/sys/amd64/amd64/busdma_machdep.c:738
#10 0xffffffff80202cfe in usbd_transfer (xfer=3D0xffffff00038de800)
at /usr/src/sys/dev/usb/usbdi.c:312
#11 0xffffffff80202f2e in usbd_sync_transfer (xfer=3DVariable "xfer" is not=
=20
availa
ble.
)
at /usr/src/sys/dev/usb/usbdi.c:408
#12 0xffffffff80202fc6 in usbd_do_request_flags_pipe (dev=3D0xffffff0003c8f=
e00,
pipe=3D0xffffff0003a0ac00, req=3D0xffffff807733cfa0, data=3D0xffffff807=
733cff0,
flags=3DVariable "flags" is not available.
) at /usr/src/sys/dev/usb/usbdi.c:1100
#13 0xffffffff80203105 in usbd_do_request_flags (dev=3DVariable "dev" is no=
t=20
avail
able.
)
at /usr/src/sys/dev/usb/usbdi.c:1070
#14 0xffffffff80200f08 in usbd_get_string_desc (dev=3D0xffffff0003c8fe00,
sindex=3DVariable "sindex" is not available.
) at /usr/src/sys/dev/usb/usb_subr.c:171
#15 0xffffffff8020230d in usbd_get_string (dev=3D0xffffff0003c8fe00, si=3D1,
buf=3D0xffffff807733d1f0 "", len=3D128) at /usr/src/sys/dev/usb/usbdi.c=
:1353
#16 0xffffffff80200114 in usbd_devinfo_vp (dev=3D0xffffff0003c8fe00,
v=3D0xffffff807733d1f0 "", p=3D0xffffff807733d170 " =B7\220\003",=20
usedev=3DVariable
"usedev" is not available.
)
at /usr/src/sys/dev/usb/usb_subr.c:216
#17 0xffffffff80200d46 in usbd_devinfo (dev=3D0xffffff0003c8fe00, showclass=
=3D1,
cp=3D0xffffff00039d9c00 "") at /usr/src/sys/dev/usb/usb_subr.c:281
#18 0xffffffff8020172b in usbd_new_device (parent=3D0xffffff0003930200,
bus=3D0xffffff00038f3000, depth=3DVariable "depth" is not available.
) at /usr/src/sys/dev/usb/usb_subr.c:861
#19 0xffffffff801fdb85 in uhub_explore (dev=3D0xffffff00038c5100)
at /usr/src/sys/dev/usb/uhub.c:523
#20 0xffffffff801fe098 in usb_discover (v=3DVariable "v" is not available.
) at /usr/src/sys/dev/usb/usb.c:724
#21 0xffffffff801ff0bf in usb_event_thread (arg=3DVariable "arg" is not=20
available.
)
at /usr/src/sys/dev/usb/usb.c:440
#22 0xffffffff8024d40b in fork_exit (
callout=3D0xffffffff801ff020 <usb_event_thread>, arg=3D0xffffff00039291=
00,
frame=3D0xffffff807733dc80) at /usr/src/sys/kern/kern_fork.c:811
#23 0xffffffff803b527e in fork_trampoline ()
at /usr/src/sys/amd64/amd64/exception.S:554
#24 0x0000000000000000 in ?? ()
#25 0x0000000000000000 in ?? ()
#26 0x0000000000000001 in ?? ()
#27 0x0000000000000000 in ?? ()
#28 0x0000000000000000 in ?? ()
#29 0x0000000000000000 in ?? ()
#30 0x0000000000000000 in ?? ()
#31 0x0000000000000000 in ?? ()
#32 0x0000000000000000 in ?? ()
#33 0x0000000000000000 in ?? ()
#34 0x0000000000000000 in ?? ()
#35 0x0000000000000000 in ?? ()
#36 0x0000000000000000 in ?? ()
#37 0x0000000000000000 in ?? ()
#38 0x0000000000000000 in ?? ()
#39 0x0000000000000000 in ?? ()
#40 0x0000000000000000 in ?? ()
#41 0x0000000000000000 in ?? ()
#42 0x0000000000000000 in ?? ()
#43 0x0000000000000000 in ?? ()
#44 0x0000000000000000 in ?? ()
#45 0x0000000000000000 in ?? ()
#46 0x0000000000000000 in ?? ()
#47 0x0000000000000000 in ?? ()
#48 0x0000000000814000 in ?? ()
#49 0xffffffff805ce348 in sleepq_chains ()
#50 0xffffffff805beac0 in tdg_maxid ()
#51 0xffffff000390b720 in ?? ()
#52 0xffffff000390ba70 in ?? ()
#53 0xffffff807733cd80 in ?? ()
#54 0xffffff807733cd18 in ?? ()
#55 0xffffff0001422390 in ?? ()
#56 0xffffffff80296c0e in sched_switch (td=3D0x0, newtd=3D0xffffff000392910=
0,
flags=3DVariable "flags" is not available.
) at /usr/src/sys/kern/sched_ule.c:1938
(kgdb) f 7
#7 0xffffffff8020257a in usb_transfer_complete (xfer=3D0xffffff00038de800)
at /usr/src/sys/dev/usb/usbdi.c:949
949 STAILQ_REMOVE_HEAD(&pipe->queue, next);
(kgdb) print pipe
$1 =3D 0xffffff0003a0ac00
(kgdb) print * pipe
$2 =3D {iface =3D 0x0, device =3D 0xffffff0003c8fe00,
endpoint =3D 0xffffff0003c8fe38, refcnt =3D 1, running =3D 0 '\0',
aborting =3D 0 '\0', queue =3D {stqh_first =3D 0x0,
stqh_last =3D 0xffffff0003a0ac20}, next =3D {le_next =3D 0x0,
le_prev =3D 0x401990}, intrxfer =3D 0x0, repeat =3D 0 '\0', interval =
=3D -1,
methods =3D 0xffffffff805576e0}
(kgdb) l
944 #ifdef DIAGNOSTIC
945 xfer->busy_free =3D XFER_BUSY;
946 #endif
947 KASSERT(STAILQ_FIRST(&pipe->queue) =3D=3D xfer,
948 ("usb_transfer_complete: bad dequeue"));
949 STAILQ_REMOVE_HEAD(&pipe->queue, next);
950 }
951 DPRINTFN(5,("usb_transfer_complete: repeat=3D%d new head=3D=
%p\n",
952 repeat, STAILQ_FIRST(&pipe->queue)));
953
(kgdb) f 8
#8 0xffffffff80202877 in usbd_start_transfer (arg=3DVariable "arg" is not=
=20
availab
le.
)
at /usr/src/sys/dev/usb/usbdi.c:398
398 usb_transfer_complete(xfer);
(kgdb) print xfer
$3 =3D 0xffffff00038de800
(kgdb) print * xfer
$4 =3D {pipe =3D 0xffffff0003a0ac00, priv =3D 0x0, buffer =3D 0xffffff80773=
3cff0,
length =3D 18, actlen =3D 0, flags =3D 6, timeout =3D 5000, status =3D US=
BD_NOMEM,
callback =3D 0, done =3D 1 '\001', request =3D {bmRequestType =3D 128 '\2=
00',
bRequest =3D 6 '\006', wValue =3D "\001\003", wIndex =3D "\t\004",
wLength =3D "\022"}, frlengths =3D 0x0, nframes =3D 0,
device =3D 0xffffff0003c8fe00, dmamap =3D {segs =3D {{ds_addr =3D 2251980=
8,
ds_len =3D 16}, {ds_addr =3D 22487040, ds_len =3D 2}, {ds_addr =3D =
0,
ds_len =3D 0} <repeats 31 times>}, nsegs =3D 2,
map =3D 0xffffff0003d2ad80}, allocbuf =3D 0x0, rqflags =3D 1, next =3D {
stqe_next =3D 0x0}, hcpriv =3D 0x0, timeout_handle =3D {c_links =3D {sl=
e =3D {
sle_next =3D 0x0}, tqe =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0}}, c=
_time =3D 0,
c_arg =3D 0x0, c_func =3D 0, c_mtx =3D 0xffffffff805b7280, c_flags =3D =
0}}
More information about the freebsd-bugs
mailing list