Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Nov 1999 16:34:56 GMT
From:      Scott Telford <st@cheetah.epcc.ed.ac.uk>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   i386/15074: Panics on Athlon system
Message-ID:  <199911241634.QAA02458@cheetah.epcc.ed.ac.uk>

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

>Number:         15074
>Category:       i386
>Synopsis:       Two different panics when running Linux binaries on Athlon
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 24 08:40:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     Scott Telford
>Release:        FreeBSD 3.3-RELEASE i386
>Organization:
>Environment:

Gigabyte GA-7IX rev 1.0 motherboard
AMD Athlon 500MHz (stepping 2)
128Mb ECC SDRAM
No swap
AHA-2940UW Pro SCSI host adapter
3C905B-TX-NM Ethernet

>Description:

When running a Fortran benchmark (STREAM; see
http://www.cs.virginia.edu/stream/) compiled with Absoft Pro Fortran
or Portland Group PGF77/90 compilers for Linux on the above system, one of the
two following panics occur, on the first, second, third or fourth run.
Two sizes of benchmark were used, which use either a 45Mb or 102Mb array. The
first panic occurs with either the 45Mb or 102Mb array, I've only seen the
second with the 45Mb array.

swap_pager: out of swap space
panic: rlist_free: free start overlaps already freed area at list tail
Debugger("panic")
Stopped at      Debugger+0x37:  movl    $0,in_Debugger
db> tr
Debugger(c0237e83) at Debugger+0x37
panic(c0238a43,7,0,c5e4e45c,c0281d0c) at panic+0x74
rlist_free(c0281d08,0,7,f,c0abafc8) at rlist_free+0xfa
swap_pager_freeswapspace(c5e4e45c,0,7,c5e4e45c,80000000) at
swap_pager_freeswapspace+0x1b
swap_pager_free_swap(c5e4e45c) at swap_pager_free_swap+0x85
swap_pager_dealloc(c5e4e45c,c5e51e84,c01f9a7e,c5e4e45c,80000000) at
swap_pager_dealloc+0x8a
vm_pager_deallocate(c5e4e45c,80000000) at vm_pager_deallocate+0x16
[deletia]
exit1(c5df42e0,0,c5e51fb4,c021ab97,c5df42e0) at exit1+0x1fb
exit1(c5df42e0,c5e51f94,0, 281236b0,0) at exit1
syscall(27,27,0,281236b0,bfbfdb18) at syscall+0x187
Xint0x80_syscall() at Xint0x80_syscall()+0x2c


or...

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x4c
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0179080
stack pointer           = 0x10:0xc5e4ae04
frame pointer           = 0x10:0xc5e4ae04
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         = 240 (stream-2m-pgf90-)
interrupt mask          =
kernel: type 12 trap, code=0
Stopped at      pbgetvp+0xc:    movl    0x4c(%edx),%eax
db> tr
pbgetvp(0,c3333398,c4bc6000,c5e4af18,1) at pbgetvp+0xc
swap_pager_getpages(c5e4bb24,c5e4af18,1,0, c5e4af58) at
swap_pager_getpages+0x2fe
vm_pager_get_pages(c5e4bb24,c5e4af18,1,0) at vm_pager_get_pages+0x1f
vm_fault(c5df8400,80e9000, 3,8,c5df45a0) at vm_fault+0x478
trap_pfault(c5e4afbc,1,80e9000) at trap_pfault+0xaa
trap(27,27,2f44b,8067994,8067978) at trap+0x1aa
calltrap() at calltrap+0x1c
--- trap 0xc, eip = 0x8049605, esp = 0xbfbfdb48, ebp = 0x8067978 ---

The same binaries run without panics on the same FreeBSD installation
running on a Pentium III on a Gigabyte GA-BX2000 motherboard and on
Red Hat Linux 6.1 on the same Athlon/GA-7IX system.

The dmesg output is as follows:

Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 3.3-RELEASE #0: Tue Nov 16 16:33:53 GMT 1999
    st@cheetah.epcc.ed.ac.uk:/usr/src/sys/compile/CHEETAH_DDB
Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K7(tm) Processor (499.03-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x612  Stepping = 2
  Features=0x81f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT
,MMX>
  AMD Features=0xc0400000<<b22>,<b30>,3DNow!>
real memory  = 134217728 (131072K bytes)
avail memory = 127643648 (124652K bytes)
Preloaded elf kernel "kernel.DDB" at 0xc02ca000.
Probing for devices on PCI bus 0:
chip0: <Host to PCI bridge (vendor=1022 device=7006)> rev 0x23 on pci0.0.0
chip1: <PCI to PCI bridge (vendor=1022 device=7007)> rev 0x01 on pci0.1.0
chip2: <PCI to ISA bridge (vendor=1022 device=7408)> rev 0x01 on pci0.7.0
chip3: <PCI to 0x80 bridge (vendor=1022 device=740b)> rev 0x03 on pci0.7.3
ahc0: <Adaptec 2940 Pro Ultra SCSI adapter> rev 0x01 int a irq 11 on pci0.8.0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
xl0: <3Com 3c905B-TX Fast Etherlink XL> rev 0x30 int a irq 15 on pci0.10.0
xl0: Ethernet address: 00:50:da:3c:17:0d
xl0: autoneg complete, link status good (half-duplex, 10Mbps)
Probing for devices on PCI bus 1:
Probing for PnP devices:
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color <16 virtual consoles, flags=0x0>
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 irq 12 on isa
psm0: model Generic PS/2 mouse, device ID 0
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
ppc0 at 0x378 irq 7 flags 0x40 on isa
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
apm0 flags 0x31 on isa
apm: found APM BIOS version 1.2
Waiting 2 seconds for SCSI devices to settle
changing root device to da0s3a
da0 at ahc0 bus 0 target 0 lun 0
da0: <IBM DNES-309170W SA30> Fixed Direct Access SCSI-3 device 
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da0: 8748MB (17916240 512 byte sectors: 255H 63S/T 1115C)

The kernel config is as follows:

# based on...
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.143.2.22 1999/09/14 22:53:30 jkh Exp $

machine         "i386"
cpu             "I686_CPU"
ident           CHEETAH_DDB
maxusers        32

options         DDB

options         INET                    #InterNETworking
options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep this!]
options         MFS                     #Memory Filesystem
options         MFS_ROOT                #MFS usable as root device, "MFS" req'ed
options         NFS                     #Network Filesystem
options         NFS_ROOT                #NFS usable as root device, "NFS" req'ed
options         MSDOSFS                 #MSDOS Filesystem
options         "CD9660"                #ISO 9660 Filesystem
options         "CD9660_ROOT"           #CD-ROM usable as root. "CD9660" req'ed
options         PROCFS                  #Process filesystem
options         "EXT2FS"
options         "COMPAT_43"             #Compatible with BSD 4.3 [KEEP THIS!]
#options        SCSI_DELAY=15000        #Be pessimistic about Joe SCSI device
options         UCONSOLE                #Allow users to grab the console
options         FAILSAFE                #Be conservative
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor
options         KTRACE                  #ktrace(1) syscall trace support
options         SYSVSHM                 #SYSV-style shared memory
options         SYSVMSG                 #SYSV-style message queues
options         SYSVSEM                 #SYSV-style semaphores

config          kernel  root on wd0

# To make an SMP kernel, the next two are needed
#options        SMP                     # Symmetric MultiProcessor Kernel
#options        APIC_IO                 # Symmetric (APIC) I/O
# Optionally these may need tweaked, (defaults shown):
#options        NCPU=2                  # number of CPUs
#options        NBUS=4                  # number of busses
#options        NAPIC=1                 # number of IO APICs
#options        NINTR=24                # number of INTs

controller      isa0
controller      pnp0                    # PnP support for ISA
controller      pci0

# Floppy drives
controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2
disk            fd0     at fdc0 drive 0

# SCSI Controllers
# A single entry for any of these controllers (ncr, ahb, ahc) is
# sufficient for any number of installed devices.
controller      ahc0            # AHA2940 and onboard AIC7xxx devices

# SCSI peripherals
# Only one of each of these is needed, they are dynamically allocated.
controller      scbus0          # SCSI bus (required)
device          da0             # Direct Access (disks)
device          sa0             # Sequential Access (tape etc)
device          cd0             # CD
device          pass0           # Passthrough device (direct SCSI)

# atkbdc0 controls both the keyboard and the PS/2 mouse
controller      atkbdc0 at isa? port IO_KBD tty
device          atkbd0  at isa? tty irq 1
device          psm0    at isa? tty irq 12

device          vga0    at isa? port ? conflicts

pseudo-device   splash

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? tty

# Floating point support - do not disable.
device          npx0    at isa? port IO_NPX irq 13

# Power management support (see LINT for more options)
#device         apm0    at isa? disable flags 0x31 # Advanced Power Management
device          apm0    at isa?         flags 0x31 # Advanced Power Management

# Serial (COM) ports
device          sio0    at isa? port "IO_COM1" flags 0x10 tty irq 4
device          sio1    at isa? port "IO_COM2" tty irq 3

# Parallel port
device          ppc0    at isa? port? flags 0x40 net irq 7
controller      ppbus0                  # Parallel port bus (required)
device          lpt0    at ppbus?       # Printer
device          ppi0    at ppbus?       # Parallel port interface device
#controller     vpo0    at ppbus?       # Requires scbus and da0

# PCI Ethernet NICs.
device          xl0             # 3Com 3c90x (``Boomerang'', ``Cyclone'')

pseudo-device   loop            # Network loopback
pseudo-device   ether           # Ethernet support
pseudo-device   sl      1       # Kernel SLIP
pseudo-device   ppp     1       # Kernel PPP
pseudo-device   tun     1       # Packet tunnel
pseudo-device   pty     16      # Pseudo-ttys (telnet etc)
pseudo-device   gzip            # Exec gzipped a.out's

# The `bpfilter' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# The number of devices determines the maximum number of
# simultaneous BPF clients programs runnable.
pseudo-device   bpfilter 1      #Berkeley packet filter

>How-To-Repeat:

Benchmark binaries available on request.

>Fix:
	


>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?199911241634.QAA02458>