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

             Bug #: 50395
           Summary: Infinite loop when bootstrapping java
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: kreb...@gcc.gnu.org


During java bootstrap the 
s390x-ibm-linux-gnu/32/libjava/.libs/lt-gcj-dbtool
gets trapped in an endless loop after throwing an exception. It has been
introduced between r176700 and r176730. Most revisions in between do not
bootstrap due to compilation errors caused by the first bunch of dwarf2cfi
patches (r176701 - r176704).

Here are a few GDB backtraces from the endless loop:

#0  0x75aca982 in _Unwind_RaiseException () from /lib/libgcc_s.so.1
#1  0x76877d4a in _Jv_Throw (value=0x75534648) at
/build/gcc-head/libjava/exception.cc:118
#2  0x768b949e in java::lang::Class::initializeClass (this=0x77cbda48)
    at /build/gcc-head/libjava/java/lang/natClass.cc:808
#3  0x76868894 in _Jv_InitClass (klass=0x77cbda48) at
/build/gcc-head/libjava/java/lang/Class.h:742
#4  _Jv_AllocObjectNoFinalizer (klass=0x77cbda48) at
/build/gcc-head/libjava/prims.cc:586
#5  0x768dd77a in
gnu.gcj.runtime.PersistentByteMap.init(gnu.gcj.runtime.PersistentByteMap,
java.io.File, int, int)void (this=@75b16ee0, m=Unhandled dwarf expression
opcode 0xf3
) at /build/gcc-head/libjava/gnu/gcj/runtime/PersistentByteMap.java:181
#6  0x768ddaba in
gnu.gcj.runtime.PersistentByteMap.emptyPersistentByteMap(java.io.File, int,
int)gnu.gcj.runtime.PersistentByteMap (name=@75530e90, capacity=32749,
strtabSize=1047968)
    at /build/gcc-head/libjava/gnu/gcj/runtime/PersistentByteMap.java:231
#7  0x00403aa4 in gnu.gcj.tools.gcj_dbtool.Main.main(java.lang.String[])void
(s=@75558c00)
    at /build/gcc-head/libjava/gnu/gcj/tools/gcj_dbtool/Main.java:82




#0  0x76877b0e in base_of_encoded_value (encoding=1 '\001', context=0x0)
    at /build/gcc-head/libjava/.././libjava/../libgcc/unwind-pe.h:102
#1  0x76877f50 in read_encoded_value (version=Unhandled dwarf expression opcode
0xf3
) at /build/gcc-head/libjava/.././libjava/../libgcc/unwind-pe.h:284
#2  __gcj_personality_v0 (version=Unhandled dwarf expression opcode 0xf3
) at /build/gcc-head/libjava/exception.cc:373
#3  0x75aca988 in _Unwind_RaiseException () from /lib/libgcc_s.so.1
#4  0x76877d4a in _Jv_Throw (value=0x75534648) at
/build/gcc-head/libjava/exception.cc:118
#5  0x768b949e in java::lang::Class::initializeClass (this=0x77cbda48)
    at /build/gcc-head/libjava/java/lang/natClass.cc:808
#6  0x76868894 in _Jv_InitClass (klass=0x77cbda48) at
/build/gcc-head/libjava/java/lang/Class.h:742
#7  _Jv_AllocObjectNoFinalizer (klass=0x77cbda48) at
/build/gcc-head/libjava/prims.cc:586
#8  0x768dd77a in
gnu.gcj.runtime.PersistentByteMap.init(gnu.gcj.runtime.PersistentByteMap,
java.io.File, int, int)void (this=@75b16ee0, m=Unhandled dwarf expression
opcode 0xf3
) at /build/gcc-head/libjava/gnu/gcj/runtime/PersistentByteMap.java:181
#9  0x768ddaba in
gnu.gcj.runtime.PersistentByteMap.emptyPersistentByteMap(java.io.File, int,
int)gnu.gcj.runtime.PersistentByteMap (name=@75530e90, capacity=32749,
strtabSize=1047968)
    at /build/gcc-head/libjava/gnu/gcj/runtime/PersistentByteMap.java:231
#10 0x00403aa4 in gnu.gcj.tools.gcj_dbtool.Main.main(java.lang.String[])void
(s=@75558c00)
    at /build/gcc-head/libjava/gnu/gcj/tools/gcj_dbtool/Main.java:82





#0  0x76878170 in read_encoded_value (version=Unhandled dwarf expression opcode
0xf3
) at /build/gcc-head/libjava/.././libjava/../libgcc/unwind-pe.h:284
#1  get_ttype_entry (version=Unhandled dwarf expression opcode 0xf3
) at /build/gcc-head/libjava/exception.cc:200
#2  __gcj_personality_v0 (version=Unhandled dwarf expression opcode 0xf3
) at /build/gcc-head/libjava/exception.cc:438
#3  0x75aca988 in _Unwind_RaiseException () from /lib/libgcc_s.so.1
#4  0x76877d4a in _Jv_Throw (value=0x75534648) at
/build/gcc-head/libjava/exception.cc:118
#5  0x768b949e in java::lang::Class::initializeClass (this=0x77cbda48)
    at /build/gcc-head/libjava/java/lang/natClass.cc:808
#6  0x76868894 in _Jv_InitClass (klass=0x77cbda48) at
/build/gcc-head/libjava/java/lang/Class.h:742
#7  _Jv_AllocObjectNoFinalizer (klass=0x77cbda48) at
/build/gcc-head/libjava/prims.cc:586
#8  0x768dd77a in
gnu.gcj.runtime.PersistentByteMap.init(gnu.gcj.runtime.PersistentByteMap,
java.io.File, int, int)void (this=@75b16ee0, m=Unhandled dwarf expression
opcode 0xf3
) at /build/gcc-head/libjava/gnu/gcj/runtime/PersistentByteMap.java:181
#9  0x768ddaba in
gnu.gcj.runtime.PersistentByteMap.emptyPersistentByteMap(java.io.File, int,
int)gnu.gcj.runtime.PersistentByteMap (name=@75530e90, capacity=32749,
strtabSize=1047968)
    at /build/gcc-head/libjava/gnu/gcj/runtime/PersistentByteMap.java:231
#10 0x00403aa4 in gnu.gcj.tools.gcj_dbtool.Main.main(java.lang.String[])void
(s=@75558c00)
    at /build/gcc-head/libjava/gnu/gcj/tools/gcj_dbtool/Main.java:82

Reply via email to