Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Dec 2005 13:28:37 +1000
From:      Paul Koch <paul.koch@statseeker.com>
To:        freebsd-stable@freebsd.org
Subject:   6.0-stable panic in ohci_softintr when using ucom/uftdi
Message-ID:  <200512071328.37867.paul.koch@statseeker.com>

next in thread | raw e-mail | index | archive | help
My setup is:
ASUS Pundant Booksize PC Celeron 2.66Ghz, 512M ram, 4 USB ports.
Attached is one Netcomm USB modem which uses the ucom / uftdi 
drivers, and is configured for auto answer. 

Source is 6.0 stable as of today 7th Dec 2005.

Devices in /dev that get created are:
cuaU0
cuaU0.init
cuaU0.lock
ttyU0.init
ttyU0.lock
ttyd0

I have added the following to /etc/ttys:
 ttyU0 "/usr/libexec/getty modem.230400" dialup on insecure

and this to /etc/gettytab:
 modem.230400|modems-230k:\
        :hw:np:sp#230400:

As soon at the modem rings, the machine panics.  I don't think the
modem even gets time to pick up the line.  This doesn't happen on 
a 5.4-stable box with 6 modems connected, but 5.4-stable appears 
to have other "hanging" issues, thus why I am trying out 6.0-stable.

Recent changes to ohci.c (1.154.2.1) in this area (2 days ago) ??
Should I raise a PR ?

	Paul.


# kgdb kernel.debug /var/crash/vmcore.2
kgdb: core file: /var/crash/vmcore.2
kgdb: kernel image: kernel.debug
[GDB will not be able to debug user-mode 
threads: /usr/lib/libthread_db.so: Undefined sym
bol "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:
ucom0: open bulk out error (addr 2): IN_USE


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x24
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc0474c36
stack pointer           = 0x28:0xd3133c7c
frame pointer           = 0x28:0xd3133cac
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         = 29 (irq19: ohci0 ohci1+)
trap number             = 12
panic: page fault
Uptime: 47s
Dumping 446 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 447MB (114240 pages) 431 415 399 383 367 351 335 319 303 287 
271 255 239 223 2
07 191 175 159 143 127 111 95 79 63 47 31 15

#0  doadump () at pcpu.h:165
165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));

(kgdb) backtrace
#0  doadump () at pcpu.h:165
#1  0xc04c8a42 in boot (howto=260) 
at /usr/src/sys/kern/kern_shutdown.c:399
#2  0xc04c8cd8 in panic (fmt=0xc05f6b91 "%s") 
at /usr/src/sys/kern/kern_shutdown.c:555
#3  0xc05d7e34 in trap_fatal (frame=0xd3133c3c, eva=36)
    at /usr/src/sys/i386/i386/trap.c:836
#4  0xc05d7b9b in trap_pfault (frame=0xd3133c3c, usermode=0, eva=36)
    at /usr/src/sys/i386/i386/trap.c:744
#5  0xc05d77f9 in trap (frame=
      {tf_fs = -1027342328, tf_es = -1027342296, tf_ds = -1028849624, 
tf_edi = -1028264960, tf_esi = -1028043056, tf_ebp = -753714004, tf_isp 
= -753714072, tf_ebx = 2, tf_edx = -1028786304, tf_ecx = 0, tf_eax = 
-1027196800, tf_trapno = 12, tf_err = 0, tf_eip = -1069069258, tf_cs = 
32, tf_eflags = 590466, tf_esp = -1068655605, tf_ss = -1028786304})
    at /usr/src/sys/i386/i386/trap.c:434
#6  0xc05c7f3a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc0474c36 in ohci_softintr (v=0xc2b8b000) 
at /usr/src/sys/dev/usb/ohci.c:1469
#8  0xc04887ab in usb_schedsoftintr (bus=0xc2b8b000) 
at /usr/src/sys/dev/usb/usb.c:871
#9  0xc0474762 in ohci_intr1 (sc=0xc2b8b000) 
at /usr/src/sys/dev/usb/ohci.c:1233
#10 0xc04745b4 in ohci_intr (p=0xc2b8b000) 
at /usr/src/sys/dev/usb/ohci.c:1162
#11 0xc04b45d9 in ithread_loop (arg=0xc2a8b400) 
at /usr/src/sys/kern/kern_intr.c:547
#12 0xc04b3860 in fork_exit (callout=0xc04b4480 <ithread_loop>, 
arg=0xc2a8b400, 
    frame=0xd3133d38) at /usr/src/sys/kern/kern_fork.c:789
