>Number:         101096
>Category:       usb
>Synopsis:       USB WLAN occasionally causes kernel-panics during large 
>downloads
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 31 13:20:13 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Pascal G. Hofstee
>Release:        FreeBSD/i386 6.1-RELEASE
>Organization:
>Environment:
FreeBSD chekov.ufp.fli4l 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sat Jul 29 
19:29:11 CEST 2006     [EMAIL PROTECTED]:/usr/obj/usr/src/sys/CHEKOV  i386

>Description:
DUring downloads of large documentrs over my USB WLAN interface (if_ural 
driver) the system occasionally breaks down because of kernel-panics.


Script started on Mon Jul 32 14:59:09 2006
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: 
Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x4
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc077be82
stack pointer           = 0x28:0xcc1b1bb4
frame pointer           = 0x28:0xcc1b1bd4
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 23 (irq10: pcm0 uhci0+)
trap number             = 12
panic: page fault
Uptime: 1d1h7m46s
Dumping 255 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 255MB (65276 pages) 240 224 208 192 176 160 144 128 112 96 80 64 48 
32 16

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt full
#0  doadump () at pcpu.h:165
No locals.
#1  0xc06cdbd7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:402
        first_buf_printf = 1
#2  0xc06cdf19 in panic (fmt=0xc097a0bb "%s")
    at /usr/src/sys/kern/kern_shutdown.c:558
        td = (struct thread *) 0xc253d300
        bootopt = 260
        newpanic = 0
        ap = 0xc253d300 ""
        buf = "page fault", '\0' <repeats 245 times>
#3  0xc092b73c in trap_fatal (frame=0xcc1b1b74, eva=0)
    at /usr/src/sys/i386/i386/trap.c:836
        code = 40
        type = 12
        ss = 40
        esp = 0
        softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, 
  ssd_dpl = 0, ssd_p = 1, ssd_xx = 0, ssd_xx1 = 0, ssd_def32 = 1, 
  ssd_gran = 1}
        msg = 0x0
#4  0xc092b412 in trap_pfault (frame=0xcc1b1b74, usermode=0, eva=4)
    at /usr/src/sys/i386/i386/trap.c:744
        va = 0
        vm = (struct vmspace *) 0x0
        map = 0x1
        rv = 1
        ftype = 1 '\001'
        td = (struct thread *) 0xc253d300
        p = (struct proc *) 0xc260d000
#5  0xc092afad in trap (frame=
      {tf_fs = -1066598392, tf_es = -1034747864, tf_ds = 40, tf_edi = 
-1033379840, tf_esi = 0, tf_ebp = -870638636, tf_isp = -870638688, tf_ebx = 
-1033376556, tf_edx = -1033606400, tf_ecx = -1033699328, tf_eax = 0, tf_trapno 
= 12, tf_err = 0, tf_eip = -1065894270, tf_cs = 32, tf_eflags = 66182, tf_esp = 
-1033601280, tf_ss = -1033601248}) at /usr/src/sys/i386/i386/trap.c:434
        td = (struct thread *) 0xc253d300
        p = (struct proc *) 0xc260d000
        sticks = 0
        i = 0
        ucode = 0
        type = 12
        code = 0
        eva = 4
#6  0xc09174ba in calltrap () at /usr/src/sys/i386/i386/exception.s:139
No locals.
#7  0xc077be82 in ieee80211_free_node (ni=0x0)
    at /usr/src/sys/net80211/ieee80211_node.c:1600
        nt = (struct ieee80211_node_table *) 0xc267ecd4
        __func__ = "ieee80211_free_node"
#8  0xc0638575 in ural_txeof (xfer=0xc2749b00, priv=0xc267ecd4, 
    status=USBD_NORMAL_COMPLETION) at /usr/src/sys/dev/usb/if_ural.c:887
        data = (struct ural_tx_data *) 0xc267ecd4
        sc = (struct ural_softc *) 0xc267e000
        ifp = (struct ifnet *) 0xc269dc00
#9  0xc0655b83 in usb_transfer_complete (xfer=0xc2749b00)
    at /usr/src/sys/dev/usb/usbdi.c:863
        pipe = 0xc27c7700
        dmap = (usb_dma_t *) 0xc2749b3c
        sync = 0
        erred = 0
        repeat = 0
        polling = 0
#10 0xc0644f25 in uhci_idone (ii=0x0) at /usr/src/sys/dev/usb/uhci.c:1499
        xfer = 0xc2749b00
        upipe = (struct uhci_pipe *) 0xc27c7700
        std = (uhci_soft_td_t *) 0xc2646b00
        status = 0
        nstatus = 0
        actlen = 120
#11 0xc0644dd8 in uhci_check_intr (sc=0xc2630000, ii=0xc2749b70)
    at /usr/src/sys/dev/usb/uhci.c:1374
        std = (uhci_soft_td_t *) 0xc2630000
        lstd = (uhci_soft_td_t *) 0xc2646b00
        status = 0
#12 0xc0644cef in uhci_softintr (v=0xc2630000)
    at /usr/src/sys/dev/usb/uhci.c:1304
        sc = (uhci_softc_t *) 0xc2630000
        ii = (uhci_intr_info_t *) 0x0
        nextii = (uhci_intr_info_t *) 0xc2721970
#13 0xc0652302 in usb_schedsoftintr (bus=0x0)
    at /usr/src/sys/dev/usb/usb.c:871
No locals.
#14 0xc0644c9c in uhci_intr1 (sc=0xc2630000)
    at /usr/src/sys/dev/usb/uhci.c:1274
        status = 1
        ack = 1
#15 0xc0644a8d in uhci_intr (arg=0xc2630000)
    at /usr/src/sys/dev/usb/uhci.c:1189
        sc = (uhci_softc_t *) 0xc2646b00
#16 0xc06b34c8 in ithread_execute_handlers (p=0xc260d000, ie=0xc2539800)
    at /usr/src/sys/kern/kern_intr.c:684
        ih = (struct intr_handler *) 0xc262e600
        ihn = (struct intr_handler *) 0xc264a8c0
#17 0xc06b3636 in ithread_loop (arg=0xc263b570)
    at /usr/src/sys/kern/kern_intr.c:767
        intr_event = (struct intr_thread *) 0xc263b570
        ie = (struct intr_event *) 0xc2539800
        td = (struct thread *) 0xc253d300
        p = (struct proc *) 0xc260d000
#18 0xc06b1f3f in fork_exit (callout=0xc06b35c0 <ithread_loop>, arg=0x0, 
    frame=0x0) at /usr/src/sys/kern/kern_fork.c:805
        p = (struct proc *) 0xc260d000
        td = (struct thread *) 0xc2646b00
#19 0xc091751c in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:208
No locals.
(kgdb) 
Script done on Mon Jul 31 14:59:41 2006
>How-To-Repeat:
Usually downloading a rather large document through USB WLAN interface triggers 
the crashes, e.g. diablo-jdk15, firefox etc.

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to