amd64/126519: Panic when plugging in an iphone

seth bollinger seth_bollinger at comcast.net
Thu Aug 14 00:20:01 UTC 2008


>Number:         126519
>Category:       amd64
>Synopsis:       Panic when plugging in an iphone
>Confidential:   no
>Severity:       critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 14 00:20:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     seth bollinger
>Release:        FreeBSD 7.0-RELEASE #1
>Organization:
self
>Environment:
FreeBSD hyperion.isa-geek.net 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Sat Aug  9 22:46:29 CDT 2008     root at hyperion.isa-geek.net:/usr/obj/usr/src/sys/CUSTOM  amd64

>Description:
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 0x0, 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...

>How-To-Repeat:
Plug the problem device into the usb port.
>Fix:
None.

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


More information about the freebsd-amd64 mailing list