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