Hello Jacob, 

[email protected] (Jacob Meuser), 2010.11.25 (Thu) 20:29 (CET):
> B0;264;0cOn Wed, Nov 24, 2010 at 09:07:46PM +0000, Jacob Meuser wrote:
> > On Tue, Nov 23, 2010 at 10:28:17AM +0100, MERIGHI Marcus wrote:
> > > Jacob Meuser <[email protected]>, 2010-11-22 23:06:23:
> > 
> > > > > uvm_fault(0xd0a1a040, 0x0, 0, 1) -> e
> > > > > kernel: page fault trap, code=0
> > > > > Stopped at      usbd_do_request_flags_pipe+0x18:        movl 
> > > > > 0x258(%eax),%ec
> > > > > x
> > > > > ddb>
> > > > > ddb> trace
> > > > > usbd_do_request_flags_pipe(d1f3ac00,2,dc16aef8,0,0) at
> > > > > usbd_do_request_flags_pi
> > > > > pe+0x18
> > > > > usbd_do_request_flags(d1f3ac00,dc16aef8,0,0,0) at 
> > > > > usbd_do_request_flags+0x3c
> > > > > usbd_do_request(d1f3ac00,dc16aef8,0,d079ab1d,d0a0f200) at
> > > > > usbd_do_request+0x37
> > > > > usbd_reset_port(d1f3ac00,1,d1f3a980,d03e1d87,40) at 
> > > > > usbd_reset_port+0x42
> > > > > uhub_explore(d1f3ac00,d1f3accc,dc16af8c,d07978b6,d1f3ac80) at
> > > > > uhub_explore+0x16
> > > > > f
> > > > > usb_explore(d1f3ac80,20,d097e6b6,0,d6d7f768) at usb_explore+0x3f
> > > > > usb_task_thread(d6d7f768) at usb_task_thread+0x76
> > > > 
> > > > does the device work?  does the kernel see devices attached to the USB?
> > > 
> > > yes. below dmesg with pcmcia card attached as well as usb stick via
> > > pcmcia card. watch out for "pcmcia card inserted" and "usb stick
> > > inserted".
> > 
> > ok then it's not the initial uhub_explore() just hanging out
> > forever ... apparently the device generates a hub interrupt
> > when it's removed.
> > 
> > I've just sent a patch to tech@ which I think will fix
> > the crash.  the subject is 'more usb detach love'.  can you
> > see if that makes a difference?
> 
> on second thought, can you try the following first?  our handling of

