All of lore.kernel.org
 help / color / mirror / Atom feed
* cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
@ 2009-11-02 21:29 Justin Mattock
  2009-11-02 21:49 ` Jiri Slaby
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Justin Mattock @ 2009-11-02 21:29 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: gcc

Hello,
I'm not sure how to handle this,
while compiling firefox-3.6b1.source
I get this with the default compiling options,
as well as custom:


[  532.942324] cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
[  532.942330] Pid: 16002, comm: cc1plus Tainted: P
2.6.32-rc5-00083-g04ea458 #2
[  532.942333] Call Trace:
[  532.942342]  [<ffffffff810bce11>] T.417+0x7c/0x245
[  532.942347]  [<ffffffff810bd11c>] __out_of_memory+0x142/0x159
[  532.942352]  [<ffffffff810bd1a1>] out_of_memory+0x6e/0x9d
[  532.942357]  [<ffffffff810c0086>] __alloc_pages_nodemask+0x47e/0x5cc
[  532.942363]  [<ffffffff810d2115>] handle_mm_fault+0x25d/0x68e
[  532.942369]  [<ffffffff813dfc1d>] do_page_fault+0x2bb/0x2d3
[  532.942373]  [<ffffffff813ddb25>] page_fault+0x25/0x30
[  532.942376] Mem-Info:
[  532.942378] DMA per-cpu:
[  532.942380] CPU    0: hi:    0, btch:   1 usd:   0
[  532.942383] CPU    1: hi:    0, btch:   1 usd:   0
[  532.942385] DMA32 per-cpu:
[  532.942388] CPU    0: hi:  186, btch:  31 usd:  94
[  532.942391] CPU    1: hi:  186, btch:  31 usd:  23
[  532.942393] Normal per-cpu:
[  532.942395] CPU    0: hi:  186, btch:  31 usd: 150
[  532.942398] CPU    1: hi:  186, btch:  31 usd: 155
[  532.942404] active_anon:707575 inactive_anon:264673 isolated_anon:0
[  532.942406]  active_file:58 inactive_file:33 isolated_file:0
[  532.942407]  unevictable:0 dirty:0 writeback:0 unstable:0 buffer:71
[  532.942408]  free:6998 slab_reclaimable:2697 slab_unreclaimable:16267
[  532.942409]  mapped:136 shmem:64 pagetables:2761 bounce:0
[  532.942418] DMA free:15944kB min:28kB low:32kB high:40kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15360kB
mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
slab_reclaimable:0kB slab_unreclaimable:8kB kernel_stack:0kB
pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? yes
[  532.942425] lowmem_reserve[]: 0 2976 3986 3986
[  532.942436] DMA32 free:10020kB min:6020kB low:7524kB high:9028kB
active_anon:2360492kB inactive_anon:590196kB active_file:84kB
inactive_file:68kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:3047792kB mlocked:0kB dirty:0kB
writeback:0kB mapped:136kB shmem:80kB slab_reclaimable:0kB
slab_unreclaimable:88kB kernel_stack:0kB pagetables:6100kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:448
all_unreclaimable? yes
[  532.942443] lowmem_reserve[]: 0 0 1010 1010
[  532.942454] Normal free:2028kB min:2040kB low:2548kB high:3060kB
active_anon:469808kB inactive_anon:468496kB active_file:148kB
inactive_file:64kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:1034240kB mlocked:0kB dirty:0kB
writeback:0kB mapped:408kB shmem:176kB slab_reclaimable:10788kB
slab_unreclaimable:64972kB kernel_stack:800kB pagetables:4944kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:413
all_unreclaimable? yes
[  532.942461] lowmem_reserve[]: 0 0 0 0
[  532.942465] DMA: 2*4kB 2*8kB 3*16kB 2*32kB 3*64kB 2*128kB 2*256kB
1*512kB 2*1024kB 2*2048kB 2*4096kB = 15944kB
[  532.942478] DMA32: 7*4kB 7*8kB 5*16kB 4*32kB 2*64kB 1*128kB 1*256kB
4*512kB 3*1024kB 0*2048kB 1*4096kB = 10020kB
[  532.942490] Normal: 507*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB
0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2028kB
[  532.942501] 7974 total pagecache pages
[  532.942503] 7778 pages in swap cache
[  532.942506] Swap cache stats: add 112290, delete 104512, find 3595/4051
[  532.942508] Free swap  = 0kB
[  532.942510] Total swap = 431632kB
[  532.957941] 1048576 pages RAM
[  532.957943] 40518 pages reserved
[  532.957945] 312 pages shared
[  532.957947] 1000176 pages non-shared
[  532.957951] Out of memory: kill process 16001 (c++) score 543727 or a child
[  532.957955] Killed process 16002 (cc1plus)

I just compiled the latest gcc snapshot a few days
ago.


-- 
Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 21:29 cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0 Justin Mattock
@ 2009-11-02 21:49 ` Jiri Slaby
  2009-11-02 22:02   ` Justin Mattock
  2009-11-04  1:18 ` KOSAKI Motohiro
  2009-11-04  6:24 ` Andrew Morton
  2 siblings, 1 reply; 26+ messages in thread
From: Jiri Slaby @ 2009-11-02 21:49 UTC (permalink / raw)
  To: Justin Mattock; +Cc: Linux Kernel Mailing List, gcc

On 11/02/2009 10:29 PM, Justin Mattock wrote:
> [  532.942324] cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
> [  532.942330] Pid: 16002, comm: cc1plus Tainted: P
> 2.6.32-rc5-00083-g04ea458 #2
> [  532.942333] Call Trace:
> [  532.942342]  [<ffffffff810bce11>] T.417+0x7c/0x245
> [  532.942347]  [<ffffffff810bd11c>] __out_of_memory+0x142/0x159
> [  532.942352]  [<ffffffff810bd1a1>] out_of_memory+0x6e/0x9d
> [  532.942357]  [<ffffffff810c0086>] __alloc_pages_nodemask+0x47e/0x5cc
> [  532.942363]  [<ffffffff810d2115>] handle_mm_fault+0x25d/0x68e
> [  532.942369]  [<ffffffff813dfc1d>] do_page_fault+0x2bb/0x2d3
> [  532.942373]  [<ffffffff813ddb25>] page_fault+0x25/0x30
...
> [  532.957951] Out of memory: kill process 16001 (c++) score 543727 or a child
> [  532.957955] Killed process 16002 (cc1plus)
> 
> I just compiled the latest gcc snapshot a few days
> ago.

How many jobs did you run in parallel? Was there anything else memory
consuming running on that machine? Do you run the same jobs count every
time you compile such big c++ projects?

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 21:49 ` Jiri Slaby
@ 2009-11-02 22:02   ` Justin Mattock
  2009-11-02 22:05     ` Jiri Slaby
  0 siblings, 1 reply; 26+ messages in thread
From: Justin Mattock @ 2009-11-02 22:02 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Linux Kernel Mailing List, gcc

On Mon, Nov 2, 2009 at 1:49 PM, Jiri Slaby <jirislaby@gmail.com> wrote:
> On 11/02/2009 10:29 PM, Justin Mattock wrote:
>> [  532.942324] cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
>> [  532.942330] Pid: 16002, comm: cc1plus Tainted: P
>> 2.6.32-rc5-00083-g04ea458 #2
>> [  532.942333] Call Trace:
>> [  532.942342]  [<ffffffff810bce11>] T.417+0x7c/0x245
>> [  532.942347]  [<ffffffff810bd11c>] __out_of_memory+0x142/0x159
>> [  532.942352]  [<ffffffff810bd1a1>] out_of_memory+0x6e/0x9d
>> [  532.942357]  [<ffffffff810c0086>] __alloc_pages_nodemask+0x47e/0x5cc
>> [  532.942363]  [<ffffffff810d2115>] handle_mm_fault+0x25d/0x68e
>> [  532.942369]  [<ffffffff813dfc1d>] do_page_fault+0x2bb/0x2d3
>> [  532.942373]  [<ffffffff813ddb25>] page_fault+0x25/0x30
> ...
>> [  532.957951] Out of memory: kill process 16001 (c++) score 543727 or a child
>> [  532.957955] Killed process 16002 (cc1plus)
>>
>> I just compiled the latest gcc snapshot a few days
>> ago.
>
> How many jobs did you run in parallel? Was there anything else memory
> consuming running on that machine? Do you run the same jobs count every
> time you compile such big c++ projects?
>

This would be the only job running.

as for other types of jobs under ps aux there's only
udev,dbus,acpid,sshd,wicd running.

Now with this oom-killer I'm
hitting this on an imac9,1 with
gcc (GCC) 4.5.0 20091029 (experimental)
2.6.32-rc5-00083-g04ea458

On my other machine macbook pro ati chipset
(same system pure64)firefox seems to be going a lot farther
than on the imac(doing this in the past I think this takes a good
45min to compile).

