Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Dec 2006 00:07:47 GMT
From:      Alexey Illarionov<littlesavage@orionet.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/106243: double fault panic in if_nve.c on high loads
Message-ID:  <200612030007.kB307lHF058134@www.freebsd.org>
Resent-Message-ID: <200612030010.kB30AEue094279@freefall.freebsd.org>

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

>Number:         106243
>Category:       misc
>Synopsis:       double fault panic in if_nve.c on high loads
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 03 00:10:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Alexey Illarionov
>Release:        FreeBSD 6.2-PRERELEASE
>Organization:
>Environment:
FreeBSD games.orionet.ru 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #1: Sun Dec  3 01:30:23 MSK 2006     littlesavage@games.orionet.ru:/usr/obj/usr/src/sys/GAMES  i386
>Description:
When the machine is under heavy data transfer load, it panics:

kgdb: kvm_nlist(_stopped_cpus): 
kgdb: kvm_nlist(_stoppcbs): 
[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 double fault:
eip = 0xc068f295
esp = 0xe5da6000
ebp = 0xe5da6020
panic: double fault
KDB: stack backtrace:
kdb_backtrace(100,c5805600,0,0,0,...) at kdb_backtrace+0x29
panic(c073c3c5,c073c763,e5da6020,0,0,...) at panic+0xa8
dblfault_handler() at dblfault_handler+0x52
--- trap 0x17, eip = 0xc068f295, esp = 0xe5da6000, ebp = 0xe5da6020 ---
uma_zfree_arg(c1055e80,c60bb300,0) at uma_zfree_arg+0x21
m_freem(c60bb300,e9fd9000,e9dd8b50,c5803a10,1,...) at m_freem+0x2e
nve_ospackettx(c5803a00,e9dd8b50,1,e9fd9000,0,...) at nve_ospackettx+0x57
UpdateTransmitDescRingData() at UpdateTransmitDescRingData+0xd3
Uptime: 15m34s
Dumping 1535 MB (2 chunks)
  chunk 0: 1MB (156 pages) ... ok
  chunk 1: 1535MB (392944 pages) 1519 1503 1487 1471 1455 1439 1423 1407 1391 1375 1359 1343 1327 1311 1295 1279 1263 1247 1231 1215 1199 1183 1167 1151 1135 1119 1103 1087 1071 1055 1039 1023 1007 991 975 959 943 927 911 895 879 863 847 831 815 799 783 767 751 735 719 703 687 671 655 639 623 607 591 575 559 543 527 511 495 479 463 447 431 415 399 383 367 351 335 319 303 287 271 255 239 223 207 191 175 159 143 127 111 95 79 63 47 31 15

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc054e38a in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2  0xc054e650 in panic (fmt=0xc073c3c5 "double fault") at /usr/src/sys/kern/kern_shutdown.c:565
#3  0xc06e97ee in dblfault_handler () at /usr/src/sys/i386/i386/trap.c:866
#4  0x00000000 in ?? ()

(kgdb) l *(nve_ospackettx+0x57)
0xc06bfc43 is in nve_ospackettx (/usr/src/sys/dev/nve/if_nve.c:1552).
1547                    goto fail;
1548    
1549            bus_dmamap_sync(sc->mtag, buf->map, BUS_DMASYNC_POSTWRITE);
1550            bus_dmamap_unload(sc->mtag, buf->map);
1551            m_freem(buf->mbuf);
1552            buf->mbuf = NULL;
1553    
1554            /* Send more packets if we have them */
1555            if (sc->pending_txs < TX_RING_SIZE)
1556                    sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;


my dmesg:

Copyright (c) 1992-2006 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 6.2-PRERELEASE #1: Sun Dec  3 01:30:23 MSK 2006
    littlesavage@games.orionet.ru:/usr/obj/usr/src/sys/GAMES
ACPI APIC Table: <Nvidia AWRDACPI>
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 Processor 3200+ (2009.18-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x20ff0  Stepping = 0
  Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
  Features2=0x1<SSE3>
  AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow+,3DNow>
  AMD Features2=0x1<LAHF>
real memory  = 1610547200 (1535 MB)
avail memory = 1569054720 (1496 MB)
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <Nvidia AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0xcf0-0xcf3 on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <NVIDIA nForce3-250 AGP Controller> mem 0xf0000000-0xf3ffffff at device 0.0 on pci0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 1.1 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xf6004000-0xf6004fff irq 20 at device 2.0 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xf6005000-0xf6005fff irq 21 at device 2.1 on pci0
ohci1: [GIANT-LOCKED]
usb1: OHCI version 1.0, legacy support
usb1: SMM does not respond, resetting
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
ehci0: <NVIDIA nForce3 250 USB 2.0 controller> mem 0xf6000000-0xf60000ff irq 22 at device 2.2 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [GIANT-LOCKED]
usb2: EHCI version 1.0
usb2: companion controllers, 4 ports each: usb0 usb1
usb2: <NVIDIA nForce3 250 USB 2.0 controller> on ehci0
usb2: USB revision 2.0
uhub2: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 8 ports with 8 removable, self powered
nve0: <NVIDIA nForce MCP7 Networking Adapter> port 0x9c00-0x9c07 mem 0xf6001000-0xf6001fff irq 20 at device 5.0 on pci0
nve0: Ethernet address 00:04:61:ff:ff:ff
miibus0: <MII bus> on nve0
rlphy0: <RTL8201L 10/100 media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
nve0: Ethernet address: 00:04:61:ff:ff:ff
pci0: <multimedia, audio> at device 6.0 (no driver attached)
atapci0: <nVidia nForce3 Pro UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 8.0 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
atapci1: <nVidia nForce3 Pro SATA150 controller> port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xc000-0xc00f,0xc400-0xc47f irq 22 at dev
ice 10.0 on pci0
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
pcib1: <ACPI PCI-PCI bridge> at device 11.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 14.0 on pci0
pci2: <ACPI PCI bus> on pcib2
acpi_tz0: <Thermal Zone> on acpi0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: <Standard parallel printer port> port 0x378-0x37f,0x778-0x77b irq 7 on acpi0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcf7ff 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]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 2009175942 Hz quality 800
Timecounters tick every 1.000 msec
ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to deny, logging limited to 100 packets/entry by default
ad0: 76319MB <Seagate ST3802110A 3.AAJ> at ata0-master UDMA100
Trying to mount root from ufs:/dev/ad0s1a

>How-To-Repeat:
Put the machine under heavy traffic load.
Send /usr/src over NFS was enough for me.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



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