re: 2.0.32 buffer-list destroyed [WAS: 2.0.32 IDE-related crash]

mlord (mlord@pobox.com)
Thu, 04 Dec 1997 17:54:55 -0500


Olaf Titz wrote:
>
> Saw this one for the first time yesterday. The affected disk was a
> news spool. (Which gave a lot of errors in the past, apparently due to
> the high load, but the disk has been replaced since.) After the stuff
> below appeared in the syslog, everything trying to access hdc hung in
> D state and eventually no new processes could be spawned.
>
> olaf
>
> end_request: buffer-list destroyed
^^^^^^^^^^^^^^^^^^^^^

Something somewhere has trampled over kernel data structures,
resulting in a corrupted block device request queue.
Odds are very good that any block device drivers will trap
from that point onwards; the ide driver just "got lucky" in
this case, but was not the culprit.

Finding the culprit is darned near impossible in this situation.

-- 
mlord@pobox.com
The Linux IDE guy

> general protection: 0000 > CPU: 0 > EIP: 0010:[ide_output_data+153/164] > EFLAGS: 00010206 > eax: 001b17c0 ebx: 001b0170 ecx: 00002000 edx: 001b0170 > esi: 4fdd9d47 edi: 001b17cc ebp: 001b0170 esp: 0018cb7c > ds: 0018 es: 0018 fs: 002b gs: 0018 ss: 0018 > Process swapper (pid: 0, process nr: 0, stackpage=0018acc8) > Stack: 00000020 000022c0 00000000 001b17cc 00000000 00199000 0015f3e3 001b17cc > 4fdd9d47 00001000 001b17cc 001a146c 000022f0 00740176 0015fc1d 001b17cc > 00000020 001b17cc 0015f444 000003e8 00002298 001b17cc 0015f444 00009000 > Call Trace: [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [multwrite_intr+0/148] [multwrite_intr+111/148] [ide_intr+77/100] [do_fast_IRQ+42/76] > [fast_IRQ15_interrupt+65/112] [sys_idle+92/112] [system_call+85/128] [init+0/524] [start_kernel+429/440] > Code: f3 66 6f 5b 5e 5f 5d 83 c4 08 c3 57 56 53 8b 7c 24 10 8b 74 > Aiee, killing interrupt handler > kfree of non-kmalloced memory: 0018cd10, next= 00000000, order=0 > kfree of non-kmalloced memory: 0018cd00, next= 00000000, order=0 > kfree of non-kmalloced memory: 0018d214, next= 00000000, order=0 > idle task may not sleep > > [some minutes later...] > > hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest } > ide1: reset: success > general protection: 0000 > CPU: 0 > EIP: 0010:[ide_output_data+153/164] > EFLAGS: 00010206 > eax: 001b17c0 ebx: 001b0170 ecx: 00002000 edx: 001b0170 > esi: 4fdd9d47 edi: 001b17cc ebp: 001b0170 esp: 0018ca00 > ds: 0018 es: 0018 fs: 0000 gs: 0000 ss: 0018 > Process swapper (pid: 0, process nr: 0, stackpage=0018acc8) > Stack: 00000020 000022c0 00000000 001b17cc 001b17c0 00002200 0015f3e3 001b17cc > 4fdd9d47 00001000 001b17cc 001a146c 000022f0 00740176 0015fc1d 001b17cc > 00000020 001b17cc 0015f444 000003e8 00002298 001b17cc 0015f544 00000000 > Call Trace: [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [set_multmode_intr+0/68] [ide_intr+77/100] [do_fast_IRQ+42/76] [fast_IRQ15_interrupt+65/112] > [exit_notify+62/472] [do_exit+440/492] [die_if_kernel+695/704] [<05000000>] [<04800000>] [do_general_protection+40/84] [do_general_protection+0/84] [error_code+64/80] > [ide_output_data+153/164] [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [multwrite_intr+0/148] [multwrite_intr+111/148] [ide_intr+77/100] [do_fast_IRQ+42/76] > [fast_IRQ15_interrupt+65/112] [sys_idle+92/112] [system_call+85/128] [init+0/524] [start_kernel+429/440] > Code: f3 66 6f 5b 5e 5f 5d 83 c4 08 c3 57 56 53 8b 7c 24 10 8b 74 > Aiee, killing interrupt handler > hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest } > ide1: reset: success > general protection: 0000 > CPU: 0 > EIP: 0010:[ide_output_data+153/164] > EFLAGS: 00010206 > eax: 001b17c0 ebx: 001b0170 ecx: 00002000 edx: 001b0170 > esi: 4fdd9d47 edi: 001b17cc ebp: 001b0170 esp: 0018c884 > ds: 0018 es: 0018 fs: 0000 gs: 0000 ss: 0018 > Process swapper (pid: 0, process nr: 0, stackpage=0018acc8) > Stack: 00000020 000022c0 00000000 001b17cc 001b17c0 00002200 0015f3e3 001b17cc > 4fdd9d47 00001000 001b17cc 001a146c 000022f0 00740176 0015fc1d 001b17cc > 00000020 001b17cc 0015f444 000003e8 00002298 001b17cc 0015f544 00000000 > Call Trace: [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [set_multmode_intr+0/68] [ide_intr+77/100] [do_fast_IRQ+42/76] [fast_IRQ15_interrupt+65/112] > [exit_notify+62/472] [do_exit+440/492] [die_if_kernel+695/704] [<05000000>] [<04800000>] [ip_rcv+120/1304] [do_general_protection+40/84] [do_general_protection+0/84] > [error_code+64/80] [ide_output_data+153/164] [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [set_multmode_intr+0/68] [ide_intr+77/100] [do_fast_IRQ+42/76] > [fast_IRQ15_interrupt+65/112] [exit_notify+62/472] [do_exit+440/492] [die_if_kernel+695/704] [<05000000>] [<04800000>] [do_general_protection+40/84] [do_general_protection+0/84] > [error_code+64/80] [ide_output_data+153/164] [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [multwrite_intr+0/148] [multwrite_intr+111/148] [ide_intr+77/100] > [do_fast_IRQ+42/76] [fast_IRQ15_interrupt+65/112] [sys_idle+92/112] [system_call+85/128] [init+0/524] [start_kernel+429/440] > Code: f3 66 6f 5b 5e 5f 5d 83 c4 08 c3 57 56 53 8b 7c 24 10 8b 74 > Aiee, killing interrupt handler > hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest } > end_request: I/O error, dev 16:01, sector 573510 > general protection: 0000 > CPU: 0 > EIP: 0010:[wake_up+44/244] > EFLAGS: 00010086 > eax: 00040034 ebx: 8aace2f6 ecx: 00040034 edx: 00000000 > esi: 00040000 edi: 00040030 ebp: 0018c6f8 esp: 0018c6ec > ds: 0018 es: 0018 fs: 002b gs: 0000 ss: 0018 > Process swapper (pid: 0, process nr: 0, stackpage=0018acc8) > Stack: 00040000 00040000 00002298 0018c784 00126643 00040034 00040000 001a143c > 00002298 0015e283 00040000 00040000 00000000 001a143c 001b17cc 00000058 > 0015f100 0015f1d0 00000000 00002298 00002298 001b17cc 00000206 00000058 > Call Trace: [unlock_buffer+23/316] [ide_end_request+135/276] [ide_error+20/292] [ide_error+228/292] [timer_expiry+122/148] [timer_expiry+0/148] [timer_bh+749/820] > [do_bottom_half+59/96] [handle_bottom_half+11/32] [del_timer+58/64] [do_exit+71/492] [die_if_kernel+695/704] [<05000000>] [<04800000>] [unexpected_intr+184/264] > [do_general_protection+40/84] [do_general_protection+0/84] [error_code+64/80] [ide_output_data+153/164] [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] [set_multmode_intr+0/68] > [ide_intr+77/100] [do_fast_IRQ+42/76] [fast_IRQ15_interrupt+65/112] [exit_notify+62/472] [do_exit+440/492] [die_if_kernel+695/704] [<05000000>] [<04800000>] > [ip_rcv+120/1304] [do_general_protection+40/84] [do_general_protection+0/84] [error_code+64/80] [ide_output_data+153/164] [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] > [set_multmode_intr+0/68] [ide_intr+77/100] [do_fast_IRQ+42/76] [fast_IRQ15_interrupt+65/112] [exit_notify+62/472] [do_exit+440/492] [die_if_kernel+695/704] [<05000000>] > [<04800000>] [do_general_protection+40/84] [do_general_protection+0/84] [error_code+64/80] [ide_output_data+153/164] [ide_multwrite+51/148] [ide_do_request+985/1524] [multwrite_intr+0/148] > [multwrite_intr+0/148] [multwrite_intr+111/148] [ide_intr+77/100] [do_fast_IRQ+42/76] [fast_IRQ15_interrupt+65/112] [sys_idle+92/112] [system_call+85/128] [init+0/524] > [start_kernel+429/440] > Code: 8b 13 8b 5b 04 85 d2 74 76 8b 02 83 f8 02 74 07 8b 02 83 f8 > Aiee, killing interrupt handler > > [System not dead, actually recording more stuff in syslog, but no new > processes spawned. Reset button time.]