Random seg faults and crashes, Kernel 2.2.11

Oliver Kurth (okurth@uni-sw.gwdg.de)
Mon, 23 Aug 1999 00:18:48 +0200


[1.] One line summary of the problem:

Random seg faults and crashes, Kernel 2.2.11

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

Errors occur randomly and cannot be reliably reproduced. I get
- Segmentation faults when running ordinary commands (eg. make, cat, ls
...).
Repeating the commands helps most times.

- X logs me out when switching one one screen to another, after that the
console seems to be in wrong video mode (no text, I see the xdm login
screen
in strange colors). But most times I can safely shut down with
Ctrl-Alt-Del.

- Sometimes but not always I get oopses, one traced one is included
here.

Most times I develop software with egcs, so I run xemacs and make very
often.
I got the same errors with 2.2.10 and 2.2.6
X version is 3.3.3.1

[3.] Keywords (i.e., modules, networking, kernel):

GA586S2, AMD K6

[4.] Kernel version (from /proc/version):

Linux version 2.2.11 (root@red) (gcc version egcs-2.91.66 19990314
(egcs-1.1.2 release)) #5 Sun Aug 15 22:00:32 CEST 1999

[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)

WARNING: This version of ksymoops is obsolete.
WARNING: The current version can be obtained from
ftp://ftp.ocs.com.au/pub/ksymoops
Options used: -v /boot/bzImage.2.2.11 (specified)
-o /lib/modules/2.2.11/ (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-m /usr/src/linux/System.map (default)
-c 1 (default)

iput: Aieee, semaphore in use inode 03:03/10162, count=3
Unable to handle kernel paging request at virtual address 60d71adc
current->tss.cr3 = 00f34000, %cr3 = 00f34000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c012d4e4>]
EFLAGS: 00010246
eax: 60d71ad8 ebx: c0fde1a0 ecx: c0fdef80 edx: c1c01f59
esi: c0fde180 edi: 00000000 ebp: 0000011c esp: c081beb8
ds: 0018 es: 0018 ss: 0018
Process find (pid: 362, process nr: 58, stackpage=c081b000)
Stack: c01d0f3c c01f6e98 c012e3a6 00000403 00000000 00000000 00000000
c012e3de
00000403 00000000 c01f6e98 c01d0f3c c01f6e98 c01f6e90 c012e719
c0bb9980
c012e725 00000000 c01f6e98 00024b95 c1fba200 c012e86c c1fba200
00024b95
Call Trace: [<c012e3a6>] [<c012e3de>] [<c012e719>] [<c012e725>]
[<c012e86c>] [<c0139598>] [<c0128e89>]
[<c0129064>] [<c012914c>] [<c01272ba>] [<c01079b4>]
Code: 89 50 04 89 02 8b 43 08 8b 53 0c 89 50 04 89 02 8b 7b e8 85

>>EIP: c012d4e4 <prune_dcache+44/f8>
Trace: c012e3a6 <try_to_free_inodes+22/34>
Trace: c012e3de <grow_inodes+1e/174>
Trace: c012e719 <get_new_inode+ad/118>
Trace: c012e725 <get_new_inode+b9/118>
Trace: c012e86c <iget+58/60>
Trace: c0139598 <ext2_lookup+54/7c>
Trace: c0128e89 <real_lookup+55/84>
Trace: c0129064 <lookup_dentry+128/1e8>
Code: c012d4e4 <prune_dcache+44/f8> 00000000 <_EIP>: <===
Code: c012d4e4 <prune_dcache+44/f8> 0: 89 50 04
movl %edx,0x4(%eax) <===
Code: c012d4e7 <prune_dcache+47/f8> 3: 89 02
movl %eax,(%edx)
Code: c012d4e9 <prune_dcache+49/f8> 5: 8b 43 08
movl 0x8(%ebx),%eax
Code: c012d4ec <prune_dcache+4c/f8> 8: 8b 53 0c
movl 0xc(%ebx),%edx
Code: c012d4ef <prune_dcache+4f/f8> b: 89 50 04
movl %edx,0x4(%eax)
Code: c012d4f2 <prune_dcache+52/f8> e: 89 02
movl %eax,(%edx)
Code: c012d4f4 <prune_dcache+54/f8> 10: 8b 7b e8
movl 0xffffffe8(%ebx),%edi
Code: c012d4f7 <prune_dcache+57/f8> 13: 85 00
testl %eax,(%eax)

