Bug 126519 - [usb] [panic] panic when plugging in an iphone
Summary: [usb] [panic] panic when plugging in an iphone
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: usb (show other bugs)
Version: 7.0-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-usb (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-14 01:20 UTC by seth bollinger
Modified: 2020-07-11 18:17 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description seth bollinger 2008-08-14 01:20:00 UTC
Kernel will panic when I plug an iphone into the usb port.  I also have
a JCS & associates, Inc. usb thumb drive that will do the same thing.
The backtrace seems to go on forever (over 7000k before I quit, all zero).

Here's the dump:

Unread portion of the kernel message buffer:
uhid2: <Apple Inc. iPhone, class 0/0, rev 2.00/0.01, addr 7> on uhub3


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x290
fault code              = supervisor read data, page not present
instruction pointer     = 0x8:0xffffffff804260cd
stack pointer           = 0x10:0xffffffffae2e7df0
frame pointer           = 0x10:0xffffff0017a9bc00
code segment            = base rx0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 28 (usb1)
trap number             = 12
panic: page fault
cpuid = 0
Uptime: 1d10h52m11s
Physical memory: 4083 MB
Dumping 1531 MB: 1516 1500 1484 1468 1452 1436 1420 1404 1388 1372 1356 1340 1324 1308 1292 1276 1260 1244 1228 1212 1196 1180 1164 1148 1132 1116 1100 1084 1068 1052 1036 1020 1004 988 972 956 940 924 908 892 876 860 844 828 812 796 780 764 748 732 716 700 684 668 652 636 620 604 588 572 556 540 524 508 492 476 460 444 428 412 396 380 364 348 332 316 300 284 268 252 236 220 204 188 172 156 140 124 108 92 76 60 44 28 12

#0  doadump () at pcpu.h:194
194     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) backtrace
#0  doadump () at pcpu.h:194
#1  0x0000000000000004 in ?? ()
#2  0xffffffff804a6259 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#3  0xffffffff804a665d in panic (fmt=0x104 <Address 0x104 out of bounds>)
    at /usr/src/sys/kern/kern_shutdown.c:563
#4  0xffffffff8075ed44 in trap_fatal (frame=0xffffff0003444350, eva=18446742974217703424)
    at /usr/src/sys/amd64/amd64/trap.c:724
#5  0xffffffff8075f115 in trap_pfault (frame=0xffffffffae2e7d40, usermode=0)
    at /usr/src/sys/amd64/amd64/trap.c:641
#6  0xffffffff8075fa58 in trap (frame=0xffffffffae2e7d40) at /usr/src/sys/amd64/amd64/trap.c:410
#7  0xffffffff807456be in calltrap () at /usr/src/sys/amd64/amd64/exception.S:169
#8  0xffffffff804260cd in usb_transfer_complete (xfer=0xffffff00051a8800)
    at /usr/src/sys/dev/usb/usbdi.c:947
#9  0xffffffff807439c4 in bus_dmamap_load (dmat=0xffffff00012db080, map=0xffffff0017997380, 
    buf=0xffffffffae2e7fe0, buflen=0, callback=0xffffffff804261b0 <usbd_start_transfer>, 
    callback_arg=0xffffff00051a8800, flags=0) at /usr/src/sys/amd64/amd64/busdma_machdep.c:739
#10 0xffffffff804267af in usbd_transfer (xfer=0xffffff00051a8800) at /usr/src/sys/dev/usb/usbdi.c:312
#11 0xffffffff80426a1d in usbd_do_request_flags_pipe (dev=0xffffff00172e5600, pipe=0xffffff0017a9bc00, 
    req=0xffffffffae2e7f90, data=0xffffffffae2e7fe0, flags=Variable "flags" is not available.
) at /usr/src/sys/dev/usb/usbdi.c:1098
#12 0xffffffff80426b71 in usbd_do_request_flags (dev=Variable "dev" is not available.
) at /usr/src/sys/dev/usb/usbdi.c:1068
#13 0xffffffff80424c23 in usbd_get_string_desc (dev=0xffffff00172e5600, sindex=Variable "sindex" is not available.
)
    at /usr/src/sys/dev/usb/usb_subr.c:171
#14 0xffffffff80425d73 in usbd_get_string (dev=0xffffff00172e5600, si=3, buf=0xffffffffae2e8160 "", 
    len=128) at /usr/src/sys/dev/usb/usbdi.c:1342
#15 0xffffffff8041b9e5 in uhub_child_pnpinfo_str (cbdev=Variable "cbdev" is not available.
) at /usr/src/sys/dev/usb/uhub.c:658
#16 0xffffffff804ca521 in device_attach (dev=0xffffff001732b800) at /usr/src/sys/kern/subr_bus.c:656
#17 0xffffffff804254fb in usbd_new_device (parent=0xffffff0017201b00, bus=0xffffff000123b000, depth=Variable "depth" is not available.
)
    at /usr/src/sys/dev/usb/usb_subr.c:932
#18 0xffffffff8041b63e in uhub_explore (dev=0xffffff00173e3700) at /usr/src/sys/dev/usb/uhub.c:523
#19 0xffffffff8041b4f8 in uhub_explore (dev=0xffffff0017201400) at /usr/src/sys/dev/usb/uhub.c:546
#20 0xffffffff8041b4f8 in uhub_explore (dev=0xffffff00012b1900) at /usr/src/sys/dev/usb/uhub.c:546
#21 0xffffffff80421edb in usb_discover (v=Variable "v" is not available.
) at /usr/src/sys/dev/usb/usb.c:724
#22 0xffffffff80422e8c in usb_event_thread (arg=Variable "arg" is not available.
) at /usr/src/sys/dev/usb/usb.c:440
#23 0xffffffff80487973 in fork_exit (callout=0xffffffff80422e10 <usb_event_thread>, 
    arg=0xffffff0003450580, frame=0xffffffffae2e8c80) at /usr/src/sys/kern/kern_fork.c:781
#24 0xffffffff80745a8e in fork_trampoline () at /usr/src/sys/amd64/amd64/exception.S:415
#25 0x0000000000000000 in ?? ()
#26 0x0000000000000000 in ?? ()
#27 0x0000000000000001 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 0x0000000000000000 in ?? ()
#49 0x0000000000d1a000 in ?? ()
#50 0xffffffff80a8e1c0 in tdg_maxid ()
#51 0xffffffff80a9a9c0 in tdq_cpu ()
#52 0xffffffff80a9a9c0 in tdq_cpu ()
#53 0xffffff0003444350 in ?? ()
#54 0xffffff0003444658 in ?? ()
#55 0xffffffffae2e7b58 in ?? ()
#56 0x0000000000000000 in ?? ()
#57 0xffffffff804c4808 in sched_switch (td=0xffffffff80422e10, newtd=0x0, flags=Variable "flags" is not available.
)
    at /usr/src/sys/kern/sched_ule.c:1898
#58 0x0000000000000000 in ?? ()
#59 0x0000000000000000 in ?? ()
The prior frame repeats forever...

Fix: 

None.
How-To-Repeat: Plug the problem device into the usb port.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2008-08-14 11:22:02 UTC
Responsible Changed
From-To: freebsd-amd64->freebsd-usb

Reclassify.
Comment 2 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:16 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 3 Tom Jones freebsd_committer freebsd_triage 2020-07-11 18:17:19 UTC
The ipheth driver was added in FreeBSD 8.2. I am unable to reproduce this on 13-CURRENT. If you can still produce this bug please feel free to reopen.