#13 0xc05c7f9c in fork_trampoline () 
at /usr/src/sys/i386/i386/exception.s:208
(kgdb)



Kernel Config:
machine         i386
cpu             I686_CPU
ident           TERMITE6X
makeoptions     DEBUG=-g
 
options         SCHED_4BSD
options         PREEMPTION
options         INET
options         FFS
options         SOFTUPDATES
options         UFS_ACL
options         UFS_DIRHASH
options         MD_ROOT
options         GEOM_GPT
options         COMPAT_43
options         KTRACE
options         SYSVSHM
options         SYSVMSG
options         SYSVSEM
options         _KPOSIX_PRIORITY_SCHEDULING 
options         KBD_INSTALL_CDEV
options         ADAPTIVE_GIANT
device          apic
device          pci
device          agp
 
device          ata
device          atadisk
device          atapicd
options         ATA_STATIC_ID
 
device          scbus
device          da
device          cd
device          pass
 
device          atkbdc
device          atkbd
device          psm
device          vga
device          splash
device          sc
 
device          pmtimer
device          sio
device          miibus
device          xl
 
device          loop
device          random
device          ether
device          ppp
device          pty
device          md
device          bpf
 
device          uhci
device          ohci
device          ehci
device          usb
device          ugen
device          uftdi
device          ucom
device          uhid
device          ukbd
device          umass
options         USB_DEBUG




# dmesg

FreeBSD 6.0-STABLE #0: Wed Dec  7 12:08:53 EST 2005
    pak@termite6x.statseeker.com:/usr/obj/usr/src/sys/TERMITE6X
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU 2.66GHz (2660.47-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf41  Stepping = 1
  
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x441d<SSE3,RSVD2,MON,DS_CPL,CNTX-ID,<b14>>
real memory  = 468975616 (447 MB)
avail memory = 453718016 (432 MB)
ACPI APIC Table: <A M I  OEMAPIC >
ioapic0: Changing APIC ID to 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <A M I OEMRSDT> on motherboard
acpi0: Overriding SCI Interrupt from IRQ 9 to IRQ 21
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <ATI RS300_200 AGP bridge> mem 
0xf8000000-0xfbffffff,0xf7f00000-0xf7f00fff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 5.0 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xfe900000-0xfe900fff irq 19 
at device 19.0 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
usbd_get_string: getting lang failed, using 0
uhub0: (0x1002) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xfea00000-0xfea00fff irq 19 
at device 19.1 on pci0
ohci1: [GIANT-LOCKED]
usb1: OHCI version 1.0, legacy support
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
usbd_get_string: getting lang failed, using 0
uhub1: (0x1002) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfeb00000-0xfeb00fff irq 
19 at device 19.2 on pci0
ehci0: [GIANT-LOCKED]
usb2: EHCI version 1.0
usb2: companion controllers, 3 ports each: usb0 usb1
usb2: <EHCI (generic) USB 2.0 controller> on ehci0
usb2: USB revision 2.0
uhub2: (0x1002) EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 6 ports with 6 removable, self powered
pci0: <serial bus, SMBus> at device 20.0 (no driver attached)
atapci0: <ATI IXP200 UDMA100 controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xff00-0xff0f at device 20.1 on 
pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
isab0: <PCI-ISA bridge> at device 20.3 on pci0
isa0: <ISA bus> on isab0
pcib2: <ACPI PCI-PCI bridge> at device 20.4 on pci0
pci2: <ACPI PCI bus> on pcib2
xl0: <3Com 3c920B-EMB-WNM Integrated Fast Etherlink XL> port 
0xec00-0xec7f mem 0xfe200000-0xfe20007f irq 18 at device 8.0 on pci2
miibus0: <MII bus> on xl0
rlphy0: <RTL8201L 10/100 media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
xl0: Ethernet address: 00:11:d8:c7:f4:41
pci2: <serial bus, FireWire> at device 10.0 (no driver attached)
pci2: <bridge, PCI-CardBus> at device 12.0 (no driver attached)
pci2: <memory, flash> at device 12.1 (no driver attached)
pci0: <multimedia, audio> at device 20.5 (no driver attached)
acpi_button0: <Power Button> on acpi0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on 
acpi0
sio0: type 16550A
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcdfff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on 
isa0
ucom0: FTDI USB <-> Serial, rev 1.10/4.00, addr 2
Timecounter "TSC" frequency 2660465080 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB <Seagate ST380011A 8.01> at ata0-master UDMA100
acd0: CDROM <ASUS CD-S520/A5/1.1> at ata0-slave UDMA33



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