Bug 36294

Summary: gcc exited and told me to report a bug (details follow)
Product: gcc Reporter: paul beard <paulbeard>
Component: middle-endAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: fang, gcc-bugs, paulbeard
Priority: P3 Keywords: compile-time-hog, memory-hog
Version: 4.2.1   
Target Milestone: ---   
Host: Target: i386-undermydesk-freebsd
Build: Known to work:
Known to fail: Last reconfirmed: 2012-02-02 00:00:00
Attachments: gtk.i file

Description paul beard 2008-05-22 00:23:59 UTC
I didn't know how to summarize this to one line. 

[root@stinky /usr/ports/x11-toolkits/py-gtk2/work/pygtk-2.12.1/gtk]# gcc -v -save-temps -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/python2.5 -I/usr/local/include/pygtk-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I./gtk -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include/pycairo -I/usr/local/include/cairo -I/usr/local/include/freetype2 -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/freetype2 -O2 -fno-strict-aliasing -pipe -Wall -std=c9x -MT _gtk_la-gtk.lo -MD -MP -MF .deps/_gtk_la-gtk.Tpo -c gtk.c  -fPIC -DPIC -o .libs/_gtk_la-gtk.o
gcc: warning: -pipe ignored because -save-temps specified
Using built-in specs.
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 4.2.1 20070719  [FreeBSD]
 /usr/libexec/cc1 -E -quiet -v -I. -I. -I.. -I/usr/local/include/python2.5 -I/usr/local/include/pygtk-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I./gtk -I/usr/local/include -I/usr/local/include/pycairo -I/usr/local/include/cairo -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/freetype2 -MD .libs/_gtk_la-gtk.d -MF .deps/_gtk_la-gtk.Tpo -MP -MT _gtk_la-gtk.lo -MQ .libs/_gtk_la-gtk.o -D_LONGLONG -DHAVE_CONFIG_H -D_THREAD_SAFE -D_THREAD_SAFE -DPIC gtk.c -std=c9x -Wall -fno-strict-aliasing -fPIC -O2 -fpch-preprocess -o gtk.i
ignoring duplicate directory "/usr/include"
ignoring duplicate directory "."
ignoring nonexistent directory "/usr/local/lib/glib-2.0/include"
ignoring nonexistent directory "./gtk"
ignoring duplicate directory "/usr/local/include"
ignoring nonexistent directory "/usr/local/lib/gtk-2.0/include"
ignoring duplicate directory "/usr/local/include/cairo"
ignoring duplicate directory "/usr/local/include"
ignoring duplicate directory "/usr/local/include/glib-2.0"
ignoring nonexistent directory "/usr/local/lib/glib-2.0/include"
ignoring duplicate directory "/usr/local/include/freetype2"
#include "..." search starts here:
#include <...> search starts here:
 .
 ..
 /usr/local/include/python2.5
 /usr/local/include/pygtk-2.0
 /usr/local/include/glib-2.0
 /usr/local/include
 /usr/local/include/pycairo
 /usr/local/include/cairo
 /usr/local/include/freetype2
 /usr/local/include/gtk-2.0
 /usr/local/include/atk-1.0
 /usr/local/include/pango-1.0
 /usr/include
End of search list.
 /usr/libexec/cc1 -fpreprocessed gtk.i -quiet -dumpbase gtk.c -auxbase-strip .libs/_gtk_la-gtk.o -O2 -Wall -std=c9x -version -fno-strict-aliasing -fPIC -o gtk.s
GNU C version 4.2.1 20070719  [FreeBSD] (i386-undermydesk-freebsd)
        compiled by GNU C version 4.2.1 20070719  [FreeBSD].
GGC heuristics: --param ggc-min-expand=37 --param ggc-min-heapsize=14772
Compiler executable checksum: fb6ee02eabe3be1db3bcacb25d6b70a5
./gtk.override: In function 'pygtk_main_watch_prepare':
./gtk.override:1071: warning: unused variable 'real_source'

at this point, it just seems to hang around. top shows the process thusly: 

60123 root             1 -20    0   116M 65652K swread   1:10  0.00% cc1
Comment 1 paul beard 2008-05-22 03:06:06 UTC
Here is a more complete report: 

gcc -v -save-temps -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/python2.5 -I/usr/local/include/pygtk-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I./gtk -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include/pycairo -I/usr/local/include/cairo -I/usr/local/include/freetype2 -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/freetype2 -O2 -fno-strict-aliasing -pipe -Wall -std=c9x -MT _gtk_la-gtk.lo -MD -MP -MF .deps/_gtk_la-gtk.Tpo -c gtk.c -fPIC -DPIC -o .libs/_gtk_la-gtk.o 2>&1 | tee build.log
[root@stinky /usr/ports/x11-toolkits/py-gtk2/work/pygtk-2.12.1/gtk]# view build.log 

