Re[2]: Linux-2.0.32.. (OOPS) [long]

Rodney Barnett (
Tue, 18 Nov 1997 08:22:47 -0600

I wrote:
>This time the following appeared while doing a dd from /dev/hda to
[dump information removed]

I apparently have caused some confusion by not providing enough context.
Sorry. I've posted several messages about this problem and didn't think I'd
need to wrap it all up in one message. Oh well, perhaps I should start from
the beginning though I'm afraid that makes for a rather long message.

I recently set up a PC configured as follows:
motherboard: AOpen AP5VM-3
CPU: 200 MHz Pentium
memory: 64M
ethernet: 3c900
ide devices: hda: Seagate ST52520A
hdb: Creative CDROM drive
hdc: Seagate ST52520A

When I run the following under 2.0.30, I see no problems.

dd if=/dev/hda bs=512k | dd of=/dev/hdc bs=512k

However, under 2.0.31, 2.0.32-pre1, and 2.0.32-pre6, problems eventually show
up. "Eventully" means that often the command will complete the first time, but
one of the subsequent attempts to run it will cause problems.

The most common failure mode is that the system simply reboots and leaves no
trace of what happened. I've only manged to be at the console when this
happened once. A lot of text scrolled by very quickly. At least part of it
looked like a long hex dump. However, it all went by too quickly for me to
absorb many details.

Occasionally, the failure will be in the form of an OOPS that remains on the
console. My most recent post contains the one for 2.0.32-pre6. I have another
for 2.0.31. (see below)

For 2.0.32-pre1, I have an oops that was written to syslog. (see below)

Tomasz asked for the .config file. Here's the one for 2.0.32-pre6 minus
comments and blank lines.


The only difference for the other two kernel versions was that the following two
parameters were also set.


2.0.30 also had those to parameters set, but did not have CONFIG_BLK_DEV_TRITON

Tomasz also asked to see the output of dmesg. I'm not sure of the purpose of
the question, so I'm not sure that this is useful, but all I have is the output
of dmesg after a boot of 2.0.32-pre6. Here that is.


Console: 16 point font, 400 scans
Console: colour VGA+ 80x25, 1 virtual console (max 63)
pcibios_init : BIOS32 Service Directory structure at 0x000fdb40
pcibios_init : BIOS32 Service Directory entry at 0xfdb50
pcibios_init : PCI BIOS revision 2.10 entry at 0xfdb71
Probing PCI hardware.
Calibrating delay loop.. ok - 79.67 BogoMIPS
Memory: 63436k/65536k available (576k kernel code, 384k reserved, 1140k data)
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.13 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: ICMP, UDP, TCP
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Checking 'hlt' instruction... Ok.
Intel Pentium with F0 0F bug - workaround enabled.
moving IDT ... ... done
Linux version 2.0.32 (root@hed) (gcc version #1 Mon Nov 17 09:34:55 CST
Starting kswapd v
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16550A
tty01 at 0x02f8 (irq = 3) is a 16550A
ide: i82371 PIIX (Triton) on PCI bus 0 function 57
ide0: BM-DMA at 0xffa0-0xffa7
ide1: BM-DMA at 0xffa8-0xffaf
hda: ST52520A, 2446MB w/112kB Cache, CHS=621/128/63, DMA
hdc: ST52520A, 2446MB w/112kB Cache, CHS=4970/16/63, DMA
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
eth0: 3Com 3c900 Boomerang 10Mbps/Combo at 0x7f00, 00:60:08:41:0c:b7, IRQ 11
8K word-wide RAM 3:5 Rx:Tx split, autoselect/10baseT interface.
Enabling bus-master transmits and whole-frame receives.
eth0: Overriding PCI latency timer (CFLT) setting of 32, new value is 248.
3c59x.c:v0.46C 10/14/97 Donald Becker
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 >
hdc: [PTBL] [621/128/63] hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 >
VFS: Mounted root (ext2 filesystem) readonly.
Adding Swap: 129020k swap-space (priority -1)
Trying to free nonexistent swap-page
Trying to free nonexistent swap-page


Judging from syslog, the last two messages appeared early this morning during a
successful run of the dd command above. These messages have also appeared
during other successful runs, but not always. Should I be worried about that

Okay, here's the output of ksymoops when 2.0.31 crashed.


Using `./' to map addresses to symbols.

>>EIP: 124e98 <mark_buffer_uptodate+14/4c>
Trace: 170255 <ide_end_request+81/114>
Trace: 175149 <dma_intr+6d/b0>
Trace: 175149 <dma_intr+6d/b0>
Trace: 172296 <ide_intr+3e/64>
Trace: 10c9a1 <setup_x86_irq+65/124>
Trace: 10c771 <fast_IRQ15_interrupt+41/70>
Trace: 113a28 <printk+120/13c>
Trace: 11117d <do_page_fault+295/2f8>
Trace: 11117d <do_page_fault+295/2f8>
Trace: 10a7a0 <error_code+40/50>
Trace: 111184 <do_page_fault+29c/2f8>
Trace: 111184 <do_page_fault+29c/2f8>
Trace: 10a7a0 <error_code+40/50>
Trace: 111184 <do_page_fault+29c/2f8>
Trace: 111184 <do_page_fault+29c/2f8>

Code: 124e98 <mark_buffer_uptodate+14/4c>
Code: 124e98 <mark_buffer_uptodate+14/4c> f6 42 14 01 testb $0x1,0x14(%edx)
Code: 124e9c <mark_buffer_uptodate+18/4c> 74 31 je 124ecf
Code: 124e9e <mark_buffer_uptodate+1a/4c> 8b 52 10 movl 0x10(%edx),%edx
Code: 124ea1 <mark_buffer_uptodate+1d/4c> 85 d2 testl %edx,%edx
Code: 124ea9 <mark_buffer_uptodate+25/4c> 74 04 je 124ea9
Code: 124eab <mark_buffer_uptodate+27/4c> 39 ca cmpl %ecx,%edx
Code: 124ead <mark_buffer_uptodate+29/4c> 75 ef jne 124e98
Code: 124eaf <mark_buffer_uptodate+2b/4c> 8b 41 24 movl 0x24(%ecx),%eax
Code: 124eb8 <mark_buffer_uptodate+34/4c>


Now, the syslog data when 2.0.32-pre1 crashed.


Unable to handle kernel paging request at virtual address c255d218
current->tss.cr3 = 00804000, Lr3 = 00804000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[get_hash_table+52/172]
EFLAGS: 00010206
eax: 0255d218 ebx: 00001600 ecx: 00001600 edx: 000009fc
esi: 00001600 edi: 0016fffc ebp: 00000400 esp: 00805cdc
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process dd (pid: 83, process nr: 22, stackpage=00805000)
Stack: 00000001 00001600 00000400 0016fffc 00000000 000009fc 0012444e 00001600
0016fffc 00000400 00000001 00000400 0016fffc 0000000a 00000001 00127663
00001600 0016fffc 00000400 00000000 004f6a0c 00009aa0 004f69d8 5bfff000
Call Trace: [loop_set_fd+252/288] [getblk+54/924] [loop_set_fd+252/288]
[loop_set_fd+252/288] [block_write+519/1396] [loop_set_fd+252/288]
[getblk+54/924] [pentium_timer_interrupt+24/140] [do_IRQ+45/80]
[fast_IRQ0_interrupt+88/128] [pentium_timer_interrupt+24/140] [do_IRQ+45/80]
[ide_set_handler+38/44] [triton_dmaproc+272/336]
[dma_intr+0/176] [ide_do_request+650/1632] [ide_do_request+909/1632]
[ide_set_handler+38/44] [triton_dmaproc+272/336] [dma_intr+0/176]
[ide_do_request+650/1632] [ide_do_request+909/1632]
[dma_intr+0/176] [dma_intr+109/176] [schedule+21/652] [pipe_read+396/512]
[sys_write+331/388] [system_call+85/128]
Code: 39 38 75 24 66 39 58 04 75 1e 39 68 20 74 22 56 e8 3b fa ff


Well, let me know if there's more information I should provide.