2000-12-16 03:35:33

by lee leahu

[permalink] [raw]
Subject: Kernel panic: VFS: LRU block list corrupted

Hello all,

One of my linux servers crash with a 'kernal panic: VFS: LRU block list
corrupted' message on my screen.
I reboot with a boot disk - it was find, then rebooted of the hard drive
and it was fine. The systems is runing fine
now, but i thought maybe someone on this list could explain to me what
exactly happend there.

My /var/log/messages files displays this:

Dec 14 18:55:48 cache2 kernel: kmem_free: Bad obj addr (objp=cf103ba0,
name=buffer_head)
Dec 14 18:55:48 cache2 kernel: Unable to handle kernel NULL pointer
dereference at virtual address 00000000
Dec 14 18:55:48 cache2 kernel: current->tss.cr3 = 00101000, %%cr3 = 00101000
Dec 14 18:55:48 cache2 kernel: *pde = 00000000
Dec 14 18:55:48 cache2 kernel: Oops: 0002
Dec 14 18:55:48 cache2 kernel: CPU: 0
Dec 14 18:55:48 cache2 kernel: EIP: 0010:[kmem_cache_free+320/360]
Dec 14 18:55:48 cache2 kernel: EFLAGS: 00010286
Dec 14 18:55:48 cache2 kernel: eax: 0000003d ebx: cf103ba0 ecx:
00000001 edx: 0000003a
Dec 14 18:55:48 cache2 kernel: esi: cffaf740 edi: 00000286 ebp:
c0546a68 esp: cff93ecc
Dec 14 18:55:48 cache2 kernel: ds: 0018 es: 0018 ss: 0018
Dec 14 18:55:48 cache2 kernel: Process kswapd (pid: 5, process nr: 5,
stackpage=cff93000)
Dec 14 18:55:48 cache2 kernel: Stack: cf103ba0 c0546a68 cf103ba0 00000030
cff93f38 0000000e cff93f30 cffa9320
Dec 14 18:55:48 cache2 kernel: c010a582 c0128026 cffaf740 cf103ba0
cf100018 0000001f cf103ba0 c0546a68
Dec 14 18:55:48 cache2 kernel: c010a198 c0546a68 cf103ba0 cf103ba0
cf103ba0 c0128dd5 cf103ba0 002283f0
Dec 14 18:55:48 cache2 kernel: Call Trace: [do_IRQ+42/72]
[put_unused_buffer_head+38/84] [common_interrupt+24/32]
[try_to_free_buffers+65/144] [try_to_free_buffers+56/144]
[try_to_free_buffers+20/144] [shrink_mmap+225/312]
Dec 14 18:55:48 cache2 kernel: [shrink_mmap+12/312]
[shrink_mmap+0/312] [do_try_to_free_pages+49/148] [tvecs+7662/14432]
[tvecs+7662/14432] [kswapd+106/160] [kswapd+124/160] [kernel_thread+31/56]
Dec 14 18:55:48 cache2 kernel: [kernel_thread+40/56]
Dec 14 18:55:48 cache2 kernel: Code: c7 05 00 00 00 00 00 00 00 00 eb 12 83
c4 fc 56 53 68 3e d0
Dec 14 18:56:31 cache2 kernel: Kernel panic: VFS: LRU block list corrupted


My boss and I looked over it and it looks like something to do with virtual
memory.

I was logged in remotely ussing SSH and was using LAME to convert some
wav's to mp3's
my boss suggested that one of the wav files might have been corrupted.

What can you guys suggest?

Lee Leahu
System Administrator
[email protected]


2000-12-16 11:39:38

by David Weinehall

[permalink] [raw]
Subject: Re: Kernel panic: VFS: LRU block list corrupted

On Fri, Dec 15, 2000 at 09:04:31PM -0600, Lee Leahu wrote:
> Hello all,
>
> One of my linux servers crash with a 'kernal panic: VFS: LRU block list
> corrupted' message on my screen.
> I reboot with a boot disk - it was find, then rebooted of the hard drive
> and it was fine. The systems is runing fine
> now, but i thought maybe someone on this list could explain to me what
> exactly happend there.

Uhm. First of all, you really need to supply information on what
kernel-version this is. Any hardware information is useful too. And
the oops seem to come from klogd, right? klogd has a horrific tendency
of destroying all information in the oops, thus it's recommended to
call klogd with the '-x' argument to tell it not to decode oops:es.

Then, when you get an oops, run it through ksymoops.


Regards: David Weinehall
_ _
// David Weinehall <[email protected]> /> Northern lights wander \\
// Project MCA Linux hacker // Dance across the winter sky //
\> http://www.acc.umu.se/~tao/ </ Full colour fire </

2000-12-16 12:03:36

by lee leahu

[permalink] [raw]
Subject: Re: Kernel panic: VFS: LRU block list corrupted

In response to David Weinehall's reply:

sorry - i forgot that i needed to include more info, i'm new to mailling lists.

We recently upgraded our server to kernel 2.2.16 because there was a bug in
2.2.14
and the new sendmail required at least 2.2.16.

We built our computer from Abit BE6-II motherboards, Pentium III 550 MHz,
512Kb cache,
256 Megs ram, 3com 905c nics, 3dfx Vodoo 3 3000 video cards
maxtor 30G hard drive, standard floppy drive, decend CD-ROM drive

i'm not very familiar with klog, but i'll go with klogd.
do i append a '-x' to the line that calls klogs in the startup scripts or
is there some other better way of preventing klogd from destroying
the Oops information.

Then i guess ksymoops. decodes the oops info

Lee Leahu
System Administrator
[email protected]

2000-12-16 12:14:12

by Keith Owens

[permalink] [raw]
Subject: Re: Kernel panic: VFS: LRU block list corrupted

On Sat, 16 Dec 2000 05:32:51 -0600,
Lee Leahu <[email protected]> wrote:
>i'm not very familiar with klog, but i'll go with klogd.
>do i append a '-x' to the line that calls klogs in the startup scripts or
>is there some other better way of preventing klogd from destroying
>the Oops information.

Edit the script that starts klogd, probably /etc/rc.d/init.d/syslog.
Find the line that starts klogd, add '-x' to the options then restart
klogd (probably /etc/rc.d/init.d/syslog restart).

>Then i guess ksymoops. decodes the oops info

Absolutely. See linux/Documentation/oops-tracing.txt