kernel stack overflow profiler.. two very long oopses

Michael L. Galbraith (mikeg@mikeg.weiden.de)
Sat, 15 Feb 1997 12:36:49 +0100 (MET)


On Sun, 9 Feb 1997, Ingo Molnar wrote:

> It's tested on the x86 platform, but other platforms should be fine too.
> Probably the only thing you have to do is to add the config option to your
> arch/*/config.in file. Send me a report if it works.
>

Yep, it works. Copying from /dos_d (vfat) to /mnt (vfat) via tar, twice for
good measure. The second one left tar hung and dead. I haven't checked to see
if the vfat fs is trashed, but I expect it's hosed. I'll leave that partition
alone for a couple of days in case someone wants additional info.

I hope these are helpful... but if not, at least they're looooong. ;)

-Mike

-------------------------------------------------------------------------------
tar -cf - . | (cd /mnt; tar -xvf -)

kernel stack overflow. Forcing Oops.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 042b7000, Dr3 = 042b7000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c0111ea4>]
EFLAGS: 00010046
eax: 00000028 ebx: c0516998 ecx: c0264b94 edx: c4c99018
esi: 00000000 edi: 00000046 ebp: c423c1ec esp: c423c1e8
ds: 0018 es: 0018 ss: 0018
Process tar (pid: 207, process nr: 35, stackpage=c423c000)
Stack: c0239e32 c423c214 c020f6c7 deadbeef 00000000 00000046 c0516b18 0001e800
c02a6e44 c0fdf814 c0629800 c423c238 c021926d c02b98b8 c0516998 00000000
0000039c 00000000 c0ff939c 00000001 c423c30c c0219334 0000039c 00000000
Call Trace: [<c020f6c7>] [<c021926d>] [<c0219334>] [<c020f48f>] [<c02192b1>] [<c0219334>] [<c02192b1>]
[<c011236c>] [<c01dc76b>] [<c0112280>] [<c0218b69>] [<c0218fa8>] [<c021916d>] [<c0210726>] [<c021f2a7>]
[<c0221c7d>] [<c0210726>] [<c021f2a7>] [<c0221c7d>] [<c021f2a7>] [<c0221c7d>] [<c0223b67>] [<c0223b67>]
[<c0219c9b>] [<c0223b67>] [<c020f48f>] [<c02192b1>] [<c0219334>] [<c0219c9b>] [<c0218dc8>] [<c011236c>]
[<c01dc76b>] [<c0112280>] [<c0218b69>] [<c0218fa8>] [<c021916d>] [<c0210726>] [<c021f2a7>] [<c0221c7d>]
[<c0112280>] [<c0218b69>] [<c0218fa8>] [<c021916d>] [<c0210726>] [<c021f2a7>] [<c021916d>] [<c0210726>]
[<c010c9be>] [<c010c37b>] [<c0128415>] [<c0128b6c>] [<c012937a>] [<c019f032>] [<c01a2b10>] [<c01a01d8>]
[<c0218b64>] [<c02191ad>] [<c021f2a7>] [<c0221c7d>] [<c022fc90>] [<c0223b67>] [<c021f0b0>] [<c021f0b0>]
[<c0223b67>] [<c01a5ee7>] [<c01a5d90>] [<c020ffb1>] [<c020ffb1>] [<c0219c9b>] [<c0218dc8>] [<c0219c9b>]
[<c0223b67>] [<c0112c93>] [<c0112280>] [<c020f48f>] [<c02192b1>] [<c01c4f42>] [<c0110802>] [<c01c5366>]
[<c01283df>] [<c0128b6c>] [<c0128f44>] [<c0129292>] [<c019f107>] [<c019f4f7>] [<c019f757>] [<c019f7fb>]
[<c01a06e4>] [<c0235fde>] [<c0111fd7>] [<c0128f44>] [<c01328af>] [<c01274c3>] [<c01a62d3>] [<c01328af>]
[<c01a62f2>] [<c012eb38>] [<c012e8bf>] [<c012ead2>] [<c012ecbb>] [<c012ed49>] [<c012cf76>] [<c010a748>]
Code: c6 05 00 00 00 00 00 89 ec 5d c3 90 55 89 e5 89 ec 5d c3 89
Aiee, killing interrupt handler
Using `/boot/2.1.26/System.map' to map addresses to symbols.

>>EIP: c0111ea4 <mcount+34/40>
Trace: c020f6c7 <allocate_device+13/310>
Trace: c021926d <do_sd_request+f5/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c020f48f <request_queueable+13/238>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c011236c <wake_up_interruptible+10/e4>
Trace: c01dc76b <add_timer_randomness+17b/188>
Trace: c0112280 <wake_up+10/ec>
Trace: c0218b69 <end_scsi_request+131/140>
Trace: c0218fa8 <rw_intr+1e0/3b0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c020f48f <request_queueable+13/238>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c011236c <wake_up_interruptible+10/e4>
Trace: c01dc76b <add_timer_randomness+17b/188>
Trace: c0112280 <wake_up+10/ec>
Trace: c0218b69 <end_scsi_request+131/140>
Trace: c0218fa8 <rw_intr+1e0/3b0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c0112280 <wake_up+10/ec>
Trace: c0218b69 <end_scsi_request+131/140>
Trace: c0218fa8 <rw_intr+1e0/3b0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c010c9be <do_fast_IRQ+3e/68>
Trace: c010c37b <fast_IRQ11_interrupt+3b/60>
Trace: c0128415 <get_hash_table+49/b8>
Trace: c0128b6c <getblk+38/3b0>
Trace: c012937a <bread+22/80>
Trace: c019f032 <fat_bread+36/a8>
Trace: c01a2b10 <fat_get_entry+6c/b4>
Trace: c01a01d8 <fat_readdirx+7c0/814>
Trace: c0218b64 <end_scsi_request+12c/140>
Trace: c02191ad <do_sd_request+35/190>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c022fc90 <sb_midi_open+30/a4>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c021f0b0 <aic7xxx_allocate_scb+10/e0>
Trace: c021f0b0 <aic7xxx_allocate_scb+10/e0>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c01a5ee7 <vfat_find+77/384>
Trace: c01a5d90 <vfat_readdir_cb>
Trace: c020ffb1 <scsi_do_cmd+381/3b4>
Trace: c020ffb1 <scsi_do_cmd+381/3b4>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c0112c93 <update_process_times+13/124>
Trace: c0112280 <wake_up+10/ec>
Trace: c020f48f <request_queueable+13/238>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c01c4f42 <add_request+24a/258>
Trace: c0110802 <set_rtc_mmss+1e/128>
Trace: c01c5366 <make_request+416/420>
Trace: c01283df <get_hash_table+13/b8>
Trace: c0128b6c <getblk+38/3b0>
Trace: c0128f44 <refile_buffer+10/330>
Trace: c0129292 <__brelse+2e/54>
Trace: c019f107 <fat_brelse+27/4c>
Trace: c019f4f7 <fat_access+2bf/2e4>
Trace: c019f757 <get_cluster+5f/94>
Trace: c019f7fb <fat_smap+6f/94>
Trace: c01a06e4 <fat_prefetch+44/e8>
Trace: c0235fde <___copy_user+12/d0>
Trace: c0111fd7 <schedule+13/284>
Trace: c0128f44 <refile_buffer+10/330>
Trace: c01328af <dcache_lookup+13/164>
Trace: c01274c3 <__iget+13/204>
Trace: c01a62d3 <vfat_lookup+df/1c0>
Trace: c01328af <dcache_lookup+13/164>
Trace: c01a62f2 <vfat_lookup+fe/1c0>
Trace: c012eb38 <follow_link+54/70>
Trace: c012e8bf <permission+f/d0>
Trace: c012ead2 <lookup+ba/cc>
Trace: c012ecbb <_namei+57/ac>
Trace: c012ed49 <lnamei+39/50>
Trace: c012cf76 <sys_newlstat+22/4c>
Trace: c010a748 <system_call+38/40>

Code: c0111ea4 <mcount+34/40>

kernel stack overflow. Forcing Oops.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 01341000, Dr3 = 01341000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c0111ea4>]
EFLAGS: 00010046
eax: 00000028 ebx: c0ffb214 ecx: c0264b94 edx: c4c99018
esi: c02a6c94 edi: c02a6c94 ebp: c13451e0 esp: c13451dc
ds: 0018 es: 0018 ss: 0018
Process tar (pid: 319, process nr: 38, stackpage=c1345000)
Stack: c0239e32 c13451f4 c0112280 c0ffb214 c02a6c94 c02a6c94 deadbeef c020f96b
c02715a4 c0516998 00000000 00000046 00000000 000000ae 00000046 c02a6c94
c1340831 c1345244 c021926d c02b98b8 c0516998 00000000 00000378 00000000
Call Trace: [<c0112280>] [<c020f96b>] [<c021926d>] [<c0219334>] [<c020f48f>] [<c02192b1>] [<c0219334>]
[<c02192b1>] [<c011236c>] [<c01dc76b>] [<c0112280>] [<c0218b69>] [<c0218fa8>] [<c021916d>] [<c0210726>]
[<c021f2a7>] [<c0221c7d>] [<c0210726>] [<c021f2a7>] [<c0221c7d>] [<c021f2a7>] [<c0221c7d>] [<c011236c>]
[<c0112280>] [<c0218b69>] [<c0218fa8>] [<c021916d>] [<c0223b67>] [<c0223b67>] [<c021f0b0>] [<c020ff90>]
[<c020ff90>] [<c02100c4>] [<c0235eac>] [<c0219c9b>] [<c0218dc8>] [<c0219c9b>] [<c0218dc8>] [<c020f48f>]
[<c02192b1>] [<c0219334>] [<c020f48f>] [<c02192b1>] [<c0219334>] [<c01dc76b>] [<c0112280>] [<c0112c93>]
[<c0112c93>] [<c01234f1>] [<c0112eb8>] [<c011a08d>] [<c010c9be>] [<c010c37b>] [<c0128c6c>] [<c012937a>]
[<c019f032>] [<c01a2b10>] [<c01a01d8>] [<c021916d>] [<c021f2a7>] [<c011fc9e>] [<c011fc90>] [<c010a75f>]
[<c01a5ee7>] [<c01a5d90>] [<c021f0b0>] [<c011cb7a>] [<c020ffb1>] [<c0223b67>] [<c020ffb1>] [<c021f0b0>]
[<c0223b67>] [<c021f0b0>] [<c020ffb1>] [<c020ffb1>] [<c0219c9b>] [<c0218dc8>] [<c0219c9b>] [<c0218dc8>]
[<c0112c93>] [<c01234f1>] [<c0112eb8>] [<c0112c93>] [<c0112c93>] [<c01283df>] [<c01234f1>] [<c010c9be>]
[<c010c9be>] [<c010c37b>] [<c0129d5b>] [<c01328af>] [<c01274c3>] [<c01a62d3>] [<c01328af>] [<c01a62f2>]
[<c012eb38>] [<c012e8bf>] [<c012ead2>] [<c012ecbb>] [<c012ed99>] [<c0125bbf>] [<c010a748>]
Code: c6 05 00 00 00 00 00 89 ec 5d c3 90 55 89 e5 89 ec 5d c3 89
Aiee, killing interrupt handler
scsi : aborting command due to timeout : pid 49497, scsi0, channel 0, id 0, lun 0 0x08 09 2c b8 01 00
aic7xxx: (abort) Aborting scb 12, TCL 0/0/0
scsi : aborting command due to timeout : pid 49498, scsi0, channel 0, id 0, lun 0 0x08 09 2c b9 01 00
aic7xxx: (abort) Aborting scb 2, TCL 0/0/0
scsi : aborting command due to timeout : pid 49499, scsi0, channel 0, id 0, lun 0 0x08 09 2c ba 01 00
aic7xxx: (abort) Aborting scb 6, TCL 0/0/0
Using `/boot/2.1.26/System.map' to map addresses to symbols.

>>EIP: c0111ea4 <mcount+34/40>
Trace: c0112280 <wake_up+10/ec>
Trace: c020f96b <allocate_device+2b7/310>
Trace: c021926d <do_sd_request+f5/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c020f48f <request_queueable+13/238>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c011236c <wake_up_interruptible+10/e4>
Trace: c01dc76b <add_timer_randomness+17b/188>
Trace: c0112280 <wake_up+10/ec>
Trace: c0218b69 <end_scsi_request+131/140>
Trace: c0218fa8 <rw_intr+1e0/3b0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c0210726 <scsi_done+662/66c>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c0221c7d <aic7xxx_isr+2255/26f0>
Trace: c011236c <wake_up_interruptible+10/e4>
Trace: c0112280 <wake_up+10/ec>
Trace: c0218b69 <end_scsi_request+131/140>
Trace: c0218fa8 <rw_intr+1e0/3b0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c021f0b0 <aic7xxx_allocate_scb+10/e0>
Trace: c020ff90 <scsi_do_cmd+360/3b4>
Trace: c020ff90 <scsi_do_cmd+360/3b4>
Trace: c0210726 <scsi_done+662/66c>
Trace: c0235eac <___zero_chunk+4c/90>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c020f48f <request_queueable+13/238>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c020f48f <request_queueable+13/238>
Trace: c02192b1 <do_sd_request+139/190>
Trace: c0219334 <requeue_sd_request+2c/9a0>
Trace: c01dc76b <add_timer_randomness+17b/188>
Trace: c0112280 <wake_up+10/ec>
Trace: c0112c93 <update_process_times+13/124>
Trace: c0112c93 <update_process_times+13/124>
Trace: c01234f1 <swap_tick+d/c0>
Trace: c0112eb8 <timer_bh+114/33c>
Trace: c011a08d <do_bottom_half+59/90>
Trace: c010c9be <do_fast_IRQ+3e/68>
Trace: c010c37b <fast_IRQ11_interrupt+3b/60>
Trace: c0128c6c <getblk+138/3b0>
Trace: c012937a <bread+22/80>
Trace: c019f032 <fat_bread+36/a8>
Trace: c01a2b10 <fat_get_entry+6c/b4>
Trace: c01a01d8 <fat_readdirx+7c0/814>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c021f2a7 <aic7xxx_done+1f/4c>
Trace: c011fc9e <filemap_swapin+1e/40>
Trace: c011fc90 <filemap_swapin+10/40>
Trace: c010a75f <ret_from_sys_call+f/60>
Trace: c01a5ee7 <vfat_find+77/384>
Trace: c01a5d90 <vfat_readdir_cb>
Trace: c021f0b0 <aic7xxx_allocate_scb+10/e0>
Trace: c011cb7a <do_wp_page+126/1fc>
Trace: c020ffb1 <scsi_do_cmd+381/3b4>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c020ffb1 <scsi_do_cmd+381/3b4>
Trace: c021f0b0 <aic7xxx_allocate_scb+10/e0>
Trace: c0223b67 <aic7xxx_buildscb+13/214>
Trace: c021f0b0 <aic7xxx_allocate_scb+10/e0>
Trace: c020ffb1 <scsi_do_cmd+381/3b4>
Trace: c020ffb1 <scsi_do_cmd+381/3b4>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0219c9b <requeue_sd_request+993/9a0>
Trace: c021916d <rw_intr+3a5/3b0>
Trace: c0112c93 <update_process_times+13/124>
Trace: c01234f1 <swap_tick+d/c0>
Trace: c0112eb8 <timer_bh+114/33c>
Trace: c0112c93 <update_process_times+13/124>
Trace: c0112c93 <update_process_times+13/124>
Trace: c01283df <get_hash_table+13/b8>
Trace: c01234f1 <swap_tick+d/c0>
Trace: c010c9be <do_fast_IRQ+3e/68>
Trace: c010c9be <do_fast_IRQ+3e/68>
Trace: c010c37b <fast_IRQ11_interrupt+3b/60>
Trace: c0129d5b <try_to_free_buffer+13/260>
Trace: c01328af <dcache_lookup+13/164>
Trace: c01274c3 <__iget+13/204>
Trace: c01a62d3 <vfat_lookup+df/1c0>
Trace: c01328af <dcache_lookup+13/164>
Trace: c01a62f2 <vfat_lookup+fe/1c0>
Trace: c012eb38 <follow_link+54/70>
Trace: c012e8bf <permission+f/d0>
Trace: c012ead2 <lookup+ba/cc>
Trace: c012ecbb <_namei+57/ac>
Trace: c012ed99 <namei+39/50>
Trace: c0125bbf <sys_chmod+23/a0>
Trace: c010a748 <system_call+38/40>

Code: c0111ea4 <mcount+34/40>