Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jan 2003 15:04:42 +0300 (MSK)
From:      Polina Soloviova <linas@vzljot.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/47432: Fatal trap 12 when enabling promiscuous mode on fxp interface 
Message-ID:  <200301241204.h0OC4gM04727@unix1.jinr.dubna.su>

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

>Number:         47432
>Category:       kern
>Synopsis:       Fatal trap 12 when enabling promiscuous mode on fxp interface
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 24 04:10:03 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Polina Soloviova <linas@vzljot.ru>
>Release:        FreeBSD 4.7-RELEASE-p2 i386
>Organization:
>Environment:
System: FreeBSD linas.stroimontazh.spb.ru 4.7-RELEASE-p2 FreeBSD 4.7-RELEASE-p2 #0: Fri Jan 24 11:09:05 MSK 2003 root@linas.stroimontazh.spb.ru:/usr/obj/usr/local/syssrc/src/sys/KERNEL_CD_DEBUG i386

###########################
# kernel configuration file

machine         i386
cpu             I386_CPU
cpu             I486_CPU
cpu             I586_CPU
cpu             I686_CPU
ident           KERNEL_CD_DEBUG
maxusers        512
option          NMBCLUSTERS=65536

options         DDB
makeoptions     DEBUG=-g                #Build kernel with gdb(1) debug symbols

options         MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking

options         IPFIREWALL
options         IPDIVERT
options         IPFIREWALL_VERBOSE 
options         IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity
options         DUMMYNET

options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep this!]
options         SOFTUPDATES             #Enable FFS soft updates support
options         UFS_DIRHASH
options         MFS                     #Memory Filesystem
options         MD_ROOT                 #MD is a potential root device
options         MSDOSFS                 #MSDOS Filesystem
options         CD9660                  #ISO 9660 Filesystem
options         CD9660_ROOT             #CD-ROM usable as root, CD9660 required
options         ROOTDEVNAME=\"cd9660:/dev/acd0a\"
options         PROCFS                  #Process filesystem
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
options         SCSI_DELAY=5000         #Delay (in ms) before probing SCSI
options         UCONSOLE                #Allow users to grab the console
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor
options         KTRACE                  #ktrace(1) support
options         SYSVSHM                 #SYSV-style shared memory
options         SYSVMSG                 #SYSV-style message queues
options         SYSVSEM                 #SYSV-style semaphores
options         P1003_1B                #Posix P1003_1B real-time extensions
options         _KPOSIX_PRIORITY_SCHEDULING
options         ICMP_BANDLIM            #Rate limit bad replies
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev

options         HZ=1000

device          isa
device          pci

device          fdc0    at isa? port IO_FD1 irq 6 drq 2
device          fd0     at fdc0 drive 0
device          fd1     at fdc0 drive 1

device          ata0    at isa? port IO_WD1 irq 14
device          ata1    at isa? port IO_WD2 irq 15
device          ata
device          atadisk                 # ATA disk drives
device          atapicd                 # ATAPI CDROM drives
device          atapifd                 # ATAPI floppy drives
device          atapist                 # ATAPI tape drives
options         ATA_STATIC_ID           #Static device numbering

device          atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1 flags 0x1
device          psm0    at atkbdc? irq 12
device          vga0    at isa?
pseudo-device   splash
device          sc0     at isa? flags 0x100
device          npx0    at nexus? port IO_NPX irq 13
device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
device          sio1    at isa? port IO_COM2 irq 3

options         CONSPEED=115200
device          puc

device          ppc0    at isa? irq 7
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device

device          miibus          # MII bus support
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device          xl

pseudo-device   vlan    1       #VLAN support

pseudo-device   loop            # Network loopback
pseudo-device   ether           # Ethernet support
pseudo-device   pty             # Pseudo-ttys (telnet etc)
pseudo-device   md              # Memory "disks"
pseudo-device   bpf

# END of kernel configuration file
###################################

###################################
# dmesg output

Copyright (c) 1992-2002 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 4.7-RELEASE-p2 #0: Fri Jan 24 11:09:05 MSK 2003
    root@linas.stroimontazh.spb.ru:/usr/obj/usr/local/syssrc/src/sys/KERNEL_CD_D
