broken buffer.c in 1.3.67

Jason Duerstock (jduersto@kendall.mdcc.edu)
Tue, 20 Feb 1996 14:57:09 -0500


I got the following lovely mess following my standard BSD NCR stress test:

I had the following two processes running concurrently:

dd if=/dev/sda of=/dev/null bs=1048576
dd if=/dev/sdb of=/dev/null bs=1048576

This is on a 486dx2/80 with 32 megs of RAM, 32 megs of swap in the form
of two 16 megabyte swap files, a NCR 53c810 board, a 2.1 GB Seagate and a
9 GB Seagate.

VFS: brelse: Trying to free free buffer
Unable to handle kernel paging request at virtual address fb050e85
current->tss.cr3 = 004da000,
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<001261b8>]
EFLAGS: 00010293
eax: 003f6380 ebx: 3b050e79 ecx: 0000002e edx: 001ec000
esi: 003f6380 edi: 003f6380 ebp: 00000001 esp: 004dccbc
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process dd (pid: 211, process nr: 27, stackpage=004dc000)
Stack: 00000000 00000004 00000810 00001000 00000001 000003ea 00005d20 00000810
3b050e79 00126b65 00000810 00005d20 00000400 00000011 00000810 00000400
00000000 00000810 001290d0 00000810 004dcf74 00000400 018f2e70 00100000
Call Trace: [<00126b65>] [<001290d0>] [<00122068>] [<00121f4c>] [<0010a4b9>]
Code: 83 7b 0c 00 0f 84 1e 04 00 00 89 df 8b 44 24 2c 89 44 24 18
Using `../System.map' to map addresses to symbols.

>>EIP: 1261b8 <reassign_cluster+58/4b0>
Trace: 126b65 <generate_cluster+145/160>
Trace: 1290d0 <block_read+3c0/680>
Trace: 122068 <sys_write+f8/110>
Trace: 121f4c <sys_read+8c/b0>
Trace: 10a4b9 <system_call+59/a0>

Code: 1261b8 <reassign_cluster+58/4b0> cmpl $0x0,0xc(%ebx)
Code: 1261bc <reassign_cluster+5c/4b0> je 1265e0 <reassign_cluster+480/4b0>
Code: 1261c2 <reassign_cluster+62/4b0> movl %ebx,%edi
Code: 1261c4 <reassign_cluster+64/4b0> movl 0x2c(%esp,1),%eax
Code: 1261c8 <reassign_cluster+68/4b0> movl %eax,0x18(%esp,1)