[Bug c++/42814] gcc segfaults on gch

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Jan 20 20:47:00 GMT 2010



------- Comment #10 from rguenth at gcc dot gnu dot org  2010-01-20 20:47 -------
With unoptimized trunk I see us blowing the stack during garbage-collecting.
Note that we have a load of templates in this testcase and we walk them in
unfortunate order.

(gdb) 
#79368 0x0835b9fb in ggc_collect ()
    at /home/richard/src/trunk/gcc/ggc-page.c:1962
1962      ggc_mark_roots ();


ugh.  We reach stuff from the function decl type.

400                   gt_ggc_m_9tree_node ((*x).generic.type.size_unit);
(gdb) 
#79358 0x0828fdc9 in gt_ggc_mx_lang_tree_node (x_p=0xb772f378)
    at ./gt-cp-tree.h:163
163                   gt_ggc_m_9tree_node ((*x).generic.int_cst.common.type);
(gdb) 
#79357 0x0829106b in gt_ggc_mx_lang_tree_node (x_p=0xb7743000)
    at ./gt-cp-tree.h:398
398                   gt_ggc_m_9tree_node ((*x).generic.type.values);

hmm ...

#79349 0x0829115c in gt_ggc_mx_lang_tree_node (x_p=0xa83ff180)
    at ./gt-cp-tree.h:417
417                   gt_ggc_m_9tree_node ((*x).generic.type.name);
(gdb) 

#79348 0x08290cb9 in gt_ggc_mx_lang_tree_node (x_p=0xa8400138)
    at ./gt-cp-tree.h:355
355                   gt_ggc_m_9tree_node
((*x).generic.type_decl.common.common.common.common.common.context);
(gdb) 
#79347 0x0829106b in gt_ggc_mx_lang_tree_node (x_p=0xa83ff000)
    at ./gt-cp-tree.h:398
398                   gt_ggc_m_9tree_node ((*x).generic.type.values);
(gdb) 
#79346 0x08290229 in gt_ggc_mx_lang_tree_node (x_p=0xa84003a8)
    at ./gt-cp-tree.h:228
228                   gt_ggc_m_9tree_node
((*x).generic.decl_non_common.common.common.common.common.common.type);
(gdb) 
#79345 0x0829121c in gt_ggc_mx_lang_tree_node (x_p=0xa83ff420)
    at ./gt-cp-tree.h:425
425                   gt_ggc_m_9lang_type ((*x).generic.type.lang_specific);
(gdb) 
#79344 0x08292154 in gt_ggc_mx_lang_type (x_p=0xa83fdaa0) at ./gt-cp-tree.h:713
713               gt_ggc_m_9tree_node ((*x).u.c.template_info);


hmm - we reach templates via integer constants ...


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-01-20 20:47:22
               date|                            |


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



More information about the Gcc-bugs mailing list