EBUG
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 669889366 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (669.89-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PA
T,PSE36,PN,MMX,FXSR,SSE>
real memory  = 268369920 (262080K bytes)
avail memory = 257486848 (251452K bytes)
Preloaded elf kernel "kernel" at 0xc02db000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc02db09c.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 10 entries at 0xc00fdec0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82801BA/BAM (ICH2) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <NVidia Riva Ultra Vanta TNT2 graphics accelerator> at 0.0 irq 11
pcib2: <Intel 82801BA/BAM (ICH2) Hub to PCI bridge> at device 30.0 on pci0
pci2: <PCI bus> on pcib2
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x9000-0x903f mem 0xd9000000-0xd901
ffff,0xd9020000-0xd9020fff irq 11 at device 1.0 on pci2
fxp0: Ethernet address 00:02:b3:a3:7e:3f
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
xl0: <3Com 3c905-TX Fast Etherlink XL> port 0x9400-0x943f irq 5 at device 3.0 on
 pci2
xl0: Ethernet address: 00:60:97:5b:34:e4
miibus1: <MII bus> on xl0
nsphy0: <DP83840 10/100 media interface> on miibus1
nsphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isab0: <Intel 82801BA/BAM (ICH2) PCI to LPC bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH2 ATA100 controller> port 0xf000-0xf00f at device 31.1 on pci
0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> at 31.2 irq 5
pci0: <unknown card> (vendor=0x8086, dev=0x2443) at 31.3 irq 0
pci0: <Intel 82801BA/BAM (ICH2) USB controller USB-B> at 31.4 irq 11
orm0: <Option ROMs> at iomem 0xc0000-0xca7ff,0xcc000-0xcd7ff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model NetMouse/NetScroll Optical, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
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
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
IP packet filtering initialized, divert enabled, rule-based forwarding enabled, 
default to deny, logging limited to 100 packets/entry by default
DUMMYNET initialized (011031)
ata1-slave: ATAPI identify retries exceeded
ad0: 19464MB <SAMSUNG SV2044D> [39546/16/63] at ata0-master PIO4
acd0: CD-RW <CD-W516EB> at ata1-master PIO4
Mounting root from ufs:/dev/ad0s1a

# END of dmesg output
################################ 
>Description:
Promiscuous mode on fxp interface (e.g, running tcpdump or trafshow) when it's under network load causes fatal trap 12 message:

Fatal trap 12: page fault while in kernel mode
fault virtual address     = 0xc0c2b017
fault code                = supervisor write, page not present
instruction pointer       = 0x8:0xc017442f
stack pointer             = 0x10:0xe667df04
frame pointer             = 0x10:0xe667df18
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           = Idle
interrupt mask            = net
kernel: type 12 trap, code = 0
Stopped at m_getcl+0x203: incb 0(%eax, %edx, 1)
db>
db> trace
m_getcl(1,1,2,c0b0d200,c0a9c802) at m_getcl+0x203
fxp_add_rfabuf(ccaaec00,c0b0d200) at fxp_add_rfabuf+0x17
fxp_intr_body(ccaaec00,40,ffffffff) at fxp_intr_body+0xdc
fxp_intr(ccaaec00,660820,94,b27d402e,40001000) at fxp_intr+0x65
intr_mux(c0a63880,0,2f,2f,2f) at intr_mux+0x1d
Xresume11() at Xresume11+0x2b
---interrupt, eip=0x280d59ce, esp=0xe667dfe0, ebp=0x4000100---
db>
db> panic
panic: from debugger
Debugger("panic")

Fatal trap 3: breakpoint instruction fault while in kernel mode
instruction pointer       = 0x8:0xc01fe4d0
stack pointer             = 0x10:0xe667dd18
frame pointer             = 0x10:0xe667dd20
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           = Idle
interrupt mask            = net
Stopped at m_getcl+0x203: incb 0(%eax, %edx, 1)
db>
db> continue
Fatal trap 12: page fault while in kernel mode
fault virtual address     = 0xc0c2b017
fault code                = supervisor write, page not present
instruction pointer       = 0x8:0xc017442f
stack pointer             = 0x10:0xe667df04
frame pointer             = 0x10:0xe667df18
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           = Idle
interrupt mask            = net
kernel: type 12 trap, code = 0
Stopped at m_getcl+0x203: incb 0(%eax, %edx, 1)
db>
db>

As a result I have no kernel coredump after reboot
This happens almost every time I run tcpdump or trafshow on fxp0 interface, but never on xl0 interface.
>How-To-Repeat:
1. Run tcpdump on fxp interface
2. Perform some network activity on it (e.g, run 'scp some_big_file problem.host.com:' )
3. If there is no effect, repeat steps 1 and 2 one or more times.
>Fix:
unknown
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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