[2.2.13-pre17] null pointer exception in kmem_cache_free

Peter Hanecak (hanecak@megaloman.com)
Wed, 13 Oct 1999 16:41:42 +0200 (CEST)


bug-report in "/usr/src/linux/REPORTING-BUGS" format

[1.]

i got an kernel oops in kmem_cache_free

[2.]

during almost normal operation (normal: editing some scripts and browsing,
aditinonal: 'nice rpm -bb glibc.spec') in X my machine freezed.

machine has been up for 7 hours. almost all that time mentioned
'nice rpm -bb glibc.spec' or 'nice rpm -bb egcs.spec' (compilation of newer
egcs and glibc) has been running in adition to X windows, some daemons,
netscape and few Eterms.

[3.]

kernel, null pointer, kmem_cache_free

[4.]

Linux version 2.2.13pre17 (root@m1.megaloman.sk) (gcc version egcs-2.91.66 \
19990314/Linux (egcs-1.1.2 release)) #2 Wed Oct 13 00:31:49 EDT 1999

[5.]

Oct 13 16:06:35 m1 kernel: kmem_free: Bad obj addr (objp=c52c4c20, name=buffer_head)
Oct 13 16:06:35 m1 kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oct 13 16:06:35 m1 kernel: current->tss.cr3 = 00101000, %cr3 = 00101000
Oct 13 16:06:35 m1 kernel: *pde = 00000000
Oct 13 16:06:35 m1 kernel: Oops: 0002
Oct 13 16:06:35 m1 kernel: CPU: 0
Oct 13 16:06:35 m1 kernel: EIP: 0010:[kmem_cache_free+333/372]
Oct 13 16:06:35 m1 kernel: EFLAGS: 00010282
Oct 13 16:06:35 m1 kernel: eax: 0000003d ebx: c52c4c20 ecx: ffffffff edx: 0000003c
Oct 13 16:06:35 m1 kernel: esi: c7fff740 edi: 00000282 ebp: a5432f2b esp: c7fe3f70
Oct 13 16:06:35 m1 kernel: ds: 0018 es: 0018 ss: 0018
Oct 13 16:06:35 m1 kernel: Process kswapd (pid: 5, process nr: 5, stackpage=c7fe3000)
Oct 13 16:06:35 m1 kernel: Stack: c52c4c20 c03155c8 c52c4c7c c7fff1a0 c0125261 c7fff740 c52c4c20 c52c4c20
Oct 13 16:06:35 m1 kernel: c52c4c20 c0125b7b c52c4c20 c52c4c20 c03155c8 000001fc 00000030 c7fe2000
Oct 13 16:06:35 m1 kernel: c011b0d6 c03155c8 00000015 00000006 c011fdf2 00000006 00000030 00000000
Oct 13 16:06:36 m1 kernel: Call Trace: [put_unused_buffer_head+33/76] [try_to_free_buffers+75/132] [shrink_mmap+214/300] [do_try_to_free_pages+38/120] [tvecs+6958/12928] [kswapd+83/196] [get_options+0/116]
Oct 13 16:06:36 m1 kernel: [kernel_thread+35/48]
Oct 13 16:06:36 m1 kernel: Code: c7 05 00 00 00 00 00 00 00 00 eb 12 8d 76 00 56 53 68 fe 7f
Oct 13 16:06:36 m1 kernel: kmem_free: Bad obj addr (objp=c52c4140, name=buffer_head)
Oct 13 16:08:34 m1 kernel: Kernel panic: VFS: LRU block list corrupted
Oct 13 16:08:34 m1 kernel: kmem_free: Bad obj addr (objp=c52c4da0, name=buffer_head)
Oct 13 16:08:34 m1 kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oct 13 16:08:34 m1 kernel: current->tss.cr3 = 05c7b000, %cr3 = 05c7b000
Oct 13 16:08:34 m1 kernel: *pde = 00000000
[ hard freeze]

ksymoops 0.7c on i586 2.2.13pre17. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.2.13pre17/ (default)
-m /boot/System.map-2.2.13-pre17 (specified)

