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

             Bug #: 50166
           Summary: ICE in go1: SEGV on Solaris 10/x86
    Classification: Unclassified
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: go
        AssignedTo: i...@airs.com
        ReportedBy: r...@gcc.gnu.org
              Host: i386-pc-solaris2.10
            Target: i386-pc-solaris2.10
             Build: i386-pc-solaris2.10


Between 20110819 and 20110823, go1 started to ICE compiling libgo.  This seems
to happen for every file, e.g.

> ./go1 /var/gcc/reghunt/trunk/libgo/go/sync/atomic/doc.go
<built-in>:0:0: internal compiler error: Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Running go1 under gdb, I find this stacktrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0x08a9747d in std::_Rb_tree_decrement (__x=0x8ea3240) at
/var/gcc/reghunt/trunk/libstdc++-v3/src/tree.cc:91
(gdb) where
#0  0x08a9747d in std::_Rb_tree_decrement (__x=0x8ea3240) at
/var/gcc/reghunt/trunk/libstdc++-v3/src/tree.cc:91
#1  0x08a8c640 in std::_Rb_tree_iterator<std::pair<std::string const,
Named_type*> >::operator-- (this=0x8ea323c, __v=...) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_tree.h:203
#2  std::_Rb_tree<std::string, std::pair<std::string const, Named_type*>,
std::_Select1st<std::pair<std::string const, Named_type*> >,
std::less<std::string>, std::allocator<std::pair<std::string const,
Named_type*> > >::_M_insert_unique (this=0x8ea323c, __v=...) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_tree.h:1285
#3  0x081d9370 in std::map<std::string, Named_type*, std::less<std::string>,
std::allocator<std::pair<std::string const, Named_type*> > >::insert
(name=0x8b3b73e <error reading variable>, is_unsigned=true, bits=8,
runtime_type_kind=8) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_map.h:521
#4  Integer_type::create_integer_type (name=0x8b3b73e <error reading variable>,
is_unsigned=true, bits=8, runtime_type_kind=8) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/types.cc:1837
#5  0x081a29a6 in Gogo::Gogo (this=0x8ff9a30, backend=0x8ea2da4,
int_type_size=32, pointer_size=32) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/gogo.cc:44
#6  0x08190d6c in go_create_gogo (int_type_size=32, pointer_size=32) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/go.cc:31
#7  0x0818d62b in go_langhook_init () at
/var/gcc/reghunt/trunk/gcc/go/go-lang.c:96
#8  0x0844c797 in lang_dependent_init (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/toplev.c:1714
#9  do_compile (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/toplev.c:1872
#10 toplev_main (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/toplev.c:1962
#11 0x08a74eeb in main (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/main.c:36
(gdb) up
#1  0x08a8c640 in std::_Rb_tree_iterator<std::pair<std::string const,
Named_type*> >::operator-- (this=0x8ea323c, __v=...) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_tree.h:203
(gdb) up
#2  std::_Rb_tree<std::string, std::pair<std::string const, Named_type*>,
std::_Select1st<std::pair<std::string const, Named_type*> >,
std::less<std::string>, std::allocator<std::pair<std::string const,
Named_type*> > >::_M_insert_unique (this=0x8ea323c, __v=...) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_tree.h:1285
(gdb) up
#3  0x081d9370 in std::map<std::string, Named_type*, std::less<std::string>,
std::allocator<std::pair<std::string const, Named_type*> > >::insert
(name=0x8b3b73e <error reading variable>, is_unsigned=true, bits=8,
runtime_type_kind=8) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_map.h:521
(gdb) up
#4  Integer_type::create_integer_type (name=0x8b3b73e <error reading variable>,
is_unsigned=true, bits=8, runtime_type_kind=8) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/types.cc:1837
(gdb) where
#0  0x08a9747d in std::_Rb_tree_decrement (__x=0x8ea3240) at
/var/gcc/reghunt/trunk/libstdc++-v3/src/tree.cc:91
#1  0x08a8c640 in std::_Rb_tree_iterator<std::pair<std::string const,
Named_type*> >::operator-- (this=0x8ea323c, __v=...) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_tree.h:203
#2  std::_Rb_tree<std::string, std::pair<std::string const, Named_type*>,
std::_Select1st<std::pair<std::string const, Named_type*> >,
std::less<std::string>, std::allocator<std::pair<std::string const,
Named_type*> > >::_M_insert_unique (this=0x8ea323c, __v=...) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_tree.h:1285
#3  0x081d9370 in std::map<std::string, Named_type*, std::less<std::string>,
std::allocator<std::pair<std::string const, Named_type*> > >::insert
(name=0x8b3b73e <error reading variable>, is_unsigned=true, bits=8,
runtime_type_kind=8) at
/var/gcc/reghunt/10-gcc/prev-i386-pc-solaris2.10/libstdc++-v3/include/bits/stl_map.h:521
#4  Integer_type::create_integer_type (name=0x8b3b73e <error reading variable>,
is_unsigned=true, bits=8, runtime_type_kind=8) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/types.cc:1837
#5  0x081a29a6 in Gogo::Gogo (this=0x8ff9a30, backend=0x8ea2da4,
int_type_size=32, pointer_size=32) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/gogo.cc:44
#6  0x08190d6c in go_create_gogo (int_type_size=32, pointer_size=32) at
/var/gcc/reghunt/trunk/gcc/go/gofrontend/go.cc:31
#7  0x0818d62b in go_langhook_init () at
/var/gcc/reghunt/trunk/gcc/go/go-lang.c:96
#8  0x0844c797 in lang_dependent_init (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/toplev.c:1714
#9  do_compile (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/toplev.c:1872
#10 toplev_main (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/toplev.c:1962
#11 0x08a74eeb in main (argc=2, argv=0x80474c4) at
/var/gcc/reghunt/trunk/gcc/main.c:36

Reply via email to