public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/29433]  New: Internal error while compiling code using boost::MPL
@ 2006-10-11 19:05 grayyoga at gmail dot com
  2006-10-11 19:10 ` [Bug c++/29433] " grayyoga at gmail dot com
                   ` (23 more replies)
  0 siblings, 24 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-11 19:05 UTC (permalink / raw)
  To: gcc-bugs

Here is a code which doesn't compile. It takes all swap space (around 2GB) and
all system memory(about 1GB), compiles around 15-20 minutes and then crashes
with the following message : "g++: Internal error: Killed (program cc1plus)"


-- 
           Summary: Internal error while compiling code using boost::MPL
           Product: gcc
           Version: 4.0.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: grayyoga at gmail dot com
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] Internal error while compiling code using boost::MPL
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
@ 2006-10-11 19:10 ` grayyoga at gmail dot com
  2006-10-11 19:13 ` grayyoga at gmail dot com
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-11 19:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from grayyoga at gmail dot com  2006-10-11 19:10 -------
Created an attachment (id=12409)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12409&action=view)
preprocessed source file

This is output of the compiler with the -save-temps switch. It's compressed
'cause there is a 1 MB limit on the attachement size. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] Internal error while compiling code using boost::MPL
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
  2006-10-11 19:10 ` [Bug c++/29433] " grayyoga at gmail dot com
@ 2006-10-11 19:13 ` grayyoga at gmail dot com
  2006-10-11 19:14 ` grayyoga at gmail dot com
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-11 19:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from grayyoga at gmail dot com  2006-10-11 19:13 -------
Created an attachment (id=12410)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12410&action=view)
gcc -V output

version and configuration information on the used gcc.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] Internal error while compiling code using boost::MPL
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
  2006-10-11 19:10 ` [Bug c++/29433] " grayyoga at gmail dot com
  2006-10-11 19:13 ` grayyoga at gmail dot com
@ 2006-10-11 19:14 ` grayyoga at gmail dot com
  2006-10-11 19:36 ` pinskia at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-11 19:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from grayyoga at gmail dot com  2006-10-11 19:14 -------
Created an attachment (id=12411)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12411&action=view)
Command Line and Error Message


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] Internal error while compiling code using boost::MPL
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (2 preceding siblings ...)
  2006-10-11 19:14 ` grayyoga at gmail dot com
@ 2006-10-11 19:36 ` pinskia at gcc dot gnu dot org
  2006-10-11 21:56 ` [Bug c++/29433] using boost::MPL requires lots of memory rguenth at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-11 19:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-10-11 19:36 -------
This takes 79% of my 2GB of memory.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (3 preceding siblings ...)
  2006-10-11 19:36 ` pinskia at gcc dot gnu dot org
@ 2006-10-11 21:56 ` rguenth at gcc dot gnu dot org
  2006-10-12  8:20 ` rguenth at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-11 21:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from rguenth at gcc dot gnu dot org  2006-10-11 21:56 -------
Confirmed.  Uses a lot of memory.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |memory-hog
      Known to fail|                            |4.0.4 4.1.2
   Last reconfirmed|0000-00-00 00:00:00         |2006-10-11 21:56:21
               date|                            |
            Summary|Internal error while        |using boost::MPL requires
                   |compiling code using        |lots of memory
                   |boost::MPL                  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (4 preceding siblings ...)
  2006-10-11 21:56 ` [Bug c++/29433] using boost::MPL requires lots of memory rguenth at gcc dot gnu dot org
@ 2006-10-12  8:20 ` rguenth at gcc dot gnu dot org
  2006-10-12  9:52 ` grayyoga at gmail dot com
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-12  8:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2006-10-12 08:20 -------
Execution times (seconds)
 garbage collection    :   0.88 ( 1%) usr   0.00 ( 0%) sys   0.87 ( 1%) wall   
   0 kB ( 0%) ggc
 preprocessing         :   0.10 ( 0%) usr   0.04 ( 1%) sys   0.22 ( 0%) wall   
 796 kB ( 0%) ggc
 parser                :  17.90 (14%) usr   0.77 (15%) sys  19.39 (15%) wall 
325217 kB (64%) ggc
 name lookup           :  94.51 (76%) usr   4.25 (84%) sys  98.43 (75%) wall 
175474 kB (34%) ggc
 tree gimplify         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
2548 kB ( 1%) ggc
 varconst              :  11.33 ( 9%) usr   0.01 ( 0%) sys  11.33 ( 9%) wall   