Unable to handle kernel NULL pointer dereference at virtual address
00000000
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c011e135>]
EFLAGS: 00013282
eax: 0000003d ebx: c0ff1a80 ecx: ffffffff edx: 0000003c
esi: c1fff740 edi: 00003282 ebp: 00002aa5 esp: c1fe3f70
ds: 0018 es: 0018 ss: 0018
Process kswapd (pid: 5, process nr: 5, stackpage=c1fe3000)
Stack: c0ff1a80 c0221b70 c0ff1adc c1fff140 c0124135 c1fff740 c0ff1a80
c0ff1a80
c0ff1a80 c0124a4f c0ff1a80 c0ff1a80 c0221b70 0000007f 00000030
c1fe2000
c011a0ae c0221b70 0000000e 00000006 c011ed46 00000006 00000030
00000000
Call Trace: [<c0124135>] [<c0124a4f>] [<c011a0ae>] [<c011ed46>]
[<c01ab82e>] [<c011edeb>] [<c0106000>]
[<c0106523>]
Code: c7 05 00 00 00 00 00 00 00 00 eb 12 8d 76 00 56 53 68 3e b6

>>EIP: c011e135 <kmem_cache_free+14d/174>
Trace: c0124135 <put_unused_buffer_head+21/4c>
Trace: c0124a4f <try_to_free_buffers+4b/84>
Trace: c011a0ae <shrink_mmap+d6/12c>
Trace: c011ed46 <do_try_to_free_pages+26/78>
Trace: c01ab82e <tvecs+1aee/3240>
Trace: c011edeb <kswapd+53/c4>
Trace: c0106000 <get_options+0/74>
Trace: c0106523 <kernel_thread+23/30>
Code: c011e135 <kmem_cache_free+14d/174> 00000000 <_EIP>: <===
Code: c011e135 <kmem_cache_free+14d/174> 0: c7 05 00 00 00 00
movl $0x0,0x0 <===
Code: c011e13b <kmem_cache_free+153/174> 6: 00 00 00 00
Code: c011e13f <kmem_cache_free+157/174> a: eb 12
jmp c011e153 <kmem_cache_free+16b/174>
Code: c011e141 <kmem_cache_free+159/174> c: 8d 76 00
leal 0x0(%esi),%esi
Code: c011e144 <kmem_cache_free+15c/174> f: 56
pushl %esi
Code: c011e145 <kmem_cache_free+15d/174> 10: 53
pushl %ebx
Code: c011e146 <kmem_cache_free+15e/174> 11: 68 3e b6 00 00
pushl $0xb63e

Unable to handle kernel paging request at virtual address 60d71ad8
current->tss.cr3 = 01d8f000, %cr3 = 01d8f000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c012d9f8>]
EFLAGS: 00010a87
eax: 00000ea0 ebx: 60d71ac0 ecx: 8295185e edx: 0000043c
esi: 00000000 edi: c002a01d ebp: 60d71ad8 esp: c1ccff40
ds: 0018 es: 0018 ss: 0018
Process mandb (pid: 376, process nr: 56, stackpage=c1ccf000)
Stack: c002a01d 00000000 c01f5960 c002a00e 8295185e 0000000f c0128df0
c138c240
c1ccff88 c1ccff88 c012904f c138c240 c1ccff88 00000000 c002a000
c002a000
0000001a bffffbc0 c002a00e 0000000f 8295185e c012914c c002a000
c138c240
Call Trace: [<c0128df0>] [<c012904f>] [<c012914c>] [<c01272ba>]
[<c01079b4>]
Code: 8b 6d 00 8b 4c 24 18 39 4b 48 75 54 8b 4c 24 24 39 4b 0c 75

>>EIP: c012d9f8 <d_lookup+5c/d0>
Trace: c0128df0 <cached_lookup+10/54>
Trace: c012904f <lookup_dentry+113/1e8>
Trace: c012914c <__namei+28/58>
Trace: c01272ba <sys_newlstat+e/60>
Trace: c01079b4 <system_call+34/40>
Code: c012d9f8 <d_lookup+5c/d0> 00000000 <_EIP>: <===
Code: c012d9f8 <d_lookup+5c/d0> 0: 8b 6d 00
movl 0x0(%ebp),%ebp <===
Code: c012d9fb <d_lookup+5f/d0> 3: 8b 4c 24 18
movl 0x18(%esp,1),%ecx
Code: c012d9ff <d_lookup+63/d0> 7: 39 4b 48
cmpl %ecx,0x48(%ebx)
Code: c012da02 <d_lookup+66/d0> a: 75 54
jne c012da58 <d_lookup+bc/d0>
Code: c012da04 <d_lookup+68/d0> c: 8b 4c 24 24
movl 0x24(%esp,1),%ecx
Code: c012da08 <d_lookup+6c/d0> 10: 39 4b 0c
cmpl %ecx,0xc(%ebx)
Code: c012da0b <d_lookup+6f/d0> 13: 75 00
jne c012da0d <d_lookup+71/d0>