gcc: warning: -pipe ignored because -save-temps specified
Using built-in specs.
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 4.2.1 20070719  [FreeBSD]
 /usr/libexec/cc1 -E -quiet -v -I. -I. -I.. -I/usr/local/include/python2.5 -I/us
r/local/include/pygtk-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.
0/include -I./gtk -I/usr/local/include -I/usr/local/include/pycairo -I/usr/local
/include/cairo -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/
include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I
/usr/local/include/cairo -I/usr/local/include/pango-1.0 -I/usr/local/include -I/
usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/includ
e/freetype2 -MD .libs/_gtk_la-gtk.d -MF .deps/_gtk_la-gtk.Tpo -MP -MT _gtk_la-gt
k.lo -MQ .libs/_gtk_la-gtk.o -D_LONGLONG -DHAVE_CONFIG_H -D_THREAD_SAFE -D_THREA
D_SAFE -DPIC gtk.c -std=c9x -Wall -fno-strict-aliasing -fPIC -O2 -fpch-preproces
s -o gtk.i
ignoring duplicate directory "/usr/include"
ignoring duplicate directory "."
ignoring nonexistent directory "/usr/local/lib/glib-2.0/include"
ignoring nonexistent directory "./gtk"
ignoring duplicate directory "/usr/local/include"
ignoring nonexistent directory "/usr/local/lib/gtk-2.0/include"
ignoring duplicate directory "/usr/local/include/cairo"
ignoring duplicate directory "/usr/local/include"
ignoring duplicate directory "/usr/local/include/glib-2.0"
ignoring nonexistent directory "/usr/local/lib/glib-2.0/include"
ignoring duplicate directory "/usr/local/include/freetype2"
#include "..." search starts here:
#include <...> search starts here:
 .
 ..
 /usr/local/include/python2.5
 /usr/local/include/pygtk-2.0
 /usr/local/include/glib-2.0
 /usr/local/include
 /usr/local/include/pycairo
 /usr/local/include/cairo
 /usr/local/include/freetype2
 /usr/local/include/gtk-2.0
 /usr/local/include/atk-1.0
 /usr/local/include/pango-1.0
 /usr/include
End of search list.
 /usr/libexec/cc1 -fpreprocessed gtk.i -quiet -dumpbase gtk.c -auxbase-strip .li
bs/_gtk_la-gtk.o -O2 -Wall -std=c9x -version -fno-strict-aliasing -fPIC -o gtk.s
GNU C version 4.2.1 20070719  [FreeBSD] (i386-undermydesk-freebsd)
        compiled by GNU C version 4.2.1 20070719  [FreeBSD].
GGC heuristics: --param ggc-min-expand=37 --param ggc-min-heapsize=14772
Compiler executable checksum: fb6ee02eabe3be1db3bcacb25d6b70a5
./gtk.override: In function 'pygtk_main_watch_prepare':
./gtk.override:1071: warning: unused variable 'real_source'
gcc: Internal error: Killed: 9 (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Comment 2 Richard Biener 2008-05-22 10:17:20 UTC
Please attach the gtk.i file.
Comment 3 paul beard 2008-05-22 14:31:29 UTC
Created attachment 15670 [details]
gtk.i file
Comment 4 Andrew Pinski 2008-05-22 20:02:00 UTC
GCC is running out of memory.
Comment 5 paul beard 2008-05-22 23:18:27 UTC
<em>GCC is running out of memory.</em>

Oh. I'll add a swapfile and see how that goes. 
Comment 6 paul beard 2008-05-24 20:16:46 UTC
(In reply to comment #5)
> <em>GCC is running out of memory.</em>
> 
> Oh. I'll add a swapfile and see how that goes. 
> 

It still just grinds until I kill the process. I have since worked around this problem by installing the package, rather than building from source: I will leave the same information over the GNOME bugtracker. If I can provide any other information, let me know. 
Comment 7 Andrew Pinski 2012-02-02 18:45:03 UTC
I have not tested with a release checking enabled compiler but with checking enabled it takes about a minute to compile at -O2 and takes around 210Megs.

So confirmed.
Comment 8 Richard Biener 2024-02-20 12:55:13 UTC
GCC 14 takes around 380MB and 14s for me.  Nothing sticks out in particular with respect to profile nor memory.  The GCC 4.2.1 binary I have around uses 482MB and 18s with PTA using 46% of the compile-time.

I can't say 380MB is much better than 482MB but at least we didn't regress
and it's now 15 years later and we don't consider 380MB excessive.

I'd still say fixed now, the testcase itself isn't particularly interesting.