the macbook has:
gcc (GCC) Cross-LFS 4.4.1.20090722) 4.4.1
2.6.32-rc4-00039-ga3f6f2e



-- 
Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 22:02   ` Justin Mattock
@ 2009-11-02 22:05     ` Jiri Slaby
  2009-11-02 22:12       ` Justin P. Mattock
  2009-11-03  0:56       ` Justin P. Mattock
  0 siblings, 2 replies; 26+ messages in thread
From: Jiri Slaby @ 2009-11-02 22:05 UTC (permalink / raw)
  To: Justin Mattock; +Cc: Linux Kernel Mailing List, gcc

On 11/02/2009 11:02 PM, Justin Mattock wrote:
> Now with this oom-killer I'm
> hitting this on an imac9,1 with
> gcc (GCC) 4.5.0 20091029 (experimental)

So there is probably a leak in the gcc chain. Does this happen with a
stable gcc version?

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 22:05     ` Jiri Slaby
@ 2009-11-02 22:12       ` Justin P. Mattock
  2009-11-03  0:56       ` Justin P. Mattock
  1 sibling, 0 replies; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-02 22:12 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Linux Kernel Mailing List, gcc

Jiri Slaby wrote:
> On 11/02/2009 11:02 PM, Justin Mattock wrote:
>    
>> Now with this oom-killer I'm
>> hitting this on an imac9,1 with
>> gcc (GCC) 4.5.0 20091029 (experimental)
>>      
>
> So there is probably a leak in the gcc chain. Does this happen with a
> stable gcc version?
>
>    
well right now I'(on the macbook), seems to be going for a good ten 
minutes before
I hit an error with a header file(nss)

I'll see if I can get this thing to compile all the way through.
(knock on wood) then go from there.

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 22:05     ` Jiri Slaby
  2009-11-02 22:12       ` Justin P. Mattock
@ 2009-11-03  0:56       ` Justin P. Mattock
  1 sibling, 0 replies; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-03  0:56 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Linux Kernel Mailing List, gcc

Jiri Slaby wrote:
> On 11/02/2009 11:02 PM, Justin Mattock wrote:
>    
>> Now with this oom-killer I'm
>> hitting this on an imac9,1 with
>> gcc (GCC) 4.5.0 20091029 (experimental)
>>      
>
> So there is probably a leak in the gcc chain. Does this happen with a
> stable gcc version?
>
>    
o.k. I think it's something with the latest gcc(snapshot)
right now she's been compiling firefox for 45min
(then crapped out because I compiled nss without sqlite)
without no omm-killer.

Justin P. Mattock


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 21:29 cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0 Justin Mattock
  2009-11-02 21:49 ` Jiri Slaby
@ 2009-11-04  1:18 ` KOSAKI Motohiro
  2009-11-04  1:40   ` Justin P. Mattock
  2009-11-04  6:24 ` Andrew Morton
  2 siblings, 1 reply; 26+ messages in thread
From: KOSAKI Motohiro @ 2009-11-04  1:18 UTC (permalink / raw)
  To: Justin Mattock; +Cc: kosaki.motohiro, Linux Kernel Mailing List, gcc

> Hello,
> I'm not sure how to handle this,
> while compiling firefox-3.6b1.source
> I get this with the default compiling options,
> as well as custom:
> 
> 
> [  532.942324] cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
> [  532.942330] Pid: 16002, comm: cc1plus Tainted: P
> 2.6.32-rc5-00083-g04ea458 #2
> [  532.942333] Call Trace:
> [  532.942342]  [<ffffffff810bce11>] T.417+0x7c/0x245
> [  532.942347]  [<ffffffff810bd11c>] __out_of_memory+0x142/0x159
> [  532.942352]  [<ffffffff810bd1a1>] out_of_memory+0x6e/0x9d
> [  532.942357]  [<ffffffff810c0086>] __alloc_pages_nodemask+0x47e/0x5cc
> [  532.942363]  [<ffffffff810d2115>] handle_mm_fault+0x25d/0x68e
> [  532.942369]  [<ffffffff813dfc1d>] do_page_fault+0x2bb/0x2d3
> [  532.942373]  [<ffffffff813ddb25>] page_fault+0x25/0x30
> [  532.942376] Mem-Info:
> [  532.942378] DMA per-cpu:
> [  532.942380] CPU    0: hi:    0, btch:   1 usd:   0
> [  532.942383] CPU    1: hi:    0, btch:   1 usd:   0
> [  532.942385] DMA32 per-cpu:
> [  532.942388] CPU    0: hi:  186, btch:  31 usd:  94
> [  532.942391] CPU    1: hi:  186, btch:  31 usd:  23
> [  532.942393] Normal per-cpu:
> [  532.942395] CPU    0: hi:  186, btch:  31 usd: 150
> [  532.942398] CPU    1: hi:  186, btch:  31 usd: 155
> [  532.942404] active_anon:707575 inactive_anon:264673 isolated_anon:0
> [  532.942406]  active_file:58 inactive_file:33 isolated_file:0

file cache (active_file + inactive_file) was very little. It indicate anyone waste too much memory.
I doubt you use buggy compiler.



> [  532.942407]  unevictable:0 dirty:0 writeback:0 unstable:0 buffer:71
> [  532.942408]  free:6998 slab_reclaimable:2697 slab_unreclaimable:16267
> [  532.942409]  mapped:136 shmem:64 pagetables:2761 bounce:0
> [  532.942418] DMA free:15944kB min:28kB low:32kB high:40kB
> active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB
> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15360kB
> mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
> slab_reclaimable:0kB slab_unreclaimable:8kB kernel_stack:0kB
> pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
> pages_scanned:0 all_unreclaimable? yes
> [  532.942425] lowmem_reserve[]: 0 2976 3986 3986
> [  532.942436] DMA32 free:10020kB min:6020kB low:7524kB high:9028kB
> active_anon:2360492kB inactive_anon:590196kB active_file:84kB
> inactive_file:68kB unevictable:0kB isolated(anon):0kB
> isolated(file):0kB present:3047792kB mlocked:0kB dirty:0kB
> writeback:0kB mapped:136kB shmem:80kB slab_reclaimable:0kB
> slab_unreclaimable:88kB kernel_stack:0kB pagetables:6100kB
> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:448
> all_unreclaimable? yes
> [  532.942443] lowmem_reserve[]: 0 0 1010 1010
> [  532.942454] Normal free:2028kB min:2040kB low:2548kB high:3060kB
> active_anon:469808kB inactive_anon:468496kB active_file:148kB
> inactive_file:64kB unevictable:0kB isolated(anon):0kB
> isolated(file):0kB present:1034240kB mlocked:0kB dirty:0kB
> writeback:0kB mapped:408kB shmem:176kB slab_reclaimable:10788kB
> slab_unreclaimable:64972kB kernel_stack:800kB pagetables:4944kB
> unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:413
> all_unreclaimable? yes
> [  532.942461] lowmem_reserve[]: 0 0 0 0
> [  532.942465] DMA: 2*4kB 2*8kB 3*16kB 2*32kB 3*64kB 2*128kB 2*256kB
> 1*512kB 2*1024kB 2*2048kB 2*4096kB = 15944kB
> [  532.942478] DMA32: 7*4kB 7*8kB 5*16kB 4*32kB 2*64kB 1*128kB 1*256kB
> 4*512kB 3*1024kB 0*2048kB 1*4096kB = 10020kB
> [  532.942490] Normal: 507*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB
> 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2028kB
> [  532.942501] 7974 total pagecache pages
> [  532.942503] 7778 pages in swap cache
> [  532.942506] Swap cache stats: add 112290, delete 104512, find 3595/4051
> [  532.942508] Free swap  = 0kB
> [  532.942510] Total swap = 431632kB
> [  532.957941] 1048576 pages RAM
> [  532.957943] 40518 pages reserved
> [  532.957945] 312 pages shared
> [  532.957947] 1000176 pages non-shared
> [  532.957951] Out of memory: kill process 16001 (c++) score 543727 or a child
> [  532.957955] Killed process 16002 (cc1plus)
> 
> I just compiled the latest gcc snapshot a few days
> ago.



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04  1:18 ` KOSAKI Motohiro
@ 2009-11-04  1:40   ` Justin P. Mattock
  0 siblings, 0 replies; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-04  1:40 UTC (permalink / raw)
  To: KOSAKI Motohiro; +Cc: Linux Kernel Mailing List, gcc