see my previous message. 
before applying your newer patch I reset my /usr/src/sys/dev/usb/* to
-current. 

> hub interrupts is, well, sloppy.  we totally ignore the status bit
> field, which tells us which port had a status change, or whether the
> hub had a status change.  uhub_explore() only deals with port status
> changes, so we only need to run it when there is a port status
> change.  uhub_explore() should also use the status bit field to know
> what ports need to be checked, instead of checking every port, but
> I'll leave that for later.
> 
> I'm also interested if you see the following kernel messages when
> running with this diff:
> 
> uhub_intr: no change
> uhub_intr: hub changed but not ports

not yet. You mean on unplugging the pcmcia uhub, don't you?

below output of the session, see "# unplug pcmcia uhub".

>> OpenBSD/i386 BOOT 3.02
boot>
booting hd0a:/bsd: 8186428+1091240 [61+369728+355632]=0x98a430
entry point at 0x200120

[ using 725836 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2010 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.8-current (GENERIC) #3: Fri Nov 26 11:27:48 CET 2010
    [email protected]:/mnt/openbsd/src/sys/arch/i386/compile/GENERIC
cpu0: Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz ("GenuineIntel" 686-class) 2
GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,
DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
real mem  = 1072721920 (1023MB)
avail mem = 1045123072 (996MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 06/12/03, BIOS32 rev. 0 @ 0xfd7e0, SMBIOS
rev. 2.31 @ 0xe0010 (48 entries)
bios0: vendor IBM version "1IET66WW (2.05 )" date 06/12/2003
bios0: IBM 2366EG9
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SSDT ECDT TCPA BOOT
acpi0: wakeup devices LID_(S3) SLPB(S3) UART(S3) PCI0(S4) PCI1(S4) DOCK(S4) USB0
(S3) USB1(S3) USB2(S3) AC97(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (AGP_)
acpiprt2 at acpi0: bus 2 (PCI1)
acpicpu0 at acpi0: C3, C2, FVS, 2000, 1200 MHz
acpipwrres0 at acpi0: PUBS
acpitz0 at acpi0: critical temperature 94 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model "IBM-COMPATIBLE" serial 20884 type LION oem "GW"
acpibat1 at acpi0: BAT1 not present
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
acpidock0 at acpi0: DOCK not docked (0)
bios0: ROM list: 0xc0000/0x10000 0xdc000/0x4000! 0xe0000/0x10000
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82845 Host" rev 0x04
intelagp0 at pchb0
agp0 at intelagp0: aperture at 0xe0000000, size 0x4000000
ppb0 at pci0 dev 1 function 0 "Intel 82845 AGP" rev 0x04
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Radeon Mobility M7" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
radeondrm0 at vga1: irq 11
drm0 at radeondrm0
uhci0 at pci0 dev 29 function 0 "Intel 82801CA/CAM USB" rev 0x02: irq 11
uhci1 at pci0 dev 29 function 1 "Intel 82801CA/CAM USB" rev 0x02: irq 11
uhci2 at pci0 dev 29 function 2 "Intel 82801CA/CAM USB" rev 0x02: irq 11
ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x42
pci2 at ppb1 bus 2
mem address conflict 0x50000000/0x1000
mem address conflict 0x51000000/0x1000
cbb0 at pci2 dev 0 function 0 "TI PCI1520 CardBus" rev 0x01: irq 11
cbb1 at pci2 dev 0 function 1 "TI PCI1520 CardBus" rev 0x01: irq 11
fxp0 at pci2 dev 8 function 0 "Intel PRO/100 VE" rev 0x42, i82562: irq 11, addre
ss 00:09:6b:3f:67:a8
inphy0 at fxp0 phy 1: i82562ET 10/100 PHY, rev. 0
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0
pcmcia0 at cardslot0
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0
pcmcia1 at cardslot1
ichpcib0 at pci0 dev 31 function 0 "Intel 82801CAM LPC" rev 0x02
pciide0 at pci0 dev 31 function 1 "Intel 82801CAM IDE" rev 0x02: DMA, channel 0
configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC WD3200BEVE-00A0HT0>
wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
wd1 at pciide0 channel 1 drive 0: <WDC WD1600BEVE-00WZT0>
wd1: 16-sector PIO, LBA48, 152627MB, 312581808 sectors
wd1(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 5
ichiic0 at pci0 dev 31 function 3 "Intel 82801CA/CAM SMBus" rev 0x02: irq 11
iic0 at ichiic0
auich0 at pci0 dev 31 function 5 "Intel 82801CA/CAM AC97" rev 0x02: irq 11, ICH3
 AC97
ac97: codec id 0x41445348 (Analog Devices AD1881A)
ac97: codec features headphone, Analog Devices Phat Stereo
audio0 at auich0
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb1 at uhci1: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci2: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
biomask eded netmask eded ttymask ffff
mtrr: Pentium Pro MTRR support
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
Automatic boot in progress: starting file system checks.
/dev/wd0a (10a8ab1121377141.a): file system is clean; not checking
/dev/wd0j (10a8ab1121377141.j): file system is clean; not checking
/dev/wd0e (10a8ab1121377141.e): file system is clean; not checking
/dev/wd0f (10a8ab1121377141.f): file system is clean; not checking
/dev/wd0g (10a8ab1121377141.g): file system is clean; not checking
/dev/wd0h (10a8ab1121377141.h): file system is clean; not checking
/dev/wd0k (10a8ab1121377141.k): file system is clean; not checking
setting tty flags
kbd: keyboard mapping set to de
keyboard.encoding -> de
pf enabled
ddb.console: 0 -> 1
machdep.allowaperture: 0 -> 2
machdep.kbdreset: 0 -> 1
machdep.lidsuspend: 0 -> 0
starting network
starting system logger
starting initial daemons: portmap amd ntpd.
savecore: no core dump
checking quotas: done.
building ps databases: kvm dev.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
turning on accounting
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd ifstated lpd ldapd smtpd inetd.
starting local daemons:mount_ffs: 1b7ba332f009b306.a on /mnt/asfer: No such file
 or directory
 smartd freedt squid.
standard daemons: apmd sensorsd hotplugd cron.
Fri Nov 26 11:35:34 CET 2010
starting xdm...
uhci3 at cardbus0 dev 0 function 0 "VIA VT83C572 USB" rev 0x62: irq 11
usb3 at uhci3: USB revision 1.0
uhub3 at usb3 "VIA UHCI root hub" rev 1.00/1.00 addr 1
uhci4 at cardbus0 dev 0 function 1 "VIA VT83C572 USB" rev 0x62: irq 11
usb4 at uhci4: USB revision 1.0
uhub4 at usb4 "VIA UHCI root hub" rev 1.00/1.00 addr 1
ehci0 at cardbus0 dev 0 function 2 "VIA VT6202 USB" rev 0x65: irq 11
usb5 at ehci0: USB revision 2.0
uhub5 at usb5 "VIA EHCI root hub" rev 2.00/1.00 addr 1
umass0 at uhub5 port 2 configuration 1 interface 0 " " rev 2.00/1.41 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd0 at scsibus1 targ 1 lun 0: <Generic, Flash Disk, 8.10> SCSI2 0/direct removab
le
sd0: 3992MB, 512 bytes/sec, 8175616 sec total
sd0 detached
scsibus1 detached
umass0 detached
# unplug pcmcia uhub
uhci3: host system error
uhci3: host controller process error
uhci3: host controller halted
uhci4: host system error
uhci4: host controller process error
uhci4: host controller halted
ehci0: unrecoverable error, controller halted
ehci0: blocking intrs 0x10
uhub3 detached
usb3 detached
uhci3 detached
uhub4 detached
usb4 detached
uhci4 detached
uhub5 detached
uvm_fault(0xd09f8080, 0xeffff000, 0, 1) -> d
kernel: page fault trap, code=0
Stopped at      usbd_do_request_flags_pipe+0x18:        movl    0x258(%eax),%ec
x
ddb> trace
usbd_do_request_flags_pipe(d1f34c80,efff0062,dc16aef8,0,0) at usbd_do_request_f
lags_pipe+0x18
usbd_do_request_flags(d1f34c80,dc16aef8,0,0,0) at usbd_do_request_flags+0x3c
usbd_do_request(d1f34c80,dc16aef8,0,d079adad,d0a0f200) at usbd_do_request+0x37
usbd_reset_port(d1f34c80,1,d1f34100,d03e20f7,40) at usbd_reset_port+0x42
uhub_explore(d1f34c80,d1f3484c,dc16af8c,d0797b46,d1f34800) at uhub_explore+0x16
f
usb_explore(d1f34800,20,d097eaf6,0,d6d7f768) at usb_explore+0x3f
usb_task_thread(d6d7f768) at usb_task_thread+0x76
Bad frame pointer: 0xd0b8ce48
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
 14556  18344  13541      0  3      0x4080  nanosleep     sleep
 11489  19330  13541      0  3      0x4080  nanosleep     sleep
  4372  15243  13541      0  3      0x4080  nanosleep     sleep
 22260   2537  13541      0  3      0x4080  nanosleep     sleep
 24735      1  13541      0  3      0x4080  piperd        logger
 18344      1  13541      0  3        0x80  pause         ksh
  1806  10470  13541      0  3      0x4080  nanosleep     sleep
 26510  29471  13541      0  3      0x4080  nanosleep     sleep
 10749   7500  13541      0  3      0x4080  nanosleep     sleep
 17808      1  13541      0  3      0x4080  piperd        logger
 19330      1  13541      0  3        0x80  pause         ksh
 22872      1  13541      0  3      0x4080  piperd        logger
 10470      1  13541      0  3        0x80  pause         ksh
 12075      1  13541      0  3      0x4080  piperd        logger
 15243      1  13541      0  3        0x80  pause         ksh
 32455      1  13541      0  3      0x4080  piperd        logger
 29471      1  13541      0  3        0x80  pause         ksh
 31396      1  13541      0  3      0x4080  piperd        logger
  7500      1  13541      0  3        0x80  pause         ksh
 16088      1  13541      0  3      0x4080  piperd        logger
  2537      1  13541      0  3        0x80  pause         ksh
  8421   9756   8421      0  3        0x80  poll          xdm
   132   7997   7997      0  3     0x40180  netio         Xorg
  7997   9756   7997     35  3     0x44180  select        Xorg
 14478      1  14478      0  3      0x4080  ttyin         getty
  7798      1   7798      0  3      0x4080  ttyin         getty
  9071      1   9071      0  3      0x4080  ttyin         getty
  4834      1   4834      0  3      0x4080  ttyin         getty
 12792      1  12792      0  3      0x4080  ttyin         getty
  9756      1   9756      0  3        0x80  pause         xdm
 31234  10909  14742    515  3      0x4080  piperd        unlinkd
 18987  10909  14742    515  3      0x4080  poll          ncsa_auth
 29173  10909  14742    515  3      0x4080  poll          ncsa_auth
 22413      1  22413      0  3        0x80  select        cron
 13541      1  13541      0  3        0x80  htplev        hotplugd
 26049      1  26049      0  3     0x80080  nanosleep     sensorsd
 26982      1  26982      0  3        0x80  kqread        apmd
 10909  14742  14742    515  3      0x4180  poll          squid
 14742      1  14742      0  3        0x80  poll          squid
  6361      1  32418      0  3        0x80  nanosleep     smartd
 29798   9946  29798    510  3      0x4080  piperd        logger
  9946  12036  12036      0  3      0x4080  select        supervise
 22966    209  22966    510  3      0x4180  poll          pdnsd
   209  12036  12036      0  3      0x4080  select        supervise
 12036      1  12036      0  3      0x4080  nanosleep     svscan
 24586      1  24586     99  3       0x180  poll          aucat
 10161      1  10161      0  3       0x180  select        inetd
 15764   7518   7518     95  3       0x180  kqread        smtpd
 13889   7518   7518     95  3       0x180  kqread        smtpd
 31606   7518   7518     95  3       0x180  kqread        smtpd
  9457   7518   7518     95  3       0x180  kqread        smtpd
 21050   7518   7518     95  3       0x180  kqread        smtpd
 15122   7518   7518     95  3       0x180  kqread        smtpd
 11055   7518   7518     95  3       0x180  kqread        smtpd
  7628   7518   7518     95  3       0x180  kqread        smtpd
  7518      1   7518      0  3        0x80  kqread        smtpd
  3129   1533   1533    100  3       0x180  kqread        ldapd
  1533      1   1533      0  3        0x80  kqread        ldapd
  4562      1   4562      0  3     0x40180  select        lpd
 19562      1  19562      0  3        0x80  kqread        ifstated
 21832      1  21832      0  3        0x80  select        sshd
 22228      0      0      0  3    0x100200  acct          acct
 24551  11011   3269     83  3       0x180  poll          ntpd
 11011   3269   3269     83  3       0x180  poll          ntpd
  3269      1   3269      0  3        0x80  poll          ntpd
 24365      0      0      0  3    0x100280  nfsidl        nfsio
 14171      0      0      0  3    0x100280  nfsidl        nfsio
 12113      0      0      0  3    0x100280  nfsidl        nfsio
  2592      0      0      0  3    0x100280  nfsidl        nfsio
 28029      1  10617      0  3        0x80  select        amd
  6422      1   6422     28  3       0x180  poll          portmap
 27708  25059  25059     74  3       0x180  bpf           pflogd
 25059      1  25059      0  3        0x80  netio         pflogd
 23832  28245  28245     73  2       0x180                syslogd
 28245      1  28245      0  3        0x88  netio         syslogd
    14      0      0      0  3    0x100200  aiodoned      aiodoned
    13      0      0      0  3    0x100200  syncer        update
    12      0      0      0  3    0x100200  cleaner       cleaner
    11      0      0      0  3    0x100200  reaper        reaper
    10      0      0      0  3    0x100200  pgdaemon      pagedaemon
     9      0      0      0  3    0x100200  bored         crypto
     8      0      0      0  3    0x100200  pftm          pfpurge
*    7      0      0      0  7    0x100200                usbtask
     6      0      0      0  3    0x100200  usbatsk       usbatsk
     5      0      0      0  3    0x100200  acpi0         acpi0
     4      0      0      0  3    0x100200  endtask       syswq
     3      0      0      0  3  0x40100200                idle0
     2      0      0      0  3    0x100200  kmalloc       kmthread
     1      0      1      0  3      0x4080  wait          init
     0     -1      0      0  3     0x80200  scheduler     swapper
ddb> boot sync
syncing disks... done
WARNING: not updating battery clock
rebooting...

keep me testing, 

Marcus

Reply via email to