Unable to handle kernel paging request at virtual address 60d71ad8
current->tss.cr3 = 01ad3000, %cr3 = 01ad3000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c012d9f8>]
EFLAGS: 00010a87
eax: 00000ea0 ebx: 60d71ac0 ecx: bc22eb44 edx: 000007e1
esi: 00000000 edi: c1ac300d ebp: 60d71ad8 esp: c1e63f40
ds: 0018 es: 0018 ss: 0018
Process tetex (pid: 383, process nr: 54, stackpage=c1e63000)
Stack: c1ac300d 00000001 c01f5960 c1ac3005 bc22eb44 00000008 c0128df0
c1fb5a60
c1e63f88 c1e63f88 c012904f c1fb5a60 c1e63f88 00000001 c1ac3000
c1ac3000
080d27ec bffffb48 c1ac3005 00000008 bc22eb44 c012914c c1ac3000
c1fb5a60
Call Trace: [<c0128df0>] [<c012904f>] [<c012914c>] [<c01271fa>]
[<c01079b4>]
Code: 8b 6d 00 8b 4c 24 18 39 4b 48 75 54 8b 4c 24 24 39 4b 0c 75

>>EIP: c012d9f8 <d_lookup+5c/d0>
Trace: c0128df0 <cached_lookup+10/54>
Trace: c012904f <lookup_dentry+113/1e8>
Trace: c012914c <__namei+28/58>
Trace: c01271fa <sys_newstat+e/60>
Trace: c01079b4 <system_call+34/40>
Code: c012d9f8 <d_lookup+5c/d0> 00000000 <_EIP>: <===
Code: c012d9f8 <d_lookup+5c/d0> 0: 8b 6d 00
movl 0x0(%ebp),%ebp <===
Code: c012d9fb <d_lookup+5f/d0> 3: 8b 4c 24 18
movl 0x18(%esp,1),%ecx
Code: c012d9ff <d_lookup+63/d0> 7: 39 4b 48
cmpl %ecx,0x48(%ebx)
Code: c012da02 <d_lookup+66/d0> a: 75 54
jne c012da58 <d_lookup+bc/d0>
Code: c012da04 <d_lookup+68/d0> c: 8b 4c 24 24
movl 0x24(%esp,1),%ecx
Code: c012da08 <d_lookup+6c/d0> 10: 39 4b 0c
cmpl %ecx,0xc(%ebx)
Code: c012da0b <d_lookup+6f/d0> 13: 75 00
jne c012da0d <d_lookup+71/d0>

7 warnings and 1 error issued. Results may not be reliable.

[6.] A small shell script or example program which triggers the
problem (if possible)
[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)

Linux red 2.2.11 #5 Sun Aug 15 22:00:32 CEST 1999 i586 unknown
Kernel modules 2.2.2-pre6
Gnu C egcs-2.91.66
Binutils 2.9.1.0.22
Linux C Library x 1 root root 2475225 Apr 4 16:36
/lib/libc.so.6
Dynamic linker ldd (GNU libc) 2.0.7
Procps 1.2.11
Mount 2.9i
Net-tools 1.50
Kbd 0.99
Sh-utils 1.12
Modules Loaded dummy0

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

processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 6
model name : AMD-K6tm w/ multimedia extensions
stepping : 2
cpu MHz : 233.866469
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 mmx
bogomips : 466.94

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

#cat /proc/modules
dummy0 684 1 (autoclean)

[7.4.] SCSI information (from /proc/scsi/scsi)

# cat /proc/scsi/scsi
Attached devices: none

[7.5.] Other information that might be relevant to the problem
(please look in /proc and include all information that you
think to be relevant):

Board is a Gigabyte GA 586S2. I had severe problems with it when I
upgraded from a Cyrix 120 to an AMD K6 233 recently. Before that Linux
was stable. The problems got much better when I upgraded the Bios to
the newest version (sorry do not know the version at the moment) and
since
then Windows 98 is stable (more than Linux).

Memory is 32MB SDRAM, swap size 70 MB. I use fvwm2, recently I used
gnome, I think I got the errors at that time more often.

I think the problem occurs mostly when memory is tight, but I am not
sure. Here is /proc/meminfo at the moment, which is a quite usual
condition (fvwm2, xemacs, 5 xterms, rc5des, httpd etc. running)

total: used: free: shared: buffers: cached:
Mem: 31739904 30932992 806912 30978048 679936 11759616
Swap: 73990144 7417856 66572288
MemTotal: 30996 kB
MemFree: 788 kB
MemShared: 30252 kB
Buffers: 664 kB
Cached: 11484 kB
SwapTotal: 72256 kB
SwapFree: 65012 kB

graphic card is a Hercules Terminator Trio64 with 2MB.

[X.] Other notes, patches, fixes, workarounds:

Tell me if you need more informations.

Greetings,
Oliver

-- 
Oliver Kurth                               this mail was sent from home
Universitaetssternwarte Goettingen Geismarlandstr.11 - 37083 Goettingen
mailto:okurth@uni-sw.gwdg.de          http://www.uni-sw.gwdg.de/~okurth
phone: xx49-551-395055         home: -706164               fax: -395043

- 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/