KOSAKI Motohiro wrote:
>> Hello,
>> I'm not sure how to handle this,
>> while compiling firefox-3.6b1.source
>> I get this with the default compiling options,
>> as well as custom:
>>
>>
>> [  532.942324] cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
>> [  532.942330] Pid: 16002, comm: cc1plus Tainted: P
>> 2.6.32-rc5-00083-g04ea458 #2
>> [  532.942333] Call Trace:
>> [  532.942342]  [<ffffffff810bce11>] T.417+0x7c/0x245
>> [  532.942347]  [<ffffffff810bd11c>] __out_of_memory+0x142/0x159
>> [  532.942352]  [<ffffffff810bd1a1>] out_of_memory+0x6e/0x9d
>> [  532.942357]  [<ffffffff810c0086>] __alloc_pages_nodemask+0x47e/0x5cc
>> [  532.942363]  [<ffffffff810d2115>] handle_mm_fault+0x25d/0x68e
>> [  532.942369]  [<ffffffff813dfc1d>] do_page_fault+0x2bb/0x2d3
>> [  532.942373]  [<ffffffff813ddb25>] page_fault+0x25/0x30
>> [  532.942376] Mem-Info:
>> [  532.942378] DMA per-cpu:
>> [  532.942380] CPU    0: hi:    0, btch:   1 usd:   0
>> [  532.942383] CPU    1: hi:    0, btch:   1 usd:   0
>> [  532.942385] DMA32 per-cpu:
>> [  532.942388] CPU    0: hi:  186, btch:  31 usd:  94
>> [  532.942391] CPU    1: hi:  186, btch:  31 usd:  23
>> [  532.942393] Normal per-cpu:
>> [  532.942395] CPU    0: hi:  186, btch:  31 usd: 150
>> [  532.942398] CPU    1: hi:  186, btch:  31 usd: 155
>> [  532.942404] active_anon:707575 inactive_anon:264673 isolated_anon:0
>> [  532.942406]  active_file:58 inactive_file:33 isolated_file:0
>>      
>
> file cache (active_file + inactive_file) was very little. It indicate anyone waste too much memory.
> I doubt you use buggy compiler.
>
>
>
>    
hmm... then this is something with firefox then..
In that case I'll continue to build my system with
this compiler.
Although a bit concerned building everything
for the system with a compiler that shows some
memory issue,but if you say its not the compiler,
then I'll carry on with what I'm doing.
(and use an older compiler for firefox).

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-02 21:29 cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0 Justin Mattock
  2009-11-02 21:49 ` Jiri Slaby
  2009-11-04  1:18 ` KOSAKI Motohiro
@ 2009-11-04  6:24 ` Andrew Morton
  2009-11-04  6:44   ` Justin P. Mattock
                     ` (2 more replies)
  2 siblings, 3 replies; 26+ messages in thread
From: Andrew Morton @ 2009-11-04  6:24 UTC (permalink / raw)
  To: Justin Mattock
  Cc: Linux Kernel Mailing List, gcc, KOSAKI Motohiro, David Rientjes

On Mon, 2 Nov 2009 13:29:29 -0800 Justin Mattock <justinmattock@gmail.com> wrote:

> Hello,
> I'm not sure how to handle this,
> while compiling firefox-3.6b1.source
> I get this with the default compiling options,
> as well as custom:
> 
> ...
>
> active_anon:2360492kB inactive_anon:590196kB active_file:84kB

2.8GB of anonymous memory

> [  532.942508] Free swap  = 0kB
> [  532.942510] Total swap = 431632kB

430MB of swap, all used up.

That's a genuine OOM.  Something (presumably cc1plus) has consumed
waaaay too much memory, quite possibly leaked it.

It would help if the oom-killer were to print some information about
the oom-killed process's memory footprint.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04  6:24 ` Andrew Morton
@ 2009-11-04  6:44   ` Justin P. Mattock
  2009-11-04  9:14     ` Jiri Slaby
  2009-11-04  9:32   ` KOSAKI Motohiro
  2009-11-04 13:13   ` Dave Korn
  2 siblings, 1 reply; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-04  6:44 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Kernel Mailing List, gcc, KOSAKI Motohiro, David Rientjes

