PROBLEM: dcache oops when VFS file-max limit reached in 2.4.0-test1

From: Jason Lunz (j@cc.gatech.edu)
Date: Mon Jul 03 2000 - 13:26:47 EST


I tried to find someone for this in MAINTAINERS, but nothing seemed
appropriate. Please Cc: any replies to me, as I don't follow this list.

thanks for the great work,

Jason

Standardized Bug Report:

[1.] Description: dcache oops when VFS file-max limit reached in 2.4.0-test1

[2.] Full description of the problem/report:

I was making a mailing-list/news gateway, and in testing it, I bounced a
hundred or so messages from one of my mailing list folders through my MTA.
This lead to 100 instances of exim, all of which forked twice, once to run
an exim sub-process and once to run procmail to deliver the messages. Each
procmail then ran the news-submission script, each of which tried to lock
the news spool. So all these processes ended up waiting on each other, and
I soon got:

    Jul 3 11:40:33 abraxas kernel: VFS: file-max limit 4096 reached

in the syslog. After a minute, I tried to open another terminal and got
this:

    Jul 3 11:41:02 abraxas kernel: Negative d_count (-1) for //.IPC_075d8009
    Jul 3 11:41:02 abraxas kernel: kernel BUG at dcache.c:175!

followed by the oops message below.

[3.] Keywords: VFS, dcache, file-max, shm, shared memory, IPC

[4.] Kernel version (from /proc/version):
Linux version 2.4.0-test1 (j@abraxas) (gcc version 2.95.2 20000313 (Debian GNU/Linux)) #1 Wed Jun 14 11:50:33 EDT 2000

[5.] This is what ksymoops gives me for the oops message:

[abraxas][01:53pm](130) $ ksymoops -V < oo
ksymoops 2.3.4 on i586 2.4.0-test1. Options used
     -V (specified)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.0-test1/ (default)
     -m /boot/System.map-2.4.0-test1 (default)

invalid operand: 0000
CPU: 0
EIP: 0010:[dput+349/360]
EFLAGS: 00210286
eax: 0000001c ebx: c7bcbaa0 ecx: 0000004c edx: c020b774
esi: ffffffff edi: ffffffe9 ebp: 00000006 esp: c1efdf40
ds: 0018 es: 0018 ss: 0018
Process gnome-terminal (pid: 8456, stackpage=c1efd000)
Stack: c01db7c4 c01db922 000000af ffffffe9 c7bcbaa0 c0156eeb c7bcbaa0 00000000
       00000000 00000000 bfffefa8 00000002 00000003 00000001 00000000 4350492e
       3537305f 30303864 00000039 c010f61d 075d8009 00000000 00000000 c1efdfb4
Call Trace: [tvecs+29280/70108] [tvecs+29630/70108] [sys_shmat+743/816] [sys_ipc+337/500] [system_call+52/64]
Code: 0f 0b 83 c4 0c 5b 5e c3 8d 76 00 53 8b 5c 24 08 8d 43 18 39
Using defaults from ksymoops -t elf32-i386 -a i386

Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
   0: 0f 0b ud2a
Code; 00000002 Before first symbol
   2: 83 c4 0c add $0xc,%esp
Code; 00000005 Before first symbol
   5: 5b pop %ebx
Code; 00000006 Before first symbol
   6: 5e pop %esi
Code; 00000007 Before first symbol
   7: c3 ret
Code; 00000008 Before first symbol
   8: 8d 76 00 lea 0x0(%esi),%esi
Code; 0000000b Before first symbol
   b: 53 push %ebx
Code; 0000000c Before first symbol
   c: 8b 5c 24 08 mov 0x8(%esp,1),%ebx
Code; 00000010 Before first symbol
  10: 8d 43 18 lea 0x18(%ebx),%eax
Code; 00000013 Before first symbol
  13: 39 00 cmp %eax,(%eax)

[6.] see 2.

[7.] Environment
[7.1.] Software

I had to mess with the linux_ver script to make it work.

Linux abraxas 2.4.0-test1 #1 Wed Jun 14 11:50:33 EDT 2000 i586 unknown
Kernel modules 2.3.11
Gnu C 2.95.2
Binutils 2.9.5.0.37
Linux C Library 2.1.3
Dynamic Linker (ld.so) 1.9.11
C++ libs: libg++-3-libc6.1-2-2.8.1.3.so
                       libg++-libc6.1-2.so.3 -> libg++-3-libc6.1-2-2.8.1.3.so
                       libg++.so.2.7.2 -> libg++.so.2.7.2.8
                       libg++.so.2.7.2.8
Procps 2.0.6
Mount 2.10f
Net-tools (1999-04-20)
Kbd loadkeys: (console-tools) 0.2.3
Sh-utils expr (GNU sh-utils) 2.0

[7.2.] Processor information (from /proc/cpuinfo):

processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 400.911237
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mmx 3dnow
bogomips : 799.54

[7.3.] Module information (from /proc/modules):

