Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Mar 2005 07:49:58 -0500
From:      Mike Tancsa <mike@sentex.net>
To:        ticso@cicely.de
Cc:        freebsd-usb@freebsd.org
Subject:   panic: uhci_abort_xfer: not in process context (was Re: uplcom / ucom problems on RELENG_5)
Message-ID:  <6.2.1.2.0.20050331074641.04f72eb8@64.7.153.2>
In-Reply-To: <6.2.1.2.0.20050330145628.053abc68@64.7.153.2>
References:  <6.2.1.2.0.20050329222822.04f7c500@64.7.153.2> <20050330104102.GK33677@cicely12.cicely.de> <6.2.1.2.0.20050330071753.055388b8@64.7.153.2> <20050330124923.GR33677@cicely12.cicely.de> <6.2.1.2.0.20050330085751.03594e08@64.7.153.2> <20050330141443.GA33677@cicely12.cicely.de> <6.2.1.2.0.20050330092200.047a7928@64.7.153.2> <20050330143836.GB33677@cicely12.cicely.de> <6.2.1.2.0.20050330094120.02fca188@64.7.153.2> <6.2.1.2.0.20050330103630.047abfa8@64.7.153.2> <6.2.1.2.0.20050330145628.053abc68@64.7.153.2>

next in thread | previous in thread | raw e-mail | index | archive | help


Unfortunately the box coredumped overnight


putc to a clist with no reserved cblocks
putc to a clist with no reserved cblocks
putc to a clist with no reserved cblocks
putc to a clist with no reserved cblocks
panic: uhci_abort_xfer: not in process context
Uptime: 6h55m12s
Dumping 254 MB
  16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
Dump complete
Automatic reboot in 15 seconds - press a key on the console to abort
Rebooting...
Console: serial port

[releng5-865]# kgdb kernel.debug /var/crash/vmcore.5
[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".
#0  doadump () at pcpu.h:159
159             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt full
#0  doadump () at pcpu.h:159
No locals.
#1  0xc051fa5e in boot (howto=260) at ../../../kern/kern_shutdown.c:410
         first_buf_printf = 1
#2  0xc051fcf4 in panic (fmt=0xc06fc4ee "uhci_abort_xfer: not in process 
context") at ../../../kern/kern_shutdown.c:566
         td = (struct thread *) 0xc1502000
         bootopt = 260
         newpanic = 0
         ap = 0xc1502000 "\020\aPÁ éOÁ"
         buf = "uhci_abort_xfer: not in process context", '\0' <repeats 216 
times>
#3  0xc04c5c47 in uhci_abort_xfer (xfer=0xc183ed00, 
status=USBD_NORMAL_COMPLETION) at ../../../dev/usb/uhci.c:1958
         uxfer = (struct uhci_xfer *) 0xc183ed00
         ii = (uhci_intr_info_t *) 0xc183ed6c
         upipe = (struct uhci_pipe *) 0xc19c7e00
         sc = (uhci_softc_t *) 0xc15b8000
         std = (uhci_soft_td_t *) 0x0
#4  0xc04c5bc9 in uhci_device_bulk_abort (xfer=0xc183ed00) at 
../../../dev/usb/uhci.c:1921
No locals.
#5  0xc04d2ebb in usbd_ar_pipe (pipe=0xc19c7e00) at 
../../../dev/usb/usbdi.c:762
         xfer = 0x0
#6  0xc04d2c1f in usbd_abort_pipe (pipe=0xc19c7e00) at 
../../../dev/usb/usbdi.c:556
         err = USBD_NORMAL_COMPLETION
#7  0xc04c3cf5 in ucomstopread (sc=0x0) at ../../../dev/usb/ucom.c:1160
No locals.
#8  0xc04c38ba in ucomstop (tp=0xc171c000, flag=1) at 
../../../dev/usb/ucom.c:934
         sc = (struct ucom_softc *) 0xc1754c00
#9  0xc054b393 in ttyflush (tp=0xc171c000, rw=1) at ../../../kern/tty.c:1420
No locals.
#10 0xc054974d in ttyinput (c=26, tp=0xc171c000) at ../../../kern/tty.c:445
         iflag = 11010
         lflag = 1483
         cc = (cc_t *) 0xc171c0b4 
"\004ÿÿ\177\027\025\022\b\003\034\032\031\021\023\026\017\001"
         i = 0
         err = 0