Andrew Morton wrote:
> On Mon, 2 Nov 2009 13:29:29 -0800 Justin Mattock<justinmattock@gmail.com>  wrote:
>
>    
>> Hello,
>> I'm not sure how to handle this,
>> while compiling firefox-3.6b1.source
>> I get this with the default compiling options,
>> as well as custom:
>>
>> ...
>>
>> active_anon:2360492kB inactive_anon:590196kB active_file:84kB
>>      
>
> 2.8GB of anonymous memory
>
>    
figured it would be good enough
(I think I have 4gig's total)
>> [  532.942508] Free swap  = 0kB
>> [  532.942510] Total swap = 431632kB
>>      
>
> 430MB of swap, all used up.
>
>    
yep, narrow down to the smallest amount.
> That's a genuine OOM.  Something (presumably cc1plus) has consumed
> waaaay too much memory, quite possibly leaked it.
>
> It would help if the oom-killer were to print some information about
> the oom-killed process's memory footprint.
>
>
>    
I still have everything setup(if you need me to add a debug patch
let me know)
as for compiling: libc compiled fine, kernel fine,
and every package on the clfs list up to boot up the fresh system.
(was figuring out how to compiling/install firefox before
  I threw the old system away).

stable gcc(4.4*) on the macbook(same os/kernel) compiled fine
firefox, xulrunner, and in the process thunderbird...

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04  6:44   ` Justin P. Mattock
@ 2009-11-04  9:14     ` Jiri Slaby
  0 siblings, 0 replies; 26+ messages in thread
From: Jiri Slaby @ 2009-11-04  9:14 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

On 11/04/2009 07:44 AM, Justin P. Mattock wrote:
> as for compiling: libc compiled fine, kernel fine,
> and every package on the clfs list up to boot up the fresh system.

It might be pretty c++ only, I think.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04  6:24 ` Andrew Morton
  2009-11-04  6:44   ` Justin P. Mattock
@ 2009-11-04  9:32   ` KOSAKI Motohiro
  2009-11-04 15:28     ` Andrew Morton
  2009-11-04 13:13   ` Dave Korn
  2 siblings, 1 reply; 26+ messages in thread
From: KOSAKI Motohiro @ 2009-11-04  9:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: kosaki.motohiro, Justin Mattock, Linux Kernel Mailing List, gcc,
	David Rientjes

> On Mon, 2 Nov 2009 13:29:29 -0800 Justin Mattock <justinmattock@gmail.com> wrote:
> 
> > Hello,
> > I'm not sure how to handle this,
> > while compiling firefox-3.6b1.source
> > I get this with the default compiling options,
> > as well as custom:
> > 
> > ...
> >
> > active_anon:2360492kB inactive_anon:590196kB active_file:84kB
> 
> 2.8GB of anonymous memory
> 
> > [  532.942508] Free swap  = 0kB
> > [  532.942510] Total swap = 431632kB
> 
> 430MB of swap, all used up.
> 
> That's a genuine OOM.  Something (presumably cc1plus) has consumed
> waaaay too much memory, quite possibly leaked it.
> 
> It would help if the oom-killer were to print some information about
> the oom-killed process's memory footprint.
> 


How about this?

========
Subject: [PATCH] oom: show vsz and rss information of the killed process

In typical oom anylysis scenario, we frequently want to know the killed
process has memory leak or not at first step.
This patch add vsz and rss information to oom log for helping its
analysis. It save much times of debugging guys.

example:
===================================================================
rsyslogd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
Pid: 1308, comm: rsyslogd Not tainted 2.6.32-rc6 #24
Call Trace:
[<ffffffff8132e35b>] ?_spin_unlock+0x2b/0x40
[<ffffffff810f186e>] oom_kill_process+0xbe/0x2b0

(snip)

492283 pages non-shared
Out of memory: kill process 2341 (memhog) score 527276 or a child
Killed process 2341 (memhog) vsz:1054552kB, anon-rss:970588kB, file-rss:4kB
===========================================================================
                             ^
                             |
                            here

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
---
 mm/oom_kill.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index ea2147d..498e6f6 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -337,6 +337,8 @@ static void dump_tasks(const struct mem_cgroup *mem)
 	} while_each_thread(g, p);
 }
 
+#define K(x) ((x) << (PAGE_SHIFT-10))
+
 /*
  * Send SIGKILL to the selected  process irrespective of  CAP_SYS_RAW_IO
  * flag though it's unlikely that  we select a process with CAP_SYS_RAW_IO
@@ -356,9 +358,16 @@ static void __oom_kill_task(struct task_struct *p, int verbose)
 		return;
 	}
 
-	if (verbose)
-		printk(KERN_ERR "Killed process %d (%s)\n",
-				task_pid_nr(p), p->comm);
+	if (verbose) {
+		task_lock(p);
+		printk(KERN_ERR "Killed process %d (%s) "
+		       "vsz:%lukB, anon-rss:%lukB, file-rss:%lukB\n",
+		       task_pid_nr(p), p->comm,
+		       K(p->mm->total_vm),
+		       K(get_mm_counter(p->mm, anon_rss)),
+		       K(get_mm_counter(p->mm, file_rss)));
+		task_unlock(p);
+	}
 
 	/*
 	 * We give our sacrificial lamb high priority and access to
-- 
1.6.2.5




^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0,  oom_adj=0
  2009-11-04  6:24 ` Andrew Morton
  2009-11-04  6:44   ` Justin P. Mattock
  2009-11-04  9:32   ` KOSAKI Motohiro
@ 2009-11-04 13:13   ` Dave Korn
  2009-11-04 15:08     ` Justin P. Mattock
  2 siblings, 1 reply; 26+ messages in thread
From: Dave Korn @ 2009-11-04 13:13 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Justin Mattock, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

Andrew Morton wrote:
> On Mon, 2 Nov 2009 13:29:29 -0800 Justin Mattock <justinmattock@gmail.com> wrote:
> 
>> Hello,
>> I'm not sure how to handle this,
>> while compiling firefox-3.6b1.source
>> I get this with the default compiling options,
>> as well as custom:
>>
>> ...
>>
>> active_anon:2360492kB inactive_anon:590196kB active_file:84kB
> 
> 2.8GB of anonymous memory
> 
>> [  532.942508] Free swap  = 0kB
>> [  532.942510] Total swap = 431632kB
> 
> 430MB of swap, all used up.
> 
> That's a genuine OOM.  Something (presumably cc1plus) has consumed
> waaaay too much memory, quite possibly leaked it.
> 
> It would help if the oom-killer were to print some information about
> the oom-killed process's memory footprint.

  I would think that the quickest way to proceed would be to re-run the
failing compile command under gdb at the command-line and see what it's doing
when the oom killer signals it, wouldn't it?  Or turn up the swap until it
doesn't get killed and see what info can be gleaned from the cc1(plus?)
-fmem-report output.

    cheers,
      DaveK


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0,  oom_adj=0
  2009-11-04 13:13   ` Dave Korn
@ 2009-11-04 15:08     ` Justin P. Mattock
  2009-11-04 15:45       ` Dave Korn
  0 siblings, 1 reply; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-04 15:08 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

Dave Korn wrote:
> Andrew Morton wrote:
>    
>> On Mon, 2 Nov 2009 13:29:29 -0800 Justin Mattock<justinmattock@gmail.com>  wrote:
>>
>>      
>>> Hello,
>>> I'm not sure how to handle this,
>>> while compiling firefox-3.6b1.source
>>> I get this with the default compiling options,
>>> as well as custom:
>>>
>>> ...
>>>
>>> active_anon:2360492kB inactive_anon:590196kB active_file:84kB
>>>        
>> 2.8GB of anonymous memory
>>
>>      
>>> [  532.942508] Free swap  = 0kB
>>> [  532.942510] Total swap = 431632kB
>>>        
>> 430MB of swap, all used up.
>>
>> That's a genuine OOM.  Something (presumably cc1plus) has consumed
>> waaaay too much memory, quite possibly leaked it.
>>
>> It would help if the oom-killer were to print some information about
>> the oom-killed process's memory footprint.
>>      
>
>    I would think that the quickest way to proceed would be to re-run the
> failing compile command under gdb at the command-line and see what it's doing
> when the oom killer signals it, wouldn't it?  Or turn up the swap until it
> doesn't get killed and see what info can be gleaned from the cc1(plus?)
> -fmem-report output.
>
>      cheers,
>        DaveK
>
>
>    
I can try, only issue I have is I don't
use a distro, so building anything requires me
to hand compile it(hopefully not difficult for gdb).

So give me some time on this and I'll see if I can get this up
and running, and add that patch to kernel then go from there.

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04  9:32   ` KOSAKI Motohiro
@ 2009-11-04 15:28     ` Andrew Morton
  2009-11-04 23:20       ` KOSAKI Motohiro
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Morton @ 2009-11-04 15:28 UTC (permalink / raw)
  To: KOSAKI Motohiro
  Cc: Justin Mattock, Linux Kernel Mailing List, gcc, David Rientjes

On Wed,  4 Nov 2009 18:32:16 +0900 (JST) KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:

> > It would help if the oom-killer were to print some information about
> > the oom-killed process's memory footprint.
> > 
> 
> 
> How about this?

looks good, thanks.

> ========
> Subject: [PATCH] oom: show vsz and rss information of the killed process
> 
> In typical oom anylysis scenario, we frequently want to know the killed
> process has memory leak or not at first step.
> This patch add vsz and rss information to oom log for helping its
> analysis. It save much times of debugging guys.
> 
> example:
> ===================================================================
> rsyslogd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
> Pid: 1308, comm: rsyslogd Not tainted 2.6.32-rc6 #24
> Call Trace:
> [<ffffffff8132e35b>] ?_spin_unlock+0x2b/0x40
> [<ffffffff810f186e>] oom_kill_process+0xbe/0x2b0
> 
> (snip)
> 
> 492283 pages non-shared
> Out of memory: kill process 2341 (memhog) score 527276 or a child
> Killed process 2341 (memhog) vsz:1054552kB, anon-rss:970588kB, file-rss:4kB
> ===========================================================================
>                              ^
>                              |
>                             here
> ...
>
> +	if (verbose) {
> +		task_lock(p);

We need to be careful with which locks we take on the oom-killer path,
because it can be called by code which already holds locks.  But I
expect task_lock() will be OK.

> +		printk(KERN_ERR "Killed process %d (%s) "
> +		       "vsz:%lukB, anon-rss:%lukB, file-rss:%lukB\n",
> +		       task_pid_nr(p), p->comm,
> +		       K(p->mm->total_vm),
> +		       K(get_mm_counter(p->mm, anon_rss)),
> +		       K(get_mm_counter(p->mm, file_rss)));
> +		task_unlock(p);
> +	}


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0,  oom_adj=0
  2009-11-04 15:08     ` Justin P. Mattock
@ 2009-11-04 15:45       ` Dave Korn
  2009-11-04 16:39         ` Justin Mattock
  0 siblings, 1 reply; 26+ messages in thread
From: Dave Korn @ 2009-11-04 15:45 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Dave Korn, Andrew Morton, Linux Kernel Mailing List, gcc,
	KOSAKI Motohiro, David Rientjes

Justin P. Mattock wrote:

> I can try, only issue I have is I don't
> use a distro, so building anything requires me
> to hand compile it

  Oh, ouch!

> (hopefully not difficult for gdb).

  Indeed, hopefully not.

> So give me some time on this and I'll see if I can get this up
> and running, and add that patch to kernel then go from there.

  The one thing you can still try straight away for minimal effort is the
-fmem-report option, but it's also the least informative...

    cheers,
      DaveK


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04 15:45       ` Dave Korn
@ 2009-11-04 16:39         ` Justin Mattock
  2009-11-04 19:48           ` Dave Korn
  0 siblings, 1 reply; 26+ messages in thread
From: Justin Mattock @ 2009-11-04 16:39 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

On Wed, Nov 4, 2009 at 7:45 AM, Dave Korn
<dave.korn.cygwin@googlemail.com> wrote:
> Justin P. Mattock wrote:
>
>> I can try, only issue I have is I don't
>> use a distro, so building anything requires me
>> to hand compile it
>
>  Oh, ouch!
>

I know.. I'm a horror for optimization

>> (hopefully not difficult for gdb).
>
>  Indeed, hopefully not.
>

you never know, some packages big/small turn into brain surgery
just to get going.(I'll try after I do some morning exercises)

>> So give me some time on this and I'll see if I can get this up
>> and running, and add that patch to kernel then go from there.
>
>  The one thing you can still try straight away for minimal effort is the
> -fmem-report option, but it's also the least informative...
>
>    cheers,
>      DaveK
>
>

O.k. here is the info from dmesg(with the patch added)
and what -fmem-report:


[  205.931940] kjournald starting.  Commit interval 5 seconds
[  205.931957] EXT3-fs warning: maximal mount count reached, running
e2fsck is recommended
[  205.935509] EXT3 FS on sdb1, internal journal
[  205.935513] EXT3-fs: mounted filesystem with writeback data mode.
[  205.956396] SELinux: initialized (dev sdb1, type ext3), uses xattr
[  434.205304] __ratelimit: 75 callbacks suppressed
[  434.205308] wicd-monitor invoked oom-killer: gfp_mask=0x201da,
order=0, oom_adj=0
[  434.205313] Pid: 1563, comm: wicd-monitor Tainted: P
2.6.32-rc5-00081-g964fe08-dirty #36
[  434.205316] Call Trace:
[  434.205325]  [<ffffffff810bc1af>] oom_kill_process+0x7c/0x243
[  434.205330]  [<ffffffff810bc6e0>] __out_of_memory+0x146/0x15d
[  434.205335]  [<ffffffff810bc909>] out_of_memory+0x6e/0x9d
[  434.205339]  [<ffffffff810bf7c0>] __alloc_pages_nodemask+0x498/0x5ce
[  434.205345]  [<ffffffff810c10e8>] __do_page_cache_readahead+0xa0/0x1a1
[  434.205350]  [<ffffffff810c1436>] ra_submit+0x1c/0x20
[  434.205353]  [<ffffffff810ba620>] filemap_fault+0x1a6/0x346
[  434.205359]  [<ffffffff810cf388>] __do_fault+0x4f/0x3d9
[  434.205363]  [<ffffffff810eec2e>] ? do_sync_read+0xe3/0x120
[  434.205369]  [<ffffffff811a2571>] ? file_has_perm+0x90/0x9e
[  434.205373]  [<ffffffff810d1cf7>] handle_mm_fault+0x3ab/0x6a7
[  434.205379]  [<ffffffff813d44a3>] do_page_fault+0x2bb/0x2d3
[  434.205383]  [<ffffffff813d23a5>] page_fault+0x25/0x30
[  434.205386] Mem-Info:
[  434.205388] DMA per-cpu:
[  434.205391] CPU    0: hi:    0, btch:   1 usd:   0
[  434.205394] CPU    1: hi:    0, btch:   1 usd:   0
[  434.205396] DMA32 per-cpu:
[  434.205399] CPU    0: hi:  186, btch:  31 usd: 125
[  434.205401] CPU    1: hi:  186, btch:  31 usd: 105
[  434.205404] Normal per-cpu:
[  434.205406] CPU    0: hi:  186, btch:  31 usd: 172
[  434.205409] CPU    1: hi:  186, btch:  31 usd: 154
[  434.205416] active_anon:708764 inactive_anon:266208 isolated_anon:0
[  434.205417]  active_file:71 inactive_file:11 isolated_file:0
[  434.205419]  unevictable:0 dirty:0 writeback:0 unstable:0 buffer:74
[  434.205420]  free:6961 slab_reclaimable:2782 slab_unreclaimable:16224
[  434.205421]  mapped:65 shmem:35 pagetables:2861 bounce:0
[  434.205430] DMA free:15944kB min:28kB low:32kB high:40kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15360kB
mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
slab_reclaimable:0kB slab_unreclaimable:8kB kernel_stack:0kB
pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? yes
[  434.205438] lowmem_reserve[]: 0 2976 3986 3986
[  434.205449] DMA32 free:9976kB min:6020kB low:7524kB high:9028kB
active_anon:2360156kB inactive_anon:589924kB active_file:60kB
inactive_file:44kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:3047792kB mlocked:0kB dirty:0kB
writeback:0kB mapped:88kB shmem:4kB slab_reclaimable:148kB
slab_unreclaimable:316kB kernel_stack:40kB pagetables:5952kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:225
all_unreclaimable? yes
[  434.205457] lowmem_reserve[]: 0 0 1010 1010
[  434.205468] Normal free:1924kB min:2040kB low:2548kB high:3060kB
active_anon:474900kB inactive_anon:474908kB active_file:224kB
inactive_file:0kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:1034240kB mlocked:0kB dirty:0kB
writeback:0kB mapped:172kB shmem:136kB slab_reclaimable:10980kB
slab_unreclaimable:64572kB kernel_stack:824kB pagetables:5492kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:677
all_unreclaimable? yes
[  434.205476] lowmem_reserve[]: 0 0 0 0
[  434.205481] DMA: 2*4kB 2*8kB 3*16kB 2*32kB 3*64kB 2*128kB 2*256kB
1*512kB 2*1024kB 2*2048kB 2*4096kB = 15944kB
[  434.205493] DMA32: 2*4kB 14*8kB 16*16kB 10*32kB 3*64kB 1*128kB
1*256kB 1*512kB 2*1024kB 1*2048kB 1*4096kB = 9976kB
[  434.205505] Normal: 481*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB
0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1924kB
[  434.205516] 8029 total pagecache pages
[  434.205519] 7893 pages in swap cache
[  434.205521] Swap cache stats: add 112490, delete 104597, find 5058/5479
[  434.205524] Free swap  = 0kB
[  434.205526] Total swap = 431632kB
[  434.220125] 1048576 pages RAM
[  434.220127] 40493 pages reserved
[  434.220129] 170 pages shared
[  434.220131] 1000179 pages non-shared
[  434.220135] Out of memory: kill process 7925 (c++) score 539395 or a child
[  434.220141] Killed process 7926 (cc1plus) vsz:4280180kB,
anon-rss:3831924kB, file-rss:4kB
[  434.259045] cc1plus: page allocation failure. order:0, mode:0x280da
[  434.259051] Pid: 7926, comm: cc1plus Tainted: P
2.6.32-rc5-00081-g964fe08-dirty #36
[  434.259054] Call Trace:
[  434.259063]  [<ffffffff810bf874>] __alloc_pages_nodemask+0x54c/0x5ce
[  434.259070]  [<ffffffff810d1bc3>] handle_mm_fault+0x277/0x6a7
[  434.259076]  [<ffffffff813d44a3>] do_page_fault+0x2bb/0x2d3
[  434.259080]  [<ffffffff813d23a5>] page_fault+0x25/0x30
[  434.259083] Mem-Info:
[  434.259085] DMA per-cpu:
[  434.259088] CPU    0: hi:    0, btch:   1 usd:   0
[  434.259090] CPU    1: hi:    0, btch:   1 usd:   0
[  434.259092] DMA32 per-cpu:
[  434.259095] CPU    0: hi:  186, btch:  31 usd: 125
[  434.259098] CPU    1: hi:  186, btch:  31 usd: 105
[  434.259100] Normal per-cpu:
[  434.259103] CPU    0: hi:  186, btch:  31 usd: 172
[  434.259106] CPU    1: hi:  186, btch:  31 usd: 154
[  434.259113] active_anon:708764 inactive_anon:266208 isolated_anon:0
[  434.259115]  active_file:71 inactive_file:11 isolated_file:0
[  434.259116]  unevictable:0 dirty:0 writeback:0 unstable:0 buffer:74
[  434.259117]  free:6961 slab_reclaimable:2782 slab_unreclaimable:16224
[  434.259119]  mapped:65 shmem:35 pagetables:2861 bounce:0
[  434.259128] DMA free:15944kB min:28kB low:32kB high:40kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15360kB
mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
slab_reclaimable:0kB slab_unreclaimable:8kB kernel_stack:0kB
pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? yes
[  434.259135] lowmem_reserve[]: 0 2976 3986 3986
[  434.259147] DMA32 free:9976kB min:6020kB low:7524kB high:9028kB
active_anon:2360156kB inactive_anon:589924kB active_file:60kB
inactive_file:44kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:3047792kB mlocked:0kB dirty:0kB
writeback:0kB mapped:88kB shmem:4kB slab_reclaimable:148kB
slab_unreclaimable:316kB kernel_stack:40kB pagetables:5952kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:225
all_unreclaimable? yes
[  434.259154] lowmem_reserve[]: 0 0 1010 1010
[  434.259166] Normal free:1924kB min:2040kB low:2548kB high:3060kB
active_anon:474900kB inactive_anon:474908kB active_file:224kB
inactive_file:0kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:1034240kB mlocked:0kB dirty:0kB
writeback:0kB mapped:172kB shmem:136kB slab_reclaimable:10980kB
slab_unreclaimable:64572kB kernel_stack:824kB pagetables:5492kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:677
all_unreclaimable? yes
[  434.259173] lowmem_reserve[]: 0 0 0 0
[  434.259178] DMA: 2*4kB 2*8kB 3*16kB 2*32kB 3*64kB 2*128kB 2*256kB
1*512kB 2*1024kB 2*2048kB 2*4096kB = 15944kB
[  434.259190] DMA32: 2*4kB 14*8kB 16*16kB 10*32kB 3*64kB 1*128kB
1*256kB 1*512kB 2*1024kB 1*2048kB 1*4096kB = 9976kB
[  434.259202] Normal: 481*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB
0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1924kB
[  434.259214] 8029 total pagecache pages
[  434.259216] 7893 pages in swap cache
[  434.259219] Swap cache stats: add 112490, delete 104597, find 5058/5480
[  434.259221] Free swap  = 0kB
[  434.259223] Total swap = 431632kB
[  434.273830] 1048576 pages RAM
[  434.273832] 40493 pages reserved
[  434.273834] 170 pages shared
[  434.273836] 1000179 pages non-shared




/********** and -fmem-report **************/




Memory still allocated at the end of the compilation process
Size   Allocated        Used    Overhead
8             56k         43k       1680
16           196k         81k       4312
32           188k         40k       3384
64           336k        232k       5376
128          132k        128k       1848
512           28k         13k        392
1024          20k       9216         280
2048          16k       8192         224
4096         348k        348k       4872
8192          56k         56k        392
16384         16k         16k         56
32768         64k         64k        112
24           256k         53k       4608
40           256k        199k       4096
48           800k        579k         12k
56            92k       6608        1472
72            72k       5040        1008
80          8192        1440         112
88          8192         704         112
96           940k        580k         12k
112           80k         39k       1120
120           16k        840         224
192          192k        157k       2688
136          600k        580k       8400
160          200k        172k       2800
176          976k        795k         13k
152           84k         33k       1176
104          120k         28k       1680
256         1040k       1019k         14k
144         4096         144          56
Total       7200k       5293k        104k

String pool
entries         9928
identifiers     6178 (62.23%)
slots           16384
deleted         3726
bytes           86k (17592186044415M overhead)
table size      128k
coll/search     0.3177
ins/search      0.1518
avg. entry      8.92 bytes (+/- 9.51)
longest entry   112

??? tree nodes created

(No per-node statistics)
Type hash: size 4093, 2550 elements, 1.102267 collisions
DECL_DEBUG_EXPR  hash: size 1021, 0 elements, 0.015692 collisions
DECL_VALUE_EXPR  hash: size 1021, 0 elements, 0.000000 collisions
no search statistics
No gimple statistics

Alias oracle query stats:
  refs_may_alias_p: 11 disambiguations, 29 queries
  ref_maybe_used_by_call_p: 0 disambiguations, 62 queries
  call_may_clobber_ref_p: 0 disambiguations, 0 queries

PTA query stats:
  pt_solution_includes: 7 disambiguations, 166 queries
  pt_solutions_intersect: 0 disambiguations, 507 queries
jsxml.cpp
c++ -o jsxml.o -c  -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux
-DEXPORT_JS_API  -DJS_USE_SAFE_ARENA
-I/home/name/LFS/firefox/mozilla-1.9.2/js/src -I.
-I./../../dist/include -I./../../dist/include/nsprpub
-I/usr/include/nspr
-I/home/name/LFS/firefox/mozilla-1.9.2/js/src    -fPIC   -fno-rtti
-fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual
-Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align
-Wno-invalid-offsetof -Wno-variadic-macros -Wno-long-long
-pedantic -fno-strict-aliasing -pthread -pipe  -DNDEBUG -DTRIMMED -m64
-mtune=core2 -march=core2 -O2 -pipe -fmem-report
-fomit-frame-pointer   -DMOZILLA_CLIENT -include ./js-confdefs.h
-Wp,-MD,.deps/jsxml.pp
/home/name/LFS/firefox/mozilla-1.9.2/js/src/jsxml.cpp
{standard input}: Assembler messages:
{standard input}:271839: Warning: end of file not at end of a line;
newline inserted
{standard input}:271896: Error: suffix or operands invalid for `movq'
{standard input}:271896: Error: open CFI at the end of file; missing
.cfi_endproc directive
c++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [jsxml.o] Error 1
make[4]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/js/src'
make[3]: *** [libs_tier_js] Error 2
make[3]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[2]: *** [tier_js] Error 2
make[2]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[1]: *** [default] Error 2
make[1]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make: *** [build] Error 2




-- 
Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04 16:39         ` Justin Mattock
@ 2009-11-04 19:48           ` Dave Korn
  2009-11-04 20:39             ` Justin P. Mattock
  0 siblings, 1 reply; 26+ messages in thread
From: Dave Korn @ 2009-11-04 19:48 UTC (permalink / raw)
  To: Justin Mattock
  Cc: Dave Korn, Andrew Morton, Linux Kernel Mailing List, gcc,
	KOSAKI Motohiro, David Rientjes

Justin Mattock wrote:

> O.k. here is the info from dmesg(with the patch added)
> and what -fmem-report:

  I don't know how to read the oom dmesg, but as to the -fmem-report:

> Memory still allocated at the end of the compilation process
> Size   Allocated        Used    Overhead
> Total       7200k       5293k        104k

... what that's telling us is that there isn't a substantial leak in GCC, as
there's only 7 meg left unreclaimed by GC at the end.  I think we'll have to
wait and see what the debugger tells us; either GCC really is using that much
memory in processing the file, or there's some kind of system or kernel bug
you're running into that is causing a leak in the VMM rather than the application.

> String pool

> bytes           86k (17592186044415M overhead)

  0xFFFFFFFFFFF00000, lol, wut?  It's possible that indicates some sort of
memory corruption going on.  Maybe valgrind can help, do you have that?

    cheers,
      DaveK


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04 19:48           ` Dave Korn
@ 2009-11-04 20:39             ` Justin P. Mattock
  2009-11-04 21:22               ` Justin Mattock
  0 siblings, 1 reply; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-04 20:39 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

Dave Korn wrote:
> Justin Mattock wrote:
>
>    
>> O.k. here is the info from dmesg(with the patch added)
>> and what -fmem-report:
>>      
>
>    I don't know how to read the oom dmesg, but as to the -fmem-report:
>
>    
>> Memory still allocated at the end of the compilation process
>> Size   Allocated        Used    Overhead
>> Total       7200k       5293k        104k
>>      
>
> ... what that's telling us is that there isn't a substantial leak in GCC, as
> there's only 7 meg left unreclaimed by GC at the end.  I think we'll have to
> wait and see what the debugger tells us; either GCC really is using that much
> memory in processing the file, or there's some kind of system or kernel bug
> you're running into that is causing a leak in the VMM rather than the application.
>
>    
just finished compiling and installing gdb/valgrind
>> String pool
>>      
>
>    
>> bytes           86k (17592186044415M overhead)
>>      
>
>    0xFFFFFFFFFFF00000, lol, wut?  It's possible that indicates some sort of
> memory corruption going on.  Maybe valgrind can help, do you have that?
>
>      cheers,
>        DaveK
>
>
>    
Not sure how to use these.(need to read)
Any quick commands I can do to get the info
to you?

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04 20:39             ` Justin P. Mattock
@ 2009-11-04 21:22               ` Justin Mattock
  2009-11-05  0:36                 ` Dave Korn
  0 siblings, 1 reply; 26+ messages in thread
From: Justin Mattock @ 2009-11-04 21:22 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

here's what I did:
 valgrind --tool=memcheck --leak-check=full -v make -f client.mk build


e2 -march=core2 -O2 -pipe -fomit-frame-pointer   -DMOZILLA_CLIENT
-include ./js-confdefs.h -Wp,-MD,.deps/jsxml.pp
/home/justin/LFS/firefox/mozilla-1.9.2/js/src/jsxml.cpp
{standard input}: Assembler messages:
{standard input}:271839: Warning: end of file not at end of a line;
newline inserted
{standard input}:271896: Error: suffix or operands invalid for `movq'
{standard input}:271896: Error: open CFI at the end of file; missing
.cfi_endproc directive
c++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [jsxml.o] Error 1
make[4]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/js/src'
make[3]: *** [libs_tier_js] Error 2
make[3]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[2]: *** [tier_js] Error 2
make[2]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[1]: *** [default] Error 2
make[1]: Leaving directory
`/home/name/LFS/firefox/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make: *** [build] Error 2
==4072==
==4072== HEAP SUMMARY:
==4072==     in use at exit: 201,183 bytes in 4,237 blocks
==4072==   total heap usage: 28,879 allocs, 24,642 frees, 2,947,434
bytes allocated
==4072==
==4072== Searching for pointers to 4,237 not-freed blocks
==4072== Checked 268,808 bytes
==4072==
==4072== 6 bytes in 1 blocks are possibly lost in loss record 41 of 295
==4072==    at 0x4C2488A: malloc (vg_replace_malloc.c:195)
==4072==    by 0x50ABEE1: strdup (in /lib/libc-2.10.90.so)
==4072==    by 0x4118D8: xstrdup (in /usr/bin/make)
==4072==    by 0x41BAA4: define_variable_in_set (in /usr/bin/make)
==4072==    by 0x4160B4: eval (in /usr/bin/make)
==4072==    by 0x416766: eval_makefile (in /usr/bin/make)
==4072==    by 0x416A3F: read_all_makefiles (in /usr/bin/make)
==4072==    by 0x410853: main (in /usr/bin/make)
==4072==
==4072== 14 bytes in 1 blocks are possibly lost in loss record 69 of 295
==4072==    at 0x4C2488A: malloc (vg_replace_malloc.c:195)
==4072==    by 0x411977: xmalloc (in /usr/bin/make)
==4072==    by 0x411AA8: savestring (in /usr/bin/make)
==4072==    by 0x41BB7A: define_variable_in_set (in /usr/bin/make)
==4072==    by 0x410832: main (in /usr/bin/make)
==4072==
==4072== LEAK SUMMARY:
==4072==    definitely lost: 0 bytes in 0 blocks
==4072==    indirectly lost: 0 bytes in 0 blocks
==4072==      possibly lost: 20 bytes in 2 blocks
==4072==    still reachable: 201,163 bytes in 4,235 blocks
==4072==         suppressed: 0 bytes in 0 blocks
==4072== Reachable blocks (those to which a pointer was found) are not shown.
==4072== To see them, rerun with: --leak-check=full --show-reachable=yes
==4072==
==4072== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 5 from 5)
--4072--
--4072-- used_suppression:      2 dl-hack3-cond-1
--4072-- used_suppression:      3 glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
==4072==
==4072== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 5 from 5)