nls_iso8859-1 2700 0 (autoclean)
nls_cp437 4212 0 (autoclean)
vfat 10476 0 (autoclean)
fat 33024 0 (autoclean) [vfat]
floppy 45584 0 (autoclean)
ipt_MASQUERADE 1452 1 (autoclean)
iptable_nat 12960 0 [ipt_MASQUERADE]
ppp_deflate 39356 0 (autoclean)
bsd_comp 4324 0 (autoclean)
ppp_async 6476 0 (autoclean)
ppp_generic 13232 0 (autoclean) [ppp_deflate bsd_comp ppp_async]
parport_pc 16948 1 (autoclean)
lp 5468 0 (autoclean)
parport 27968 1 (autoclean) [parport_pc lp]
af_packet 11308 1 (autoclean)
autofs 12340 1 (autoclean)
ipt_LOG 3380 1 (autoclean)
iptable_filter 2088 0 (autoclean) (unused)
3c509 6196 1 (autoclean)
sd_mod 10076 0 (autoclean)
ip_conntrack_ftp 1904 0 (unused)
ipt_state 1000 2
ip_conntrack 12700 3 [ipt_MASQUERADE iptable_nat ip_conntrack_ftp ipt_state]
ip_tables 12052 7 [ipt_MASQUERADE iptable_nat ipt_LOG iptable_filter ipt_state]
eeprom 3732 0
gl518sm 8824 0
sensors 6396 0 [eeprom gl518sm]
i2c-via 2196 0 (unused)
i2c-algo-bit 8008 1 [i2c-via]
i2c-core 13504 0 [eeprom gl518sm sensors i2c-algo-bit]
apm 9916 0 (unused)
opl3 11336 1
wavefront 49456 1
cs4232 3312 1
uart401 6640 1 [cs4232]
ad1848 16984 1 [cs4232]
sound 59756 0 [opl3 wavefront cs4232 uart401 ad1848]
soundcore 3844 7 [wavefront sound]
aic7xxx 128788 0
scsi_mod 87856 2 [sd_mod aic7xxx]
unix 16228 142 (autoclean)

[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
0250-0251 : wavefront midi
0252-0257 : wavefront synth
0258-025f : wavefront fx
0278-027a : parport0
02f8-02ff : serial(set)
0300-030f : 3c509
0388-038b : Yamaha OPL3
03c0-03df : vga+
  03c0-03df : matrox
03f6-03f6 : ide0
03f8-03ff : serial(set)
0530-0533 : Crystal audio controller
0cf8-0cff : PCI conf1
4000-40ff : VIA Technologies, Inc. VT82C586B ACPI
  4040-4045 : via-i2c
d000-dfff : PCI Bus #01
e000-e00f : VIA Technologies, Inc. VT82C586 IDE [Apollo]
  e000-e007 : ide0
e800-e8ff : Adaptec AIC-7881U
  e800-e8be : aic7xxx

00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000c8000-000c87ff : Extension ROM
000f0000-000fffff : System ROM
00100000-07ffffff : System RAM
  00100000-00207667 : Kernel code
  00207668-0021dcdb : Kernel data
e0000000-e3ffffff : VIA Technologies, Inc. VT82C598 [Apollo MVP3]
e4000000-e7ffffff : PCI Bus #01
  e4000000-e4003fff : Matrox Graphics, Inc. MGA G200 AGP
    e4000000-e4003fff : matroxfb MMIO
  e5000000-e57fffff : Matrox Graphics, Inc. MGA G200 AGP
e8000000-e8ffffff : PCI Bus #01
  e8000000-e8ffffff : Matrox Graphics, Inc. MGA G200 AGP
    e8000000-e8ffffff : matroxfb FB
ea000000-ea000fff : Adaptec AIC-7881U
ffff0000-ffffffff : reserved

[7.5.] PCI information ('lspci -vvv' as root)

00:00.0 Host bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3] (rev 04)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR+
        Latency: 0 set
        Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [a0] AGP version 1.0
                Status: RQ=7 SBA+ 64bit- FW- Rate=21
                Command: RQ=0 SBA- AGP- 64bit- FW- Rate=

00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3 AGP] (prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 0 set
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000d000-0000dfff
        Memory behind bridge: e4000000-e7ffffff
        Prefetchable memory behind bridge: e8000000-e8ffffff
        BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 47)
        Subsystem: VIA Technologies, Inc. MVP3 ISA Bridge
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0 set

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 06) (prog-if 8a [Master SecP PriP])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 set
        Region 4: I/O ports at e000 [size=16]

00:07.3 Host bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 10)
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:12.0 SCSI storage controller: Adaptec AIC-7881U
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR+
        Latency: 8 min, 8 max, 64 set, cache line size 08
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at e800 [size=256]
        Region 1: Memory at ea000000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at e9000000 [disabled] [size=64K]

01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 03) (prog-if 00 [VGA])
        Subsystem: Matrox Graphics, Inc. Millennium G200 AGP
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 16 min, 32 max, 64 set, cache line size 08
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at e8000000 (32-bit, prefetchable) [size=16M]
        Region 1: Memory at e4000000 (32-bit, non-prefetchable) [size=16K]
        Region 2: Memory at e5000000 (32-bit, non-prefetchable) [size=8M]
        Expansion ROM at <unassigned> [disabled] [size=64K]
        Capabilities: [dc] Power Management version 1
                Flags: PMEClk- AuxPwr- DSI+ D1- D2- PME-
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [f0] AGP version 1.0
                Status: RQ=31 SBA+ 64bit- FW- Rate=21
                Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=2

[7.6.] SCSI information (from /proc/scsi/scsi)
Attached devices:
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: QUANTUM Model: LPS540S Rev: 590S
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
  Vendor: YAMAHA Model: CRW6416S Rev: 1.0c
  Type: CD-ROM ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 03 Lun: 00
  Vendor: TEAC Model: CD-ROM CD-532S Rev: 3.0A
  Type: CD-ROM ANSI SCSI revision: 02

[7.7.] nothing I can think of.
[X.] Other notes, patches, fixes, workarounds: none.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Jul 07 2000 - 21:00:13 EST