No modules in ksyms, skipping objects
Warning (read_lsmod): no symbols in lsmod, is /proc/modules a valid lsmod file?
Oct 13 16:06:35 m1 kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oct 13 16:06:35 m1 kernel: current->tss.cr3 = 00101000, %cr3 = 00101000
Oct 13 16:06:35 m1 kernel: *pde = 00000000
Oct 13 16:06:35 m1 kernel: Oops: 0002
Oct 13 16:06:35 m1 kernel: CPU: 0
Oct 13 16:06:35 m1 kernel: EIP: 0010:[kmem_cache_free+333/372]
Oct 13 16:06:35 m1 kernel: EFLAGS: 00010282
Oct 13 16:06:35 m1 kernel: eax: 0000003d ebx: c52c4c20 ecx: ffffffff edx: 0000003c
Oct 13 16:06:35 m1 kernel: esi: c7fff740 edi: 00000282 ebp: a5432f2b esp: c7fe3f70
Oct 13 16:06:35 m1 kernel: ds: 0018 es: 0018 ss: 0018
Oct 13 16:06:35 m1 kernel: Process kswapd (pid: 5, process nr: 5, stackpage=c7fe3000)
Oct 13 16:06:35 m1 kernel: Stack: c52c4c20 c03155c8 c52c4c7c c7fff1a0 c0125261 c7fff740 c52c4c20 c52c4c20
Oct 13 16:06:35 m1 kernel: c52c4c20 c0125b7b c52c4c20 c52c4c20 c03155c8 000001fc 00000030 c7fe2000
Oct 13 16:06:35 m1 kernel: c011b0d6 c03155c8 00000015 00000006 c011fdf2 00000006 00000030 00000000
Oct 13 16:06:36 m1 kernel: Call Trace: [put_unused_buffer_head+33/76] [try_to_free_buffers+75/132] [shrink_mmap+214/300] [do_try_to_free_pages+38/120] [tvecs+6958/12928] [kswapd+83/196] [get_options+0/116]
Oct 13 16:06:36 m1 kernel: Code: c7 05 00 00 00 00 00 00 00 00 eb 12 8d 76 00 56 53 68 fe 7f
Using defaults from ksymoops -t elf32-i386 -a i386

Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: c7 05 00 00 00 00 00 movl $0x0,0x0
Code; 00000007 Before first symbol
7: 00 00 00
Code; 0000000a Before first symbol
a: eb 12 jmp 1e <_EIP+0x1e> 0000001e Before first symbol
Code; 0000000c Before first symbol
c: 8d 76 00 leal 0x0(%esi),%esi
Code; 0000000f Before first symbol
f: 56 pushl %esi
Code; 00000010 Before first symbol
10: 53 pushl %ebx
Code; 00000011 Before first symbol
11: 68 fe 7f 00 00 pushl $0x7ffe

Oct 13 16:08:34 m1 kernel: Kernel panic: VFS: LRU block list corrupted
Oct 13 16:08:34 m1 kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oct 13 16:08:34 m1 kernel: current->tss.cr3 = 05c7b000, %cr3 = 05c7b000
Oct 13 16:08:34 m1 kernel: *pde = 00000000

1 warning issued. Results may not be reliable.

[6.]

do not know how to trigger that. but maybe long load (around 1.0)
on the machine plays some role in that.

[7.]

[7.1.]

-- Versions installed: (if some fields are empty or looks
-- unusual then possibly you have very old versions)
Linux m1.megaloman.sk 2.2.13pre17 #2 Wed Oct 13 00:31:49 EDT 1999 i586
unknown
Kernel modules 2.1.121
Gnu C egcs-2.91.66
Binutils 2.9.1.0.23
Linux C Library 2.1.2
Dynamic linker ldd (GNU libc) 2.1.2
Procps 2.0.2
Mount 2.9s
Net-tools 1.53
Console-tools 1999.03.02
Sh-utils 1.16
Modules Loaded

[7.2.]

processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 4
model name : Pentium MMX
stepping : 3
cpu MHz : 200.458734
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : yes
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 mmx
bogomips : 399.77

[7.3.]

no modules

[7.4.]

Attached devices:
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: SEAGATE Model: ST51080N Rev: 0913
Type: Direct-Access ANSI SCSI revision: 02

[7.5]

in ksymoops output there is 'movl $0x0,0x0' as point where the oops
occurs.

as similar issue was discussed slightly about few days ago in this list this
instrucction can be there just to produce oops (if i remember correctly).
is it?

hany

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