I'll try out gdb, and more of valgrind.

-- 
Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04 15:28     ` Andrew Morton
@ 2009-11-04 23:20       ` KOSAKI Motohiro
  0 siblings, 0 replies; 26+ messages in thread
From: KOSAKI Motohiro @ 2009-11-04 23:20 UTC (permalink / raw)
  To: Andrew Morton
  Cc: kosaki.motohiro, Justin Mattock, Linux Kernel Mailing List, gcc,
	David Rientjes

> > +	if (verbose) {
> > +		task_lock(p);
> 
> We need to be careful with which locks we take on the oom-killer path,
> because it can be called by code which already holds locks.  But I
> expect task_lock() will be OK.

Sure.
task_lock() is already used various oom path. I think this is ok.




^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-04 21:22               ` Justin Mattock
@ 2009-11-05  0:36                 ` Dave Korn
  2009-11-05  3:36                   ` Justin Mattock
  0 siblings, 1 reply; 26+ messages in thread
From: Dave Korn @ 2009-11-05  0:36 UTC (permalink / raw)
  To: Justin Mattock
  Cc: Dave Korn, Andrew Morton, Linux Kernel Mailing List, gcc,
	KOSAKI Motohiro, David Rientjes

Justin Mattock wrote:
> here's what I did:
>  valgrind --tool=memcheck --leak-check=full -v make -f client.mk build

> ==4072== LEAK SUMMARY:

> I'll try out gdb, and more of valgrind.

  Yep, that doesn't tell us a lot in its default modes.  I'm not a valgrind
expert but it looks from the docs like you want to try the Massif tool: it
looks really thorough.

http://valgrind.org/docs/manual/ms-manual.html

    cheers,
      DaveK



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-05  0:36                 ` Dave Korn
@ 2009-11-05  3:36                   ` Justin Mattock
  2009-11-05  5:08                     ` Dave Korn
  0 siblings, 1 reply; 26+ messages in thread
From: Justin Mattock @ 2009-11-05  3:36 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

On Wed, Nov 4, 2009 at 4:36 PM, Dave Korn
<dave.korn.cygwin@googlemail.com> wrote:
> Justin Mattock wrote:
>> here's what I did:
>>  valgrind --tool=memcheck --leak-check=full -v make -f client.mk build
>
>> ==4072== LEAK SUMMARY:
>
>> I'll try out gdb, and more of valgrind.
>
>  Yep, that doesn't tell us a lot in its default modes.  I'm not a valgrind
> expert but it looks from the docs like you want to try the Massif tool: it
> looks really thorough.
>
> http://valgrind.org/docs/manual/ms-manual.html
>
>    cheers,
>      DaveK
>
>
>

o.k. round2 I can try gdb(now that I have somewhat of an idea of
how to use one of these tools).

in the meanwhile hopefully this is useful(if not just clip, and I'll try
to gather something useful)


using this for valgrind and the command(below in log)
valgrind -v --tool=memcheck --leak-check=yes --num-callers=10
--leak-check=full --show-reachable=yes --gen-suppressions=yes
(log of valgrind is a bit long, so here's just a few of what
suppresions printed out:)

==1830== Memcheck, a memory error detector
==1830== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==1830== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==1830== Command: c++ -o jsxml.o -c -DOSTYPE="Linux2.6" -DOSARCH=Linux
-DEXPORT_JS_API -DJS_USE_SAFE_ARENA
-I/home/justin/LFS/firefox/mozilla-1.9.2/js/src -I.
-I./../../dist/include -I./../../dist/include/nsprpub
-I/usr/include/nspr -I/home/justin/LFS/firefox/mozilla-1.9.2/js/src
-fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof
-Wno-variadic-macros -Wno-long-long -pedantic -fno-strict-aliasing
-pthread -pipe -DNDEBUG -DTRIMMED -m64 -mtune=core2 -march=core2 -O2
-pipe -fomit-frame-pointer -DMOZILLA_CLIENT -include ./js-confdefs.h
-Wp,-MD,.deps/jsxml.pp
/home/justin/LFS/firefox/mozilla-1.9.2/js/src/jsxml.cpp
==1830==
--1830-- Valgrind options:
--1830--    -v
--1830--    --tool=memcheck
--1830--    --leak-check=yes
--1830--    --num-callers=10
--1830--    --leak-check=full
--1830--    --show-reachable=yes
--1830--    --gen-suppressions=yes
--1830-- Contents of /proc/version:
--1830--   Linux version 2.6.32-rc5-00083-g04ea458 (justin@Linux-0)
(gcc version 4.4.1 (GCC for Cross-LFS 4.4.1.20090722) ) #2 SMP Sat Oct
24 21:38:54 PDT 2009
--1830-- Arch and hwcaps: AMD64, amd64-sse3-cx16
--1830-- Page sizes: currently 4096, max supported 4096
--1830-- Valgrind library directory: /usr/lib/valgrind
--1830-- Reading syms from /usr/bin/c++ (0x400000)
--1830-- Reading syms from /lib/ld-2.10.90.so (0x4000000)
--1830-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux (0x38000000)
--1830--    object doesn't have a dynamic symbol table
--1830-- Reading suppressions file: /usr/lib/valgrind/default.supp
--1830-- REDIR: 0x4016110 (strlen) redirected to 0x38040607
(vgPlain_amd64_linux_REDIR_FOR_strlen)
--1830-- Reading syms from
/usr/lib/valgrind/vgpreload_core-amd64-linux.so (0x4a20000)
--1830-- Reading syms from
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so (0x4c21000)
==1830== WARNING: new redirection conflicts with existing -- ignoring it
--1830--     new: 0x04016110 (strlen              ) R-> 0x04c24fd0 strlen
--1830-- REDIR: 0x4015f30 (index) redirected to 0x4c24d50 (index)
--1830-- REDIR: 0x40160e0 (strcmp) redirected to 0x4c252e0 (strcmp)
--1830-- Reading syms from /lib/libc-2.10.90.so (0x4e28000)
--1830-- REDIR: 0x4ea4c40 (rindex) redirected to 0x4c24bb0 (rindex)
--1830-- REDIR: 0x4e9e010 (malloc) redirected to 0x4c24808 (malloc)
--1830-- REDIR: 0x4ea3330 (strncmp) redirected to 0x4c25210 (strncmp)
--1830-- REDIR: 0x4ea7670 (memcpy) redirected to 0x4c253e0 (memcpy)
--1830-- REDIR: 0x4e9df30 (free) redirected to 0x4c23b44 (free)
--1830-- REDIR: 0x4ea17d0 (strcmp) redirected to 0x4c25280 (strcmp)
--1830-- REDIR: 0x4ea3170 (strlen) redirected to 0x4c24f90 (strlen)
--1830-- REDIR: 0x4ea1750 (index) redirected to 0x4c24c50 (index)
--1830-- REDIR: 0x4ea9da0 (strchrnul) redirected to 0x4c25ff0 (strchrnul)
--1830-- REDIR: 0x4ea6d30 (mempcpy) redirected to 0x4c260e0 (mempcpy)
--1830-- REDIR: 0x4ea5bc0 (memchr) redirected to 0x4c253a0 (memchr)
--1830-- REDIR: 0x4e9f060 (realloc) redirected to 0x4c248b9 (realloc)
--1830-- REDIR: 0x4ea31c0 (strnlen) redirected to 0x4c24f60 (strnlen)
--1830-- REDIR: 0x4ea7360 (stpcpy) redirected to 0x4c25c10 (stpcpy)
--1830-- REDIR: 0x4ea2c20 (strcpy) redirected to 0x4c24ff0 (strcpy)
--1830-- REDIR: 0x4ea9d50 (rawmemchr) redirected to 0x4c26020 (rawmemchr)
--1830-- REDIR: 0x4e9d5d0 (calloc) redirected to 0x4c2322c (calloc)
--1830-- REDIR: 0x4ea4b80 (strncpy) redirected to 0x4c250c0 (strncpy)
--1830-- REDIR: 0x4ea1590 (strcat) redirected to 0x4c24d90 (strcat)
--1830-- REDIR: 0x4e5bf40 (putenv) redirected to 0x4c263d0 (putenv)
{standard input}: Assembler messages:
{standard input}:271839: Warning: end of file not at end of a line;
newline inserted
{standard input}:271896: Error: suffix or operands invalid for `movq'
{standard input}:271896: Error: open CFI at the end of file; missing
.cfi_endproc directive
c++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
==1830==
==1830== HEAP SUMMARY:
==1830==     in use at exit: 25,444 bytes in 75 blocks
==1830==   total heap usage: 212 allocs, 137 frees, 36,791 bytes allocated
==1830==
==1830== Searching for pointers to 75 not-freed blocks
==1830== Checked 74,760 bytes
==1830==
==1830== 1 bytes in 1 blocks are still reachable in loss record 1 of 59
==1830==    at 0x4C232DA: calloc (vg_replace_malloc.c:418)
==1830==    by 0x41BE49: xcalloc (xmalloc.c:162)
==1830==    by 0x40F5D6: main (gcc.c:7270)
==1830==
==1830==
==1830== ---- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- y
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   fun:calloc
   fun:xcalloc
   fun:main
}
==1830== 4 bytes in 1 blocks are still reachable in loss record 2 of 59
==1830==    at 0x4C2488A: malloc (vg_replace_malloc.c:195)
==1830==    by 0x41BDF7: xmalloc (xmalloc.c:147)
==1830==    by 0x402255: save_string (gcc.c:7660)
==1830==    by 0x4034ED: add_preprocessor_option (gcc.c:3447)
==1830==    by 0x408A06: process_command (gcc.c:3943)
==1830==    by 0x40DE6F: main (gcc.c:6871)
==1830==
==1830==
==1830== ---- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- y
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   fun:malloc
   fun:xmalloc
   fun:save_string
   fun:add_preprocessor_option
   fun:process_command
   fun:main
}
==1830== 6 bytes in 1 blocks are still reachable in loss record 3 of 59
==1830==    at 0x4C2488A: malloc (vg_replace_malloc.c:195)
==1830==    by 0x41BDF7: xmalloc (xmalloc.c:147)
==1830==    by 0x41BF11: xstrdup (xstrdup.c:34)
==1830==    by 0x411F75: update_path (prefix.c:273)
==1830==    by 0x403631: add_prefix (gcc.c:2871)
==1830==    by 0x40E1CF: main (gcc.c:7043)
==1830==
==1830==
==1830== ---- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- y
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   fun:malloc
   fun:xmalloc
   fun:xstrdup
   fun:update_path
   fun:add_prefix
   fun:main
}
==1830== 7 bytes in 1 blocks are still reachable in loss record 4 of 59
==1830==    at 0x4C2488A: malloc (vg_replace_malloc.c:195)
==1830==    by 0x41BDF7: xmalloc (xmalloc.c:147)
==1830==    by 0x40E64E: main (gcc.c:8236)
==1830==
==1830==
==1830== ---- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- y
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   fun:malloc
   fun:xmalloc
   fun:main
}


all I have to do is go into the directory
obj-x86_64-unknown-linux-gnu/js/src/
of mozillas source tree and use valgrind c++ ***
(I'll see what gdb does)

-- 
Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-05  3:36                   ` Justin Mattock
@ 2009-11-05  5:08                     ` Dave Korn
  2009-11-06 21:21                       ` Justin P. Mattock
  2009-11-10  2:55                       ` Justin P. Mattock
  0 siblings, 2 replies; 26+ messages in thread
From: Dave Korn @ 2009-11-05  5:08 UTC (permalink / raw)
  To: Justin Mattock
  Cc: Dave Korn, Andrew Morton, Linux Kernel Mailing List, gcc,
	KOSAKI Motohiro, David Rientjes

Justin Mattock wrote:


> ==1830== Command: c++ -o jsxml.o -c -DOSTYPE="Linux2.6" -DOSARCH=Linux

  Ah, you're running it on the "c++" utility and it's reporting the stats for
that, but how it works is that "c++" (and "gcc", "g++", et al) is just a
driver, that parses the command line arguments and shells out to the actual
compiler ("cc1plus"), assembler and linker to get them to do all the work.

  If you add "-v --save-temps" to the c++ invocation, it'll show you the
separate command lines it executes for the subprograms; the first invocation
will be of cc1plus, using the -E flag to generate the preprocessed source into
a .ii file, it's the second invocation you want, the one which uses the
"-fpreprocessed" flag and names the .ii file as input, which is the one that
actually then compiles the pre-processed source into assembly.  For fuller
explanation, see the GCC wiki:

http://gcc.gnu.org/wiki/DebuggingGCC

    cheers,
      DaveK



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-05  5:08                     ` Dave Korn
@ 2009-11-06 21:21                       ` Justin P. Mattock
  2009-11-10  2:55                       ` Justin P. Mattock
  1 sibling, 0 replies; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-06 21:21 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

Dave Korn wrote:
> Justin Mattock wrote:
>
>
>    
>> ==1830== Command: c++ -o jsxml.o -c -DOSTYPE="Linux2.6" -DOSARCH=Linux
>>      
>
>    Ah, you're running it on the "c++" utility and it's reporting the stats for
> that, but how it works is that "c++" (and "gcc", "g++", et al) is just a
> driver, that parses the command line arguments and shells out to the actual
> compiler ("cc1plus"), assembler and linker to get them to do all the work.
>
>    If you add "-v --save-temps" to the c++ invocation, it'll show you the
> separate command lines it executes for the subprograms; the first invocation
> will be of cc1plus, using the -E flag to generate the preprocessed source into
> a .ii file, it's the second invocation you want, the one which uses the
> "-fpreprocessed" flag and names the .ii file as input, which is the one that
> actually then compiles the pre-processed source into assembly.  For fuller
> explanation, see the GCC wiki:
>
> http://gcc.gnu.org/wiki/DebuggingGCC
>
>      cheers,
>        DaveK
>
>
>
>    
o.k. after some reading and some experimenting,
I finally got firefox to compile all the way without a
memory leak..
here's what I found:
using the default .mozconfig I see during compiling there
is a -O3 in the CFLAGS(mozilla default optimization)
When using my optimization I use -O2
by mistake I accidentally forgot to add the -O2 while
tweaking my .mozconfig for a right CFLAGS to use for
debugging, in doing so firefox compiled all the way.

So using a custom CFLAGS in mozconfig and leaving out
-O* works..

Any ideas what might be happening here?

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0
  2009-11-05  5:08                     ` Dave Korn
  2009-11-06 21:21                       ` Justin P. Mattock
@ 2009-11-10  2:55                       ` Justin P. Mattock
  1 sibling, 0 replies; 26+ messages in thread
From: Justin P. Mattock @ 2009-11-10  2:55 UTC (permalink / raw)
  To: Dave Korn
  Cc: Andrew Morton, Linux Kernel Mailing List, gcc, KOSAKI Motohiro,
	David Rientjes

Dave Korn wrote:
> Justin Mattock wrote:
>
>
>    
>> ==1830== Command: c++ -o jsxml.o -c -DOSTYPE="Linux2.6" -DOSARCH=Linux
>>      
>
>    Ah, you're running it on the "c++" utility and it's reporting the stats for
> that, but how it works is that "c++" (and "gcc", "g++", et al) is just a
> driver, that parses the command line arguments and shells out to the actual
> compiler ("cc1plus"), assembler and linker to get them to do all the work.
>
>    If you add "-v --save-temps" to the c++ invocation, it'll show you the
> separate command lines it executes for the subprograms; the first invocation
> will be of cc1plus, using the -E flag to generate the preprocessed source into
> a .ii file, it's the second invocation you want, the one which uses the
> "-fpreprocessed" flag and names the .ii file as input, which is the one that
> actually then compiles the pre-processed source into assembly.  For fuller
> explanation, see the GCC wiki:
>
> http://gcc.gnu.org/wiki/DebuggingGCC
>
>      cheers,
>        DaveK
>
>
>
>    
I didn't think at the time, but when compiling
4.5.*(snapshot) I added the pure64 patch to
gcc, everything seemed to go fine, but maybe
there needs to be more to it.

would this might cause an issue(memory leak or something)
like what I was receiving even though there's a symlink
to lib64?

BTW: I just cleared the deck and started fresh,
compiled gcc+pure64 patch(snapshot) into a single directory,
and then looked at ldd /usr/bin/gcc*
I see it pointing to /lib64(looking on my other system with
4.4.1 it points to /lib)

Justin P. Mattock

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2009-11-10  2:55 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-02 21:29 cc1plus invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0 Justin Mattock
2009-11-02 21:49 ` Jiri Slaby
2009-11-02 22:02   ` Justin Mattock
2009-11-02 22:05     ` Jiri Slaby
2009-11-02 22:12       ` Justin P. Mattock
2009-11-03  0:56       ` Justin P. Mattock
2009-11-04  1:18 ` KOSAKI Motohiro
2009-11-04  1:40   ` Justin P. Mattock
2009-11-04  6:24 ` Andrew Morton
2009-11-04  6:44   ` Justin P. Mattock
2009-11-04  9:14     ` Jiri Slaby
2009-11-04  9:32   ` KOSAKI Motohiro
2009-11-04 15:28     ` Andrew Morton
2009-11-04 23:20       ` KOSAKI Motohiro
2009-11-04 13:13   ` Dave Korn
2009-11-04 15:08     ` Justin P. Mattock
2009-11-04 15:45       ` Dave Korn
2009-11-04 16:39         ` Justin Mattock
2009-11-04 19:48           ` Dave Korn
2009-11-04 20:39             ` Justin P. Mattock
2009-11-04 21:22               ` Justin Mattock
2009-11-05  0:36                 ` Dave Korn
2009-11-05  3:36                   ` Justin Mattock
2009-11-05  5:08                     ` Dave Korn
2009-11-06 21:21                       ` Justin P. Mattock
2009-11-10  2:55                       ` Justin P. Mattock

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.