Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Aug 2006 23:59:36 +0200
From:      Pieter de Goeje <pieter@degoeje.nl>
To:        freebsd-amd64@freebsd.org
Subject:   Panic on 6.1REL using linux compat
Message-ID:  <200608192359.36462.pieter@degoeje.nl>

next in thread | raw e-mail | index | archive | help
--Boundary-00=_In45Ev6gZ6wHkTC
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

The box in question is a dual core athlon64, running 6.1-RELEASE-p3 amd64 with 
SMP enabled. The box has been panicing every month or so, and i've obtained a 
crashdump the last time. The primary use for the box is hosting Half-Life 
Dedicated Servers, using linux compatibility. One of them was the current 
process seen in the panic below.

Backtrace:
Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address	= 0x48
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xffffffff8023d923
stack pointer	        = 0x10:0xffffffffa79c9620
frame pointer	        = 0x10:0x4
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 74823 (hlds_amd)
trap number		= 12
panic: page fault
cpuid = 1
Uptime: 14d14h36m48s
Dumping 1023 MB (2 chunks)
  chunk 0: 1MB (156 pages) ... ok
  chunk 1: 1023MB (261808 pages) 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:172
172		__asm __volatile("movq %%gs:0,%0" : "=r" (td));
(kgdb) backtrace
#0  doadump () at pcpu.h:172
#1  0x8888888888888889 in ?? ()
#2  0xffffffff801f97d7 in boot (howto=260) 
at /usr/src/sys/kern/kern_shutdown.c:402
#3  0xffffffff801f9e71 in panic (fmt=0xffffff000a44abe0 "") 
at /usr/src/sys/kern/kern_shutdown.c:558
#4  0xffffffff803350ff in trap_fatal (frame=0xffffff000a44abe0, 
eva=18446742974534823936) at /usr/src/sys/amd64/amd64/trap.c:660
#5  0xffffffff8033541f in trap_pfault (frame=0xffffffffa79c9570, usermode=0) 
at /usr/src/sys/amd64/amd64/trap.c:573
#6  0xffffffff803356d3 in trap (frame=
      {tf_rdi = 72, tf_rsi = 0, tf_rdx = 72, tf_rcx = 0, tf_r8 
= -1098734541056, tf_r9 = 50, tf_rax = 144, tf_rbx = -1098734541056, tf_rbp = 
4, tf_r10 = -1098734541056, tf_r11 = -2144558112, tf_r12 = -1098734541056, 
tf_r13 = -1099503775744, tf_r14 = 0, tf_r15 = 1, tf_trapno = 12, tf_addr = 
72, tf_flags = -2144884788, tf_err = 0, tf_rip = -2145134301, tf_cs = 8, 
tf_rflags = 66054, tf_rsp = -1482910152, tf_ss = 0})
    at /usr/src/sys/amd64/amd64/trap.c:352
#7  0xffffffff80321acb in calltrap () 
at /usr/src/sys/amd64/amd64/exception.S:168
#8  0xffffffff8023d923 in m_length (m0=0x48, last=0x0) 
at /usr/src/sys/kern/uipc_mbuf.c:1173
#9  0xffffffff8023d94b in m_fixhdr (m0=0xffffff002e516700) 
at /usr/src/sys/kern/uipc_mbuf.c:1161
#10 0xffffffff8023d9ac in m_defrag (m0=0xffffff002e516700, how=1) 
at /usr/src/sys/kern/uipc_mbuf.c:1204
#11 0xffffffff802ca056 in rl_start_locked (ifp=0xffffff0000093000) 
at /usr/src/sys/pci/if_rl.c:1390
#12 0xffffffff802ca425 in rl_start (ifp=0xffffff0000093000) 
at /usr/src/sys/pci/if_rl.c:1427
#13 0xffffffff80280268 in ether_output_frame (ifp=0xffffff0000093000, 
m=0xffffff002e516700) at /usr/src/sys/net/if_ethersubr.c:406
#14 0xffffffff802804de in ether_output (ifp=0xffffff0000093000, 
m=0xffffff002e516700, dst=0xffffff00007f7180, rt0=0x0)
    at /usr/src/sys/net/if_ethersubr.c:359
#15 0xffffffff80297d8a in ip_output (m=0xffffff002e516700, 
opt=0xffffffffa79c9810, ro=0xffffffffa79c9810, flags=33, 
imo=0xffffff002f64bc00, 
    inp=0xffffff00110e2720) at /usr/src/sys/netinet/ip_output.c:777
#16 0xffffffff802a9082 in udp_send (so=0x48, flags=0, m=0x90, addr=0x40, 
control=0x20, td=0x82) at /usr/src/sys/netinet/udp_usrreq.c:903
#17 0xffffffff8023f3ae in sosend (so=0xffffff00246df268, 
addr=0xffffff000bad2630, uio=0xffffffffa79c99b0, top=0xffffff00114f6000, 
    control=0x0, flags=0, td=0xffffff000a44abe0) 
at /usr/src/sys/kern/uipc_socket.c:836
#18 0xffffffff80246dd9 in kern_sendit (td=0xffffff000a44abe0, s=4, 
mp=0xffffffffa79c9b20, flags=0, control=0x0, segflg=102)
    at /usr/src/sys/kern/uipc_syscalls.c:772