2833 kB ( 1%) ggc
 symout                :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  32 kB ( 0%) ggc
 TOTAL                 : 124.80             5.08           130.45            
508745 kB

and using peak 1.7GB ram (x86_64 with -m32) on the trunk.  I guess we're just
not collecting garbage during parsing at all.

Note that I get errors from compiling the testcase though:

[... very large template ...]
test_basic_metafunctions.hpp:176:   instantiated from here
../src/sd/../static_component.hpp:91: error: 'process_outputs' is not a member
of 'mpl_::void_'

(4.1 also isn't happy with the testcase)

Can you by any chance provide a testcase that compiles ok with at least gcc
4.1.x?  (even better mainline...)  Thanks!

Profiling the bugger yields:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  Ks/call  Ks/call  name    
 12.44    178.30   178.30 121375686     0.00     0.00  comptypes
  9.29    311.48   133.18 218375227     0.00     0.00  dump_aggr_type
  8.69    436.02   124.54 155559998     0.00     0.00  comp_template_args
  8.59    559.19   123.17 620924334     0.00     0.00  pp_base_append_text
  7.85    671.72   112.53  1278486     0.00     0.00  retrieve_specialization
  6.92    770.99    99.27 173585104     0.00     0.00  template_args_equal
  6.54    864.80    93.81 462049326     0.00     0.00  pp_base_character
  5.05    937.24    72.44    67358     0.00     0.00  ht_lookup
  3.32    984.79    47.55 620924334     0.00     0.00  pp_base_string
  3.13   1029.71    44.92 186232097     0.00     0.00  dump_decl
  2.58   1066.65    36.95 218532269     0.00     0.00  pp_c_type_qualifier_list
  2.36   1100.46    33.81 16289532     0.00     0.00  dump_template_parms
  2.32   1133.71    33.25 404449103     0.00     0.00  dump_scope
  2.28   1166.40    32.69 218677178     0.00     0.00  dump_type
  1.95   1194.40    28.00 404642903     0.00     0.00  pp_c_identifier
  1.78   1219.92    25.53 218375227     0.00     0.00 
class_key_or_enum_as_string
  1.38   1239.65    19.73 216176146     0.00     0.00  dump_template_argument
  1.03   1254.37    14.72  3919144     0.00     0.00  purpose_member
  0.88   1266.94    12.57 108004962     0.00     0.00 
pp_base_last_position_in_text
  0.68   1276.74     9.80 162182109     0.00     0.00  pp_cxx_separate_with
  0.61   1285.53     8.80 202214181     0.00     0.00  pp_cxx_colon_colon
  0.41   1291.38     5.85 54002002     0.00     0.00 
pp_cxx_end_template_argument_list
  0.41   1297.19     5.81  5800051     0.00     0.00  ggc_alloc_stat
  0.40   1302.92     5.73  4113746     0.00     0.00  tsubst
  0.37   1308.20     5.29 54002002     0.00     0.00 
pp_cxx_begin_template_argument_list
  0.31   1312.58     4.38   301296     0.00     0.00  pp_base_emit_prefix
  0.30   1316.88     4.30   450268     0.00     0.00  gt_ggc_mx_lang_tree_node
  0.27   1320.81     3.93   302601     0.00     0.00  reinit_cxx_pp
  0.27   1324.73     3.92  6289194     0.00     0.00  ggc_set_mark
  0.26   1328.46     3.73       21     0.00     0.00  pp_base_newline
  0.25   1332.04     3.59   892391     0.00     0.00  lookup_template_class
  0.24   1335.43     3.39 14090587     0.00     0.00  pp_c_constant
  0.20   1338.34     2.91    67465     0.00     0.00  push_to_top_level
  0.20   1341.19     2.85  2159736     0.00     0.00  dfs_walk_all
  0.17   1343.61     2.43   935808     0.00     0.00  coerce_template_parms
  0.17   1346.03     2.42  1554163     0.00     0.00  lookup_field_1
  0.16   1348.27     2.24 10344444     0.00     0.00  cp_tree_equal
  0.15   1350.49     2.22   222604     0.00     0.00  ht_lookup_with_hash


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (5 preceding siblings ...)
  2006-10-12  8:20 ` rguenth at gcc dot gnu dot org
@ 2006-10-12  9:52 ` grayyoga at gmail dot com
  2006-10-12 13:09 ` rguenth at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-12  9:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from grayyoga at gmail dot com  2006-10-12 09:51 -------
Created an attachment (id=12415)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12415&action=view)
preprocessed source file (version 2)

The previous test case had common C++ error in it, which prevents it from being
compiled properly. Try this one. It generates the same "internal error"
message, but I think that it's free from the C++ errors. If not, I'll make some
steps back and provide an example which also requires a lot of memory to
compile, but compiles properly, without "internal error". 


-- 

grayyoga at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #12409|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (6 preceding siblings ...)
  2006-10-12  9:52 ` grayyoga at gmail dot com
@ 2006-10-12 13:09 ` rguenth at gcc dot gnu dot org
  2006-10-12 16:50 ` grayyoga at gmail dot com
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-12 13:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from rguenth at gcc dot gnu dot org  2006-10-12 13:09 -------
No success yet:

test_basic_metafunctions.hpp:176:   instantiated from here
../src/sd/../static_component.hpp:57: error: 'process_outputs' is not a member
of 'mpl_::void_'

and other errors.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (7 preceding siblings ...)
  2006-10-12 13:09 ` rguenth at gcc dot gnu dot org
@ 2006-10-12 16:50 ` grayyoga at gmail dot com
  2006-10-12 19:56 ` grayyoga at gmail dot com
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-12 16:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from grayyoga at gmail dot com  2006-10-12 16:50 -------
Created an attachment (id=12420)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12420&action=view)
preprocessed source file (version 3)

Compiles without errors on my laptop, but still eats a LOT of memory. 


-- 

grayyoga at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #12415|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (8 preceding siblings ...)
  2006-10-12 16:50 ` grayyoga at gmail dot com
@ 2006-10-12 19:56 ` grayyoga at gmail dot com
  2006-10-13 10:58 ` rguenth at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-12 19:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from grayyoga at gmail dot com  2006-10-12 19:56 -------
Subject: Re:  using boost::MPL requires lots of memory

Try preprocessed source file v3. It compiles without error on my
laptop, but still takes a LOT of memory and time to compile.

On 12 Oct 2006 13:09:02 -0000, rguenth at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> wrote:
>
>
> ------- Comment #8 from rguenth at gcc dot gnu dot org  2006-10-12 13:09 -------
> No success yet:
>
> test_basic_metafunctions.hpp:176:   instantiated from here
> ../src/sd/../static_component.hpp:57: error: 'process_outputs' is not a member
> of 'mpl_::void_'
>
> and other errors.
>
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (9 preceding siblings ...)
  2006-10-12 19:56 ` grayyoga at gmail dot com
@ 2006-10-13 10:58 ` rguenth at gcc dot gnu dot org
  2006-10-13 11:05 ` rguenth at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-13 10:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from rguenth at gcc dot gnu dot org  2006-10-13 10:58 -------
That works.  Updated profile:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  Ks/call  Ks/call  name    
 11.26    131.84   131.84 77379135     0.00     0.00  comptypes
 11.05    261.22   129.38 153228836     0.00     0.00  dump_aggr_type
  7.47    348.70    87.48 441675354     0.00     0.00  pp_base_append_text
  7.06    431.38    82.68 101695144     0.00     0.00  comp_template_args
  6.90    512.09    80.71   870176     0.00     0.00  retrieve_specialization
  6.09    583.32    71.24 116984878     0.00     0.00  template_args_equal
  4.82    639.78    56.46 325283356     0.00     0.00  pp_base_character
  4.56    693.10    53.32    59058     0.00     0.00  ht_lookup
  3.63    735.58    42.48 441675354     0.00     0.00  pp_base_string
  3.30    774.18    38.60 287071962     0.00     0.00  dump_scope
  3.20    811.63    37.46 10634496     0.00     0.00  dump_template_parms
  2.99    846.65    35.02 133934524     0.00     0.00  dump_decl
  2.82    879.71    33.06 153423130     0.00     0.00  dump_type
  2.25    905.99    26.29 153344660     0.00     0.00  pp_c_type_qualifier_list
  1.97    929.03    23.04 152685422     0.00     0.00  dump_template_argument
  1.96    951.95    22.92 287215230     0.00     0.00  pp_c_identifier
  1.35    967.81    15.86  3824263     0.00     0.00  purpose_member
  1.34    983.49    15.68 153228836     0.00     0.00 
class_key_or_enum_as_string
  0.77    992.52     9.03 115629446     0.00     0.00  pp_cxx_separate_with
  0.68   1000.52     8.00 144377450     0.00     0.00  pp_cxx_colon_colon
  0.60   1007.53     7.01 74128630     0.00     0.00 
pp_base_last_position_in_text
  0.47   1013.00     5.47  4619635     0.00     0.00  ggc_alloc_stat
  0.43   1017.98     4.98 37063838     0.00     0.00 
pp_cxx_end_template_argument_list
  0.42   1022.89     4.92  2734603     0.00     0.00  tsubst
  0.35   1026.98     4.09 37063838     0.00     0.00 
pp_cxx_begin_template_argument_list
  0.35   1031.07     4.09   574289     0.00     0.00  gt_ggc_mx_lang_tree_node
  0.33   1034.88     3.81   218258     0.00     0.00  pp_base_emit_prefix
  0.31   1038.56     3.68  6251202     0.00     0.00  ggc_set_mark
  0.31   1042.21     3.66 10098142     0.00     0.00  pp_c_constant
  0.28   1045.54     3.33  1473688     0.00     0.00  dfs_walk_all
  0.28   1048.79     3.26   588277     0.00     0.00  lookup_template_class
  0.27   1051.95     3.16                             pp_base_newline
  0.23   1054.67     2.72 10081686     0.00     0.00  pp_c_integer_constant
  0.22   1057.22     2.55  1172353     0.00     0.00  lookup_field_1
  0.22   1059.75     2.53 10101968     0.00     0.00  dump_expr
  0.21   1062.20     2.45  4021108     0.00     0.00  dfs_access_in_type
  0.21   1064.64     2.44    48588     0.00     0.00  push_to_top_level
  0.20   1066.97     2.34  8942686     0.00     0.00  cp_tree_equal
  0.18   1069.12     2.15   615699     0.00     0.00  coerce_template_parms
  0.17   1071.14     2.03   219438     0.00     0.00  reinit_cxx_pp
  0.17   1073.11     1.97   214436     0.00     0.00  ht_lookup_with_hash
  0.16   1075.00     1.89   128624     0.00     0.00  get_expr_operands
  0.14   1076.60     1.60   609605     0.00     0.00  tsubst_aggr_type
  0.13   1078.18     1.58  2662882     0.00     0.00  store_binding
  0.13   1079.75     1.57   587010     0.00     0.00 
instantiate_class_template
  0.12   1081.19     1.45        2     0.00     0.00  dump_function_decl
  0.12   1082.63     1.44   928019     0.00     0.00  tree_cons_stat
  0.12   1084.03     1.40   709984     0.00     0.00  tsubst_template_args
  0.12   1085.40     1.38  4639830     0.00     0.00  context_for_name_lookup
  0.10   1086.59     1.19  2314384     0.00     0.00  htab_find_with_hash
  0.09   1087.68     1.09   475135     0.00     0.00  lookup_fnfields_1
  0.09   1088.74     1.06    42858     0.00     0.00  finish_struct_1
  0.09   1089.78     1.04   695522     0.00     0.00  htab_find_slot_with_hash
  0.09   1090.81     1.03 10098142     0.00     0.00  pp_cxx_constant
  0.09   1091.83     1.02                           
pp_c_conditional_expression


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |compile-time-hog
      Known to fail|4.0.4 4.1.2                 |4.0.4 4.1.2 4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (10 preceding siblings ...)
  2006-10-13 10:58 ` rguenth at gcc dot gnu dot org
@ 2006-10-13 11:05 ` rguenth at gcc dot gnu dot org
  2006-10-13 12:16 ` grayyoga at gmail dot com
                   ` (11 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-13 11:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from rguenth at gcc dot gnu dot org  2006-10-13 11:05 -------
-O2 -ftime-report:

Execution times (seconds)
 parser                :  11.82 (14%) usr   0.54 (15%) sys  12.81 (14%) wall 
254865 kB (62%) ggc
 name lookup           :  62.00 (74%) usr   3.04 (82%) sys  64.50 (73%) wall 
123819 kB (30%) ggc
 varconst              :   7.37 ( 9%) usr   0.00 ( 0%) sys   7.50 ( 8%) wall   
2369 kB ( 1%) ggc
 TOTAL                 :  84.28             3.71            88.39            
411895 kB

! (profile was also -O2)

Not too much code is generated by the testcase (-O2):

> size main.o 
   text    data     bss     dec     hex filename
  21680       4      76   21760    5500 main.o


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (11 preceding siblings ...)
  2006-10-13 11:05 ` rguenth at gcc dot gnu dot org
@ 2006-10-13 12:16 ` grayyoga at gmail dot com
  2006-10-13 12:19 ` rguenth at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-13 12:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from grayyoga at gmail dot com  2006-10-13 12:16 -------
Subject: Re:  using boost::MPL requires lots of memory

But my main target is the previous testcase. It should at least
provide me a C++ error, but not crash with internal error.

On 13 Oct 2006 11:05:35 -0000, rguenth at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> wrote:
>
>
> ------- Comment #12 from rguenth at gcc dot gnu dot org  2006-10-13 11:05 -------
> -O2 -ftime-report:
>
> Execution times (seconds)
>  parser                :  11.82 (14%) usr   0.54 (15%) sys  12.81 (14%) wall
> 254865 kB (62%) ggc
>  name lookup           :  62.00 (74%) usr   3.04 (82%) sys  64.50 (73%) wall
> 123819 kB (30%) ggc
>  varconst              :   7.37 ( 9%) usr   0.00 ( 0%) sys   7.50 ( 8%) wall
> 2369 kB ( 1%) ggc
>  TOTAL                 :  84.28             3.71            88.39
> 411895 kB
>
> ! (profile was also -O2)
>
> Not too much code is generated by the testcase (-O2):
>
> > size main.o
>   text    data     bss     dec     hex filename
>  21680       4      76   21760    5500 main.o
>
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (12 preceding siblings ...)
  2006-10-13 12:16 ` grayyoga at gmail dot com
@ 2006-10-13 12:19 ` rguenth at gcc dot gnu dot org
  2006-10-13 12:21 ` grayyoga at gmail dot com
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-13 12:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from rguenth at gcc dot gnu dot org  2006-10-13 12:18 -------
Sure, but the crash is due to gcc running out of memory.  And the third
testcase is a good one to attack memory usage and compile-time problems on all
of the three testcases.

But don't hold your breath...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (13 preceding siblings ...)
  2006-10-13 12:19 ` rguenth at gcc dot gnu dot org
@ 2006-10-13 12:21 ` grayyoga at gmail dot com
  2006-10-13 13:19 ` rguenth at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: grayyoga at gmail dot com @ 2006-10-13 12:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from grayyoga at gmail dot com  2006-10-13 12:20 -------
Subject: Re:  using boost::MPL requires lots of memory

Ok, if there is anything else I could help, please mail me.

On 13 Oct 2006 12:18:51 -0000, rguenth at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> wrote:
>
>
> ------- Comment #14 from rguenth at gcc dot gnu dot org  2006-10-13 12:18 -------
> Sure, but the crash is due to gcc running out of memory.  And the third
> testcase is a good one to attack memory usage and compile-time problems on all
> of the three testcases.
>
> But don't hold your breath...
>
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (14 preceding siblings ...)
  2006-10-13 12:21 ` grayyoga at gmail dot com
@ 2006-10-13 13:19 ` rguenth at gcc dot gnu dot org
  2006-11-22 12:39 ` rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-13 13:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from rguenth at gcc dot gnu dot org  2006-10-13 13:19 -------
The bootleneck is clearly using the diagnostic machinery for setting up
DECL_NAME of the type decls.  I wonder if we cannot directly compute and store
mangled names in DECL_NAME which would save both time and memory...

Any ideas?  Mark?  Jason?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mmitchel at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (15 preceding siblings ...)
  2006-10-13 13:19 ` rguenth at gcc dot gnu dot org
@ 2006-11-22 12:39 ` rguenth at gcc dot gnu dot org
  2006-11-28 12:38 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-11-22 12:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from rguenth at gcc dot gnu dot org  2006-11-22 12:39 -------
Created an attachment (id=12666)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12666&action=view)
testcase run through uninclude

unincluded so it's 64bit clean also.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (16 preceding siblings ...)
  2006-11-22 12:39 ` rguenth at gcc dot gnu dot org
@ 2006-11-28 12:38 ` rguenth at gcc dot gnu dot org
  2006-11-28 16:21 ` patchapp at dberlin dot org
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-11-28 12:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from rguenth at gcc dot gnu dot org  2006-11-28 12:38 -------
Most of the memory used is spent in the string pool:

String pool
entries         68980
identifiers     68980 (100.00%)
slots           131072
bytes           1012M (10M overhead)
table size      1024k
coll/search     0.7816
ins/search      0.2876
avg. entry      15394.37 bytes (+/- 68924.74)
longest entry   2130575

if you add -g to the compilation, dwarf2out.c happily xstrdup()s most of
them a few times and memory consumption goes up to 3.9GB.

All the stringpool handling and it's usage by classtype_mangled_name is
not very well optimized for such large strings (after all, we know the
string length there for example).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (17 preceding siblings ...)
  2006-11-28 12:38 ` rguenth at gcc dot gnu dot org
@ 2006-11-28 16:21 ` patchapp at dberlin dot org
  2006-11-30 16:15 ` patchapp at dberlin dot org
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: patchapp at dberlin dot org @ 2006-11-28 16:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from patchapp at dberlin dot org  2006-11-28 16:21 -------
Subject: Bug number PR29433

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01900.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (18 preceding siblings ...)
  2006-11-28 16:21 ` patchapp at dberlin dot org
@ 2006-11-30 16:15 ` patchapp at dberlin dot org
  2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: patchapp at dberlin dot org @ 2006-11-30 16:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from patchapp at dberlin dot org  2006-11-30 16:15 -------
Subject: Bug number PR29433

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg02053.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (20 preceding siblings ...)
  2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
@ 2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
  2007-02-23 14:21 ` rguenth at gcc dot gnu dot org
  2007-06-12 11:30 ` rguenth at gcc dot gnu dot org
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-12-01 16:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from rguenth at gcc dot gnu dot org  2006-12-01 16:37 -------
Subject: Bug 29433

Author: rguenth
Date: Fri Dec  1 16:37:38 2006
New Revision: 119404

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119404
Log:
2006-12-01  Richard Guenther  <rguenther@suse.de>

        PR c++/29433
        * dwarf2out.c (struct pubname_struct): Make name const.
        (add_pubtype): Do not xstrdup identifiers.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/dwarf2out.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (19 preceding siblings ...)
  2006-11-30 16:15 ` patchapp at dberlin dot org
@ 2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
  2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-12-01 16:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from rguenth at gcc dot gnu dot org  2006-12-01 16:38 -------
Improved for the case of building with -g, which should now be as bad as with
plain -O0.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (21 preceding siblings ...)
  2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
@ 2007-02-23 14:21 ` rguenth at gcc dot gnu dot org
  2007-06-12 11:30 ` rguenth at gcc dot gnu dot org
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-02-23 14:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from rguenth at gcc dot gnu dot org  2007-02-23 14:21 -------
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

* [Bug c++/29433] using boost::MPL requires lots of memory
  2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
                   ` (22 preceding siblings ...)
  2007-02-23 14:21 ` rguenth at gcc dot gnu dot org
@ 2007-06-12 11:30 ` rguenth at gcc dot gnu dot org
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-06-12 11:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from rguenth at gcc dot gnu dot org  2007-06-12 11:29 -------
*** Bug 32290 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aribrei at arcor dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433


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

end of thread, other threads:[~2007-06-12 11:30 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-11 19:05 [Bug c++/29433] New: Internal error while compiling code using boost::MPL grayyoga at gmail dot com
2006-10-11 19:10 ` [Bug c++/29433] " grayyoga at gmail dot com
2006-10-11 19:13 ` grayyoga at gmail dot com
2006-10-11 19:14 ` grayyoga at gmail dot com
2006-10-11 19:36 ` pinskia at gcc dot gnu dot org
2006-10-11 21:56 ` [Bug c++/29433] using boost::MPL requires lots of memory rguenth at gcc dot gnu dot org
2006-10-12  8:20 ` rguenth at gcc dot gnu dot org
2006-10-12  9:52 ` grayyoga at gmail dot com
2006-10-12 13:09 ` rguenth at gcc dot gnu dot org
2006-10-12 16:50 ` grayyoga at gmail dot com
2006-10-12 19:56 ` grayyoga at gmail dot com
2006-10-13 10:58 ` rguenth at gcc dot gnu dot org
2006-10-13 11:05 ` rguenth at gcc dot gnu dot org
2006-10-13 12:16 ` grayyoga at gmail dot com
2006-10-13 12:19 ` rguenth at gcc dot gnu dot org
2006-10-13 12:21 ` grayyoga at gmail dot com
2006-10-13 13:19 ` rguenth at gcc dot gnu dot org
2006-11-22 12:39 ` rguenth at gcc dot gnu dot org
2006-11-28 12:38 ` rguenth at gcc dot gnu dot org
2006-11-28 16:21 ` patchapp at dberlin dot org
2006-11-30 16:15 ` patchapp at dberlin dot org
2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
2006-12-01 16:38 ` rguenth at gcc dot gnu dot org
2007-02-23 14:21 ` rguenth at gcc dot gnu dot org
2007-06-12 11:30 ` rguenth at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).