[100% repeatable] `Out of memory for cc1' in linux-2.2.4

Mike Galbraith (mikeg@weiden.de)
Wed, 31 Mar 1999 17:11:02 +0200 (CEST)


Hi,

I grabbed clisp and gave it a shot here as a trigger of the bug.
As the subject line says, it's 100% repeatable here. I added a
few printk's and enabled DEBUG_SWAP.. condensed data below.

2.2.5 compiled with gcc-2.7.2.3, up mmx150 box. Further config
data available upon request. Logs of Bonnie running after the
trigger event also available.

Note: after oom condition, Bonnie or swapoff results in very many..
DebugVM: swap_duplicate(entry xxxxxxxx, count now n)
..messages. If I reboot and don't try to configure clisp, I can run
Bonnie all day long and never see my printk's or dups. If using all
swap partitions, after oom, Bonnie also suffers oom.. not so with only
one partition active (so far anyway).. only tons of dups. After oom
event, swap never works correctly again.. and I'm afraid to push my
luck to see what all might happen :)

-Mike

-----------------------------data------------------------------------
own printk's that show up in log..
in swapin_readahead()

/* Don't read-ahead past the end of the swap area */
if (offset >= swapdev->max) {
#if 1
printk("swapin_readahead: swap_device=%08lx max=%08lx offset=%08lx.\n",
swapdev->swap_device, swapdev->max, offset);
#endif

in swap_in()

#if 1
printk("swap_in: entry %08lx doesn't exist.. ciao.\n",entry);
#endif
set_pte(page_table, BAD_PAGE);
swap_free(entry);
oom(tsk);
return;

------------------------[commented] dmesg data-------------------------
[boot]
...
... autorun DONE.
DebugVM: read_swap_page entry 00000000, page c4413000 (count 2), wait
DebugVM: read_swap_page finished on page c4413000 (count 2)
Adding Swap: 131068k swap-space (priority 1)
DebugVM: read_swap_page entry 00000002, page c4413000 (count 2), wait
DebugVM: read_swap_page finished on page c4413000 (count 2)
Adding Swap: 132092k swap-space (priority 1)
DebugVM: read_swap_page entry 00000004, page c4413000 (count 2), wait
DebugVM: read_swap_page finished on page c4413000 (count 2)
Adding Swap: 66540k swap-space (priority 1)
DebugVM: read_swap_page entry 00000006, page c4413000 (count 2), wait
DebugVM: read_swap_page finished on page c4413000 (count 2)
Adding Swap: 205820k swap-space (priority 1)
...
[swapoff -a;swapon /dev/sdb4]
DebugVM: read_swap_page entry 00000000, page c2905000 (count 2), wait
DebugVM: read_swap_page finished on page c2905000 (count 2)
Adding Swap: 131068k swap-space (priority -1)
...
[configure clisp]
[as soon as this happens, you're toast]
swapin_readahead: swap_device=00000000 max=00000000 offset=00000500.
DebugVM: read_swap_cache_async entry 00050040, wait
swap_in: entry 00050040 doesn't exist.. ciao.

Out of memory for cc1.
swapin_readahead: swap_device=00000000 max=00000000 offset=00000280.
DebugVM: read_swap_cache_async entry 00028040, wait
swap_in: entry 00028040 doesn't exist.. ciao.

Out of memory for sed.
SysRq: Show Memory
Mem-info:
Free pages: 5948kB
( Free: 1487 (256 384 448)
95*4kB 40*8kB 2*16kB 13*32kB 5*64kB 35*128kB = 5948kB)
Swap cache: add 0, delete 0, find 0/2
Free swap: 131068kB
18204 pages of RAM
815 reserved pages
1971 pages shared
0 pages swap cached
26 pages in page table cache
Buffer memory: 14768kB
Buffer heads: 4498
Buffer blocks: 4474
Buffer hashed: 4021
CLEAN: 4044 buffers, 50 used (last=3735), 4042 uptodate 0 locked, 0 protected, 0 dirty
Networking buffers in use : 0
Total network buffer allocations : 319
Total failed network buffer allocs : 0
IP fragment buffer size : 0
[clean tree and retry]
swapin_readahead: swap_device=00000000 max=00000000 offset=00000500.
DebugVM: read_swap_cache_async entry 00050040, wait
swap_in: entry 00050040 doesn't exist.. ciao.

Out of memory for cc1.
[SysRq-M poked as fast as human reactions allow]
SysRq: Show Memory
Mem-info:
Free pages: 1920kB
( Free: 480 (256 384 448)
0*4kB 0*8kB 2*16kB 13*32kB 7*64kB 8*128kB = 1920kB)
Swap cache: add 0, delete 0, find 0/3
Free swap: 131068kB
18204 pages of RAM
815 reserved pages
2892 pages shared
0 pages swap cached
32 pages in page table cache
Buffer memory: 20492kB
Buffer heads: 5780
Buffer blocks: 5760
Buffer hashed: 5331
CLEAN: 5267 buffers, 39 used (last=5165), 5265 uptodate 0 locked, 0 protected, 0 dirty
LOCKED: 46 buffers, 1 used (last=1), 5311 uptodate 13 locked, 0 protected, 0 dirty
DIRTY: 41 buffers, 10 used (last=35), 5352 uptodate 0 locked, 0 protected, 41 dirty
Networking buffers in use : 0
Total network buffer allocations : 356
Total failed network buffer allocs : 0
IP fragment buffer size : 0

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/