Date: Sat, 18 Sep 1999 20:59:21 +0100 (BST) From: Adrian Wontroba <aw1@stade.co.uk> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/13810: 3.3 panic rlist_free: free start overlaps already freed area Message-ID: <199909181959.UAA07953@titus.stade.co.uk>
index | next in thread | raw e-mail
>Number: 13810
>Category: kern
>Synopsis: 3.3 panic rlist_free: free start overlaps already freed area
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Sep 18 16:20:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator: Adrian Wontroba
>Release: FreeBSD 3.3-STABLE i386
>Organization:
Yes, some would be nice!
>Environment:
3.3-STABLE, cvsupped at 14:12 BST on 18 September
FreeBSD titus.stade.co.uk
3.3-STABLE FreeBSD 3.3-STABLE #0: Sat Sep 18 17:34:12 BST 1999
toor@titus.stade.co.uk:/d3p2/FreeBSD/stable/src/sys/compile/TITUS i386
>Description:
From time to time over the last month or so this system has paniced with
rlist_free. Till recently this was an occasional happening. Recently, the
panics have become more frequent, prompting me to:
Ensure I had a debugging kernel.
Capture the crash dump.
Amend what I suspect is one of the triggers for the problem - a long pipeline
containing several image processing programs, which grow very large.
kernel configuration, dmesg, and gdb output:
==> config <==
# $Header: /p1/home/aw1/kernel-config/TITUS,v 1.25 1999/08/29 12:39:22 aw1 Exp aw1 $
# kernel configuration for titus
#
# based on
# Id: GENERIC,v 1.143.2.14 1999/05/17 05:49:45 obrien Exp $
machine "i386"
cpu "I686_CPU"
ident TITUS
maxusers 32
options MATH_EMULATE #Support for x87 emulation
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 "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=8000 #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 SOFTUPDATES
options INCLUDE_CONFIG_FILE # Include this file in kernel
options "NO_F00F_HACK"
options "MD5"
options "VM86"
options VESA # needs VM86 defined too!!
options SCSI_REPORT_GEOMETRY
config kernel root on da0
controller isa0
controller pnp0
controller eisa0
controller pci0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2
disk fd0 at fdc0 drive 0
controller ahc0
options AHC_ALLOW_MEMIO
controller scbus0 at ahc0
disk da0 at scbus0 target 0 unit 0
disk da1 at scbus0 target 1 unit 0
tape sa0 at scbus0 target 2 unit 0
disk da2 at scbus0 target 3 unit 0
device cd0 at scbus0 target 4 unit 0
# target 5 - spare
disk da3 at scbus0 target 6 unit 0
# target 7 - controller
device pass0
# atkbdc0 controlls 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
# splash screen/screen saver
pseudo-device splash
# syscons is the default console driver, resembling an SCO console
device sc0 at isa? tty
device npx0 at isa? port IO_NPX irq 13
#
# Laptop support (see LINT for more options)
#
device apm0 at isa? flags 0x31 # Advanced Power Management
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
device lpt0 at ppbus?
device plip0 at ppbus?
device ppi0 at ppbus?
#controller vpo0 at ppbus?
device ep0 at isa? port 0x340 net irq 10
pseudo-device loop
pseudo-device ether
pseudo-device sl 1
pseudo-device ppp 1
pseudo-device tun 1
pseudo-device pty 32
pseudo-device gzip # Exec gzipped a.out's
pseudo-device vn #Vnode driver (turns a file into a device)
pseudo-device snp 3 #Snoop device - to look at pty/vty/etc..
options KTRACE #kernel tracing
options SYSVSHM
options SYSVMSG
options SYSVSEM
pseudo-device bpfilter 4 #Berkeley packet filter
# Luigi's snd code (use INSTEAD of snd0 and all VOXWARE drivers!).
device pcm0 at isa? port ? irq 7 drq 1
# SMB bus
# System Management Bus support provided by the 'smbus' device.
controller smbus0
device smb0 at smbus?
# I2C Bus
controller iicbus0
controller iicbb0
device ic0 at iicbus?
device iic0 at iicbus?
device iicsmb0 at iicbus?
# bt848 device (needs pci / smb / i2c)
device bktr0
==> dmesg <==
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-STABLE #0: Sat Sep 18 17:34:12 BST 1999
toor@titus.stade.co.uk:/d3p2/FreeBSD/stable/src/sys/compile/TITUS
Timecounter "i8254" frequency 1193182 Hz
CPU: Pentium Pro (199.43-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x619 Stepping = 9
Features=0xf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV>
real memory = 134217728 (131072K bytes)
config> pnp 1 0 os enable irq0 5 drq0 0 drq1 1 port0 0x220 port1 0x300 port2 0x388
config> pnp 1 1 os enable port0 0x201
config> quit
avail memory = 127205376 (124224K bytes)
Preloaded elf kernel "kernel" at 0xc0331000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc033109c.
Preloaded elf module "splash_bmp.ko" at 0xc03310ec.
Preloaded splash_image_data "/boot/images/daemon_640.bmp" at 0xc0331190.
Pentium Pro MTRR support enabled
Probing for devices on PCI bus 0:
chip0: <Intel 82440FX (Natoma) PCI and memory controller> rev 0x02 on pci0.0.0
chip1: <Intel 82371SB PCI to ISA bridge> rev 0x01 on pci0.7.0
vga0: <Matrox MGA 2064W graphics accelerator> rev 0x01 int a irq 11 on pci0.11.0
bktr0: <BrookTree 848A> rev 0x12 int a irq 15 on pci0.15.0
bti2c0: <bt848 Hard/Soft I2C controller>
iicbb0: <I2C generic bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicsmb0: <I2C to SMB bridge> on iicbus0
smbus0: <System Management Bus> on iicsmb0
smb0: <SMBus general purpose I/O> on smbus0
iic0: <I2C general purpose I/O> on iicbus0
smbus1: <System Management Bus> on bti2c0
smb1: <SMBus general purpose I/O> on smbus1
bktr0: Hauppauge Model 60134 CV
Hauppauge WinCast/TV, Philips FR1216 PAL tuner, msp3400c stereo.
bktr0: Detected a MSP3410D-B4
ahc0: <Adaptec 2940A Ultra SCSI adapter> rev 0x01 int a irq 15 on pci0.17.0
ahc0: aic7860 Single Channel A, SCSI Id=7, 3/255 SCBs
Probing for PnP devices:
CSN 1 Vendor ID: CTL00f0 [0xf0008c0e] Serial 0xffffffff Comp ID: PNPb02f [0x2fb0d041]
pcm1 (SB16pnp <Vibra16X> sn 0xffffffff) at 0x220-0x22f irq 5 drq 0 flags 0x11 on isa
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 (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
plip0: <PLIP network interface> on ppbus 0
1 3C5x9 board(s) on ISA found at 0x340
ep0 at 0x340-0x34f irq 10 on isa
ep0: aui/utp/bnc[*UTP*] address 00:60:97:94:d0:e7
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
pcm0 not found
Waiting 8 seconds for SCSI devices to settle
sa0 at ahc0 bus 0 target 2 lun 0
sa0: <HP C1533A 9406> Removable Sequential Access SCSI-2 device
sa0: 10.000MB/s transfers (10.000MHz, offset 8)
da1 at ahc0 bus 0 target 1 lun 0
da1: <FUJITSU M2694ES-512 8134> Fixed Direct Access SCSI-CCS device
da1: 3.300MB/s transfers
da1: 1033MB (2117025 512 byte sectors: 255H 63S/T 131C)
da0 at ahc0 bus 0 target 0 lun 0
da0: <FUJITSU M2954S-512 0147> Fixed Direct Access SCSI-2 device
da0: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
da0: 4149MB (8498506 512 byte sectors: 255H 63S/T 529C)
da2 at ahc0 bus 0 target 3 lun 0
da2: <SEAGATE ST118273N 6244> Fixed Direct Access SCSI-2 device
da2: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
da2: 17366MB (35566480 512 byte sectors: 255H 63S/T 2213C)
changing root device to da0s2a
da3 at ahc0 bus 0 target 6 lun 0
da3: <QUANTUM FIREBALL SE8.4S PJ09> Fixed Direct Access SCSI-2 device
da3: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
da3: 8191MB (16777215 512 byte sectors: 255H 63S/T 1044C)
cd0 at ahc0 bus 0 target 4 lun 0
cd0: <PLEXTOR CD-ROM PX-32CS 1.00> Removable CD-ROM SCSI-2 device
cd0: 10.000MB/s transfers (10.000MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Medium not present
WARNING: / was not properly dismounted
==> gdb <==
aw1@titus sys/compile/TITUS$ gdb -k kernel.debug /var/crash/vmcore.8
GNU gdb 4.18
Copyright 1998 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-unknown-freebsd"...
IdlePTD 3420160
initial pcb at 27962c
panicstr: rlist_free: free start overlaps already freed area
panic messages:
---
panic: rlist_free: free start overlaps already freed area
syncing disks... 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 giving up
dumping to dev 30401, offset 131072
dump 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
---
#0 boot (howto=256) at ../../kern/kern_shutdown.c:285
285 dumppcb.pcb_cr3 = rcr3();
(kgdb) where
#0 boot (howto=256) at ../../kern/kern_shutdown.c:285
#1 0xc014f670 in at_shutdown (
function=0xc0247de4 <__set_sysinit_set_sym_logdev_sys_init+124>, arg=0x7,
queue=0) at ../../kern/kern_shutdown.c:446
#2 0xc01590a2 in rlist_free (rlh=0xc0295524, start=0, end=7)
at ../../kern/subr_rlist.c:159
#3 0xc01f3b6b in swap_pager_freeswapspace (object=0xc6490000, from=0, to=7)
at ../../vm/swap_pager.c:422
#4 0xc01f3c4c in swap_pager_freespace (object=0xc6490000, start=33,
size=101149) at ../../vm/swap_pager.c:445
#5 0xc01f90ad in vm_map_delete (map=0xc6391500, start=134807552,
end=549113856) at ../../vm/vm_map.c:1833
#6 0xc01f9150 in vm_map_remove (map=0xc6391500, start=134807552,
end=549113856) at ../../vm/vm_map.c:1874
#7 0xc02007e7 in obreak (p=0xc639f600, uap=0xc643ef84)
at ../../vm/vm_unix.c:107
#8 0xc021f1ef in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 134807552,
tf_esi = 134549824, tf_ebp = -1077946604, tf_isp = -968626220,
tf_ebx = 671987336, tf_edx = 671987316, tf_ecx = 671987312, tf_eax = 17,
tf_trapno = 7, tf_err = 2, tf_eip = 671951256, tf_cs = 31,
tf_eflags = 647, tf_esp = -1077946640, tf_ss = 39})
at ../../i386/i386/trap.c:1100
#9 0xc021225c in Xint0x80_syscall ()
#10 0x280d2402 in ?? ()
#11 0x804c1d0 in ?? ()
#12 0x804b09f in ?? ()
#13 0x804a6d9 in ?? ()
#14 0x8049115 in ?? ()
(kgdb) quit
>How-To-Repeat:
I have been unable to reproduce the problem on demand. Possibly relevant
components of the problem are:
These pipelines:
tifftopnm PYEA87.TIF |
ppmquant -floyd 2 |
pnmflip -r90 |
pnmscale -xsize 1181 |
ppmtogif -interlace > out
tifftopnm PYEA97.TIF |
ppmquant -floyd 2 |
pnmscale -xsize 750 |
ppmtogif -interlace > out
(now amended to run singly with intermediate files)
sendmail / procmail - the pipelines are run as part of a
make, run by cron. Quite often after the crash my mailbox is
corrupted, with a message terminating with a number of nulls,
followed by the cron message.
A heavy system load - inn processing "suck"ed news, sendmail,
often cvsup or cvs.
If changing the pipeline makes the problem go away, I'll still be able to reinstate
it if needed for diagnostic patches, etc.
>Fix:
Wish I knew.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909181959.UAA07953>
