Hello,
I have been running RH 6.0 and later RH 6.1 on a machine for years without
any problems whatsoever. Hardware is Asus P2B, Pentium II-350, 128 MB SDRAM,
WDC AC38400L IDE hard disk.
When I got a new 80G hard disk I decided to install RH 7.1 on the new disk
and mount the old one at /old. The new disk is a Maxtor 98196H8. I updated
the mainboard BIOS from 1006 to 1013 in order to install the huge new disk.
The old boot disk with RH 6.1 still continues to work fine with the new
BIOS under heavy load.
Now the problem: When I run RH 7.1 the system will eventually crash during
heavy disk activity. I run the simple shell script below to reproduce the
error.
I tried switching the disk from udma2 mode to mdma2 using the command
hdparm -d1 -X34 /dev/hda with no success. Disk access just becomes slower.
Same for trying PIO mode. I also tried running with swap disabled, no
success either.
The error is almost always "Unable to handle kernel paging request", and
this even if no swap space is configured. Most of the OOPSes happen within
the init process, and the logging information does not make it to the
/var/log/messages file. Below is the ksymoops output for the crash with
no swap space configured.
The new 2.4 kernels appear to run faster than the old 2.2 kernels used in
RH 6.x, so I would prefer to use them if I can get the system to run
reliably.
Comments and suggestions appreciated.
Regards,
Jochen
-------------------------------------------------------
Load script to induce failure:
#!/bin/sh
count=$1
delay=$2
[ -z "$count" ] && count=1
[ -z "$delay" ] && delay=10
echo count=$count delay=$delay
index=1
while [ $index -le $count ]
do
echo -n " $index"
# /home/jochen contains about 3 gigs of data in several
# thousand files.
find /home/jochen -type f -exec echo -n "{} " ";"\
-exec sum "{}" ";" >s-$$.$index &
sleep $delay
index=`expr $index + 1`
done
echo
-------------------------------------------------------
ksymoops output:
ksymoops 2.4.0 on i686 2.4.2-2. Options used
-v /boot/vmlinux-2.4.2-2 (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.2-2/ (default)
-m /boot/System.map (specified)
Warning (compare_maps): ksyms_base symbol __VERSIONED_SYMBOL(shmem_file_setup) not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): mismatch on symbol partition_name , ksyms_base says c01af860, vmlinux says c0153510. Ignoring ksyms_base entry
Warning (compare_maps): mismatch on symbol tulip_max_interrupt_work , tulip says c88514e0, /lib/modules/2.4.2-2/kernel/drivers/net/tulip/tulip.o says c8850bc0. Ignoring /lib/modules/2.4.2-2/kernel/drivers/net/tulip/tulip.o entry
Warning (compare_maps): mismatch on symbol tulip_rx_copybreak , tulip says c88514e4, /lib/modules/2.4.2-2/kernel/drivers/net/tulip/tulip.o says c8850bc4. Ignoring /lib/modules/2.4.2-2/kernel/drivers/net/tulip/tulip.o entry
Warning (compare_maps): mismatch on symbol usb_devfs_handle , usbcore says c883f1a0, /lib/modules/2.4.2-2/kernel/drivers/usb/usbcore.o says c883ecc0. Ignoring /lib/modules/2.4.2-2/kernel/drivers/usb/usbcore.o entry
Jun 14 21:21:17 lard kernel: Unable to handle kernel paging request at virtual address 40f89194
Jun 14 21:21:17 lard kernel: c012493a
Jun 14 21:21:17 lard kernel: Oops: 0002
Jun 14 21:21:17 lard kernel: CPU: 0
Jun 14 21:21:17 lard kernel: EIP: 0010:[__remove_inode_page+74/112]
Jun 14 21:21:17 lard kernel: EIP: 0010:[<c012493a>]
Using defaults from ksymoops -t elf32-i386 -a i386
Jun 14 21:21:17 lard kernel: EFLAGS: 00010246
Jun 14 21:21:17 lard kernel: eax: 00000000 ebx: c10b5f50 ecx: c57a8aa8 edx: 40f89194
Jun 14 21:21:17 lard kernel: esi: c10b5f6c edi: 0000018a ebp: c0258a04 esp: c21f7e60
Jun 14 21:21:18 lard kernel: ds: 0018 es: 0018 ss: 0018
Jun 14 21:21:18 lard kernel: Process sum (pid: 30648, stackpage=c21f7000)
Jun 14 21:21:19 lard kernel: Stack: c10b5f50 c012bbff c10b5f50 c0258a04 c0258d74 00000001 00000001 c012d6ba
Jun 14 21:21:19 lard kernel: c0258a04 00000001 c0258d7c 00000000 c0258d70 c012d7d5 c0258d70 00000000
Jun 14 21:21:19 lard kernel: 00000001 00000001 00000015 00000001 00000000 c119c8d8 c70d7c28 00002039
Jun 14 21:21:19 lard kernel: Call Trace: [reclaim_page+687/1056] [__alloc_pages_limit+122/176] [__alloc_pages+229/640] [generic_file_readahead+494/656] [account_io_end+60/80] [do_generic_file_read+528/1344] [ide_end_request+79/96]
Jun 14 21:21:19 lard kernel: Call Trace: [<c012bbff>] [<c012d6ba>] [<c012d7d5>] [<c01259fe>] [<c0162d3c>] [<c0125cb0>] [<c0188bcf>]
Jun 14 21:21:19 lard kernel: [<c0126134>] [<c0125fe0>] [<c01339a6>] [<c010a488>] [<c010a4ac>] [<c010901b>]
Jun 14 21:21:19 lard kernel: Code: 89 02 c7 43 34 00 00 00 00 ff 0d 60 86 25 c0 c7 43 08 00 00
Trace; c012bbff <reclaim_page+2af/420>Quote:>>EIP; c012493a <__remove_inode_page+4a/70> <=====
Trace; c012d6ba <__alloc_pages_limit+7a/b0>
Trace; c012d7d5 <__alloc_pages+e5/280>
Trace; c01259fe <generic_file_readahead+1ee/290>
Trace; c0162d3c <account_io_end+3c/50>
Trace; c0125cb0 <do_generic_file_read+210/540>
Trace; c0188bcf <ide_end_request+4f/60>
Trace; c0126134 <generic_file_read+64/80>
Trace; c0125fe0 <file_read_actor+0/f0>
Trace; c01339a6 <sys_read+96/d0>
Trace; c010a488 <do_IRQ+68/b0>
Trace; c010a4ac <do_IRQ+8c/b0>
Trace; c010901b <system_call+33/38>
Code; c012493a <__remove_inode_page+4a/70>
00000000 <_EIP>:
Code; c012493a <__remove_inode_page+4a/70> <=====
0: 89 02 mov %eax,(%edx) <=====
Code; c012493c <__remove_inode_page+4c/70>
2: c7 43 34 00 00 00 00 movl $0x0,0x34(%ebx)
Code; c0124943 <__remove_inode_page+53/70>
9: ff 0d 60 86 25 c0 decl 0xc0258660
Code; c0124949 <__remove_inode_page+59/70>
f: c7 43 08 00 00 00 00 movl $0x0,0x8(%ebx)
5 warnings issued. Results may not be reliable.
------------------------------------------------
Jochen Roth jochen at panix dot com