#11 0xc04c3be5 in ucomreadcb (xfer=0xc183ed00, p=0xc1754c00, 
status=USBD_NORMAL_COMPLETION) at linedisc.h:122
         sc = (struct ucom_softc *) 0xc1754c00
         tp = (struct tty *) 0xc171c000
         err = USBD_NORMAL_COMPLETION
         cc = 69
         cp = (
     u_char *) 0xc175f099 "\032\033\034\035\036\037 
!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV\021 
~~ÿ}#ÀBCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abc"
         lostcc = 0
#12 0xc04d2ffc in usb_transfer_complete (xfer=0xc183ed00) at 
../../../dev/usb/usbdi.c:851
         pipe = 0xc19c7e00
         dmap = (usb_dma_t *) 0xc183ed3c
---Type <return> to continue, or q <return> to quit---
         sync = 0
         erred = 0
         repeat = 0
         polling = 0
#13 0xc04c54af in uhci_idone (ii=0x0) at ../../../dev/usb/uhci.c:1500
         xfer = 0xc183ed00
         upipe = (struct uhci_pipe *) 0xc19c7e00
         std = (uhci_soft_td_t *) 0x0
         status = 0
         nstatus = 0
         actlen = 222
#14 0xc04c538c in uhci_check_intr (sc=0xc15b8000, ii=0xc183ed6c) at 
../../../dev/usb/uhci.c:1375
         std = (uhci_soft_td_t *) 0x0
         lstd = (uhci_soft_td_t *) 0xc15e8f20
         status = 0
#15 0xc04c52de in uhci_softintr (v=0xc15b8000) at ../../../dev/usb/uhci.c:1305
         sc = (uhci_softc_t *) 0xc15b8000
         ii = (uhci_intr_info_t *) 0x0
         nextii = (uhci_intr_info_t *) 0xc199d26c
#16 0xc04d0499 in usb_schedsoftintr (bus=0x0) at ../../../dev/usb/usb.c:864
No locals.
#17 0xc04c52ab in uhci_intr1 (sc=0xc15b8000) at ../../../dev/usb/uhci.c:1275
         status = 1
         ack = 1
#18 0xc04c513c in uhci_intr (arg=0xc15b8000) at ../../../dev/usb/uhci.c:1190
         sc = (uhci_softc_t *) 0x0
#19 0xc050c371 in ithread_loop (arg=0xc14f7580) at 
../../../kern/kern_intr.c:547
         ithd = (struct ithd *) 0xc14f7580
         ih = (struct intrhand *) 0xc15df680
         td = (struct thread *) 0xc1502000
         p = (struct proc *) 0xc1500710
         count = 0
         warming = 0
         warned = 0
#20 0xc050b604 in fork_exit (callout=0xc050c220 <ithread_loop>, 
arg=0xc14f7580, frame=0xcbca3d48) at ../../../kern/kern_fork.c:790
         p = (struct proc *) 0xc1500710
         td = (struct thread *) 0x0
#21 0xc06a2afc in fork_trampoline () at ../../../i386/i386/exception.s:209
No locals.
(kgdb)






At 04:02 PM 30/03/2005, Mike Tancsa wrote:
>At 10:37 AM 30/03/2005, Mike Tancsa wrote:
>>At 09:54 AM 30/03/2005, Mike Tancsa wrote:
>>
>>>>So far I only know about reconnecting, which likely isn't an
>>>>acceptable workaround for you.
>>>
>>>Thanks, you mean reconnecting the USB device ?  Sadly no, that wont work 
>>>for us when the unit is 80km away :(  Or is there a way to do this 
>>>programtically?
>>
>>I wonder if "set choked" in ppp might be tuned a bit to avoid this 
>>issue.  Time to experiment a bit.
>
>So far so good.  If I change add "set choked 10", I am not able to hang 
>the usb port like I was before.
>
>The value is quite a change from the default 120 seconds, but still 10 
>seconds to transmit (for my application anyways which is a modem backup if 
>the DSL fails) is adequate.  I am going to let it run 48hrs to see if it 
>still stable.  On one device, I am running just continuous pings, and I am 
>kicking off the connection every 10 min from the terminal server.  On 
>another machine, I am running it with random bursts of data and kicking it 
>off every 5min.
>
>         ---Mike



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