#19 0xffffffff803697a8 in linux_sendit (td=0xffffff000a44abe0, s=4, 
mp=0xffffffffa79c9b20, flags=0, segflg=UIO_USERSPACE)
    at /usr/src/sys/compat/linux/linux_socket.c:405
#20 0xffffffff8036a4e1 in linux_socketcall (td=0xffffff000a44abe0, args=0x0) 
at /usr/src/sys/compat/linux/linux_socket.c:897
#21 0xffffffff803582dd in ia32_syscall (frame=
      {tf_rdi = 4, tf_rsi = 1, tf_rdx = 675516088, tf_rcx = 4294946784, tf_r8 
= 0, tf_r9 = 0, tf_rax = 102, tf_rbx = 11, tf_rbp = 4294948312, tf_r10 = 0, 
tf_r11 = 0, tf_r12 = 0, tf_r13 = 0, tf_r14 = 0, tf_r15 = 0, tf_trapno = 22, 
tf_addr = 0, tf_flags = 0, tf_err = 2, tf_rip = 67163744---Type <return> to 
continue, or q <return> to quit---
8, tf_cs = 27, tf_rflags = 582, tf_rsp = 4294946776, tf_ss = 35}) 
at /usr/src/sys/amd64/ia32/ia32_syscall.c:186
#22 0xffffffff80321e9d in Xint0x80_syscall () at ia32_exception.S:64
#23 0x0000000028085fc8 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) list *0xffffffff8023d923
0xffffffff8023d923 is in m_length (/usr/src/sys/kern/uipc_mbuf.c:1175).
1170		u_int len;
1171	
1172		len = 0;
1173		for (m = m0; m != NULL; m = m->m_next) {
1174			len += m->m_len;
1175			if (m->m_next == NULL)
1176				break;
1177		}
1178		if (last != NULL)
1179			*last = m;
(kgdb) quit

I think this has something to do with the box being SMP or 64bit, because I 
have hosted the same software on a non SMP (i386) box, without the crashes. 
I'm also using debug.mpsafenet=0 in loader.conf, because I'm experiencing 
packet corruption sometimes without it (in linux programs).
This dump was obtained while using a realtek 8139C NIC, but the onboard (sk) 
nick exhibited the same problem, so I don't think the NIC is the source of 
the panic. I've also tested the memory using memtest86+, no errors found.

If there's anything I can do to help debug the problem, please say so :)

Attached is the dmesg.

Regards,

Pieter de Goeje

--Boundary-00=_In45Ev6gZ6wHkTC
Content-Type: text/plain;
  charset="us-ascii";
  name="dmesg"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="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 6.1-RELEASE-p3 #4: Thu Aug  3 02:37:35 CEST 2006
    pyotr@unforgiven.student.utwente.nl:/usr/obj/usr/src/sys/UNFORGIVEN
WARNING: MPSAFE network stack disabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (2002.57-MHz K8-class CPU)
  Origin = "AuthenticAMD"  Id = 0x20f32  Stepping = 2
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x1<SSE3>
  AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow+,3DNow>
  AMD Features2=0x3<LAHF,CMP>
  Cores per package: 2
real memory  = 1073414144 (1023 MB)
avail memory = 1028812800 (981 MB)
ACPI APIC Table: <A M I  OEMAPIC >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
MADT: Forcing active-low polarity and level trigger for SCI
ioapic0 <Version 0.3> irqs 0-23 on motherboard
acpi0: <A M I OEMXSDT> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci0: <network, ethernet> at device 10.0 (no driver attached)
pci0: <display, VGA> at device 11.0 (no driver attached)
rl0: <RealTek 8139 10/100BaseTX> port 0xb400-0xb4ff mem 0xfbd00000-0xfbd000ff irq 17 at device 12.0 on pci0
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:c0:26:10:03:6a
rl0: [GIANT-LOCKED]
atapci0: <VIA 6420 SATA150 controller> port 0xd400-0xd407,0xd000-0xd003,0xc800-0xc807,0xc400-0xc403,0xc000-0xc00f,0xb800-0xb8ff irq 20 at device 15.0 on pci0
ata2: <ATA channel 0> on atapci0
ata3: <ATA channel 1> on atapci0
atapci1: <VIA 8237 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.1 on pci0
ata0: <ATA channel 0> on atapci1
ata1: <ATA channel 1> on atapci1
pci0: <serial bus, USB> at device 16.0 (no driver attached)
pci0: <serial bus, USB> at device 16.1 (no driver attached)
pci0: <serial bus, USB> at device 16.2 (no driver attached)
pci0: <serial bus, USB> at device 16.3 (no driver attached)
pci0: <serial bus, USB> at device 16.4 (no driver attached)
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
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
Timecounters tick every 1.000 msec
ad0: 19595MB <MAXTOR 6L020J1 A93.0500> at ata0-master UDMA133
acd0: CDRW <Hewlett-Packard CD-Writer Plus 9100/1.0c> at ata1-master UDMA33
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ad0s1a
WARNING: / was not properly dismounted
WARNING: /tmp was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted

--Boundary-00=_In45Ev6gZ6wHkTC--



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