kern/121761: [7.0R][cardbus][dc] a cardbus dc0 causes a system freeze while transferring large data

lunarbase lunarbase+unx at gmail.com
Fri Mar 21 13:51:40 UTC 2008


>State-Changed-From-To: open->feedback
>State-Changed-By: vwe
>State-Changed-When: Tue Mar 18 22:28:59 UTC 2008
>State-Changed-Why:
>
>Please try to break into debugger when the system appears to hang and create
>a backtrace.

It's impossible because this freezes everything before generating the core file.

>If that doesn't work, please try if running a WITNESS enabled kernel
>is showing any messages. Without a backtrace, there's not really a chance
>to investigate this.

I did cvsup FreeBSD kernel source files with "*default tag=RELENG_7".
The version was:
 Edit src/sys/conf/NOTES
  Add delta 1.1454.2.3 2008.03.18.17.32.09 piso
 Edit src/sys/conf/files
  Add delta 1.1243.2.7 2008.03.18.17.32.09 piso

Used conf file is GENERIC with following options:
makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbol
options         WITNESS                 # Enable checks to detect deadlocks and
options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for sp
options         INVARIANTS              #Enable calls of extra sanity checking
options         INVARIANT_SUPPORT       #Extra sanity checks of internal struct

I applyed this patch for recognition of dc0 cardbus device.
http://www.freebsd.org/cgi/query-pr.cgi?pr=115623

I compiled it by (make makekernel KERNCONF=GENERIC.DEBUG && make
installkernel KERNCONF=GENERIC.DEBUG), then powered my ThinkPad i1400
off and powered it on.
RELENG_7 showed a login message, and I logged in.
I inserted a dc0 device (IBM 10/100 EtherJet CardBus), then it wasn't
recognized.
This was described in http://www.freebsd.org/cgi/query-pr.cgi?pr=121759 .
In this time, the card type was recognized, but the system said about
something failure of the CIS.

>interrupt storm detected on "irq9:"; throttling interrupt source
>cardbus1: Bad header in rom 0: [0] ffff
>cardbus1: Unable to allocate resources for CIS
>dc0: <Xircom X3201 10/100BaseTX> port 0x1000-0x107f mem
0x88000000-0x880007ff,0x88001000-0x880017ff irq 9 at device 0.0 on
cardbus1
>dc0: No station address in CIS!
>device_attach: dc0 attach returned 6

Other recognition pattern from PR121759:
>interrupt storm detected on "irq9:"; throttling interrupt source
>cardbus0: CIS pointer is 0xff7
>cardbus0: CIS in option rom
>cardbus0: Bad header in rom 0: [0] ffff
>cardbus0: Unable to allocate resources for CIS
>cardbus0: Warning: Bogus CIS ignored
>cardbus0: <network, ethernet> at device 0.0 (no driver attached)

I removed the card, and reinserted it. The card was recognized successfully.

>interrupt storm detected on "irq9:"; throttling interrupt source
>dc0: <Xircom X3201 10/100BaseTX> port 0x1000-0x107f mem
0x88000000-0x880007ff,0x88001000-0x880017ff irq 9 at device 0.0 on
cardbus1
>miibus0: <MII bus> on dc0
>tdkphy0: <TDK 78Q2120 media interface> PHY 0 on miibus0
>tdkphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>dc0: Ethernet address: xx:xx:xx:xx:xx:xx
>dc0: [ITHREAD]

I executed a following command.

fetch -p -o /dev/null
ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-livefs.iso

After transferring about 20MB data, everything freezed !
No core file was generated and no message was shown on the screen.

>I'm wondering what may make you assume this issue is related to PR 121555?
Because I found the problem report about transferring data on 7.0R


* Boot message on ThinkPad i1400 (2611-436)
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #0: Thu Mar 20 22:07:49 JST 2008
    xxx at xxx.xxx:/usr/obj/src/sys/GENERIC.DEBUG
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD-K6(tm) 3D processor (299.94-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x58c  Stepping = 12
  Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
  AMD Features=0x80000800<SYSCALL,3DNow!>
real memory  = 201261056 (191 MB)
avail memory = 182935552 (174 MB)
kbd1 at kbdmux0
K6-family MTRR support enabled (2 registers)
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
cpu0 on motherboard
pcib0: <Host to PCI bridge> pcibus 0 on motherboard
pir0: <PCI Interrupt Routing Table: 7 Entries> on motherboard
pci0: <PCI bus> on pcib0
$PIR: No matching entry for 0.11.INTA
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
cbb0: <O2Micro OZ6832/6833 PCI-CardBus Bridge> irq 9 at device 5.0 on pci0
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb0: [ITHREAD]
cbb1: <O2Micro OZ6832/6833 PCI-CardBus Bridge> irq 9 at device 5.1 on pci0
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
cbb1: [ITHREAD]
vgapci0: <VGA-compatible display> mem
0xd000000-0xdffffff,0xe000000-0xe1fffff,0xe200000-0xe2fffff irq 9 at
device 6.0 on pci0
atapci0: <AcerLabs M5229 UDMA33 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x6090-0x609f irq 15 at device
11.0 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
pci0: <bridge> at device 12.0 (no driver attached)
ohci0: <AcerLabs M5237 (Aladdin-V) USB controller> mem
0xe300000-0xe300fff irq 10 at device 15.0 on pci0
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: <AcerLabs M5237 (Aladdin-V) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <AcerLabs OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
PnP device failed to report resource data
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xc9fff pnpid ORM0000 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0
fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: [FILTER]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: <Parallel port> at port 0x3bc-0x3c3 irq 7 on isa0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
ppbus0: [ITHREAD]
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ppc0: [GIANT-LOCKED]
ppc0: [ITHREAD]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio0: [FILTER]
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
unknown: <PNP0c01> can't assign resources (memory)
unknown: <PNP0c02> can't assign resources (memory)
unknown: <PNP0303> can't assign resources (port)
unknown: <IBM3780> can't assign resources (irq)
unknown: <PNP0400> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0700> can't assign resources (port)
Timecounter "TSC" frequency 299942654 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 4xxxMB <IBM DBCA-204860 xxxxxxxx> at ata0-master UDMA33
acd0: CDROM <CRN-8241B/1.16> at ata1-master PIO4


More information about the freebsd-bugs mailing list