http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50057
Bug #: 50057 Summary: [4.7 regression] SIGSEGV in natObject.cc:58 Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassig...@gcc.gnu.org ReportedBy: jojel...@gmail.com Host: i686-pc-cygwin Target: i686-pc-mingw32 Build: i686-pc-cygwin Created attachment 24992 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24992 try to resolve 'o1' class on runtime, and got sigsegv when referenced class(oo1) is not found in classpath, it throwed classnotfoundexception. but it sigsegved Starting program: /usr/i686-pc-mingw32/java/bin/i686-pc-mingw32-gij -cp . foobar --verbose [New Thread 7704.0x1af8] [New Thread 7704.0x2b60] Program received signal SIGSEGV, Segmentation fault. 0x696cfc4a in java::lang::Object::getClass (this=0x0) at ../.././libjava/java/lang/natObject.cc:58 58 return (*dt)->clas; (gdb) bt #0 0x696cfc4a in java::lang::Object::getClass (this=0x0) at ../.././libjava/java/lang/natObject.cc:58 #1 0x696b8bbf in _Jv_InterpMethod::check_handler (this=0xe12f60, pc=0x22e8d8, meth=0xe12f60, ex=0x0) at ../.././libjava/interpret.cc:1463 #2 0x696a99f5 in _Jv_InterpMethod::run (retp=0x22f104, args=0x22f124, meth=0xe12f60) at ../.././libjava/interpret-run.cc:2676 #3 0x696a2251 in _Jv_InterpMethod::run_normal (ret=0x22f104, args=0x22f124, __this=0xe12f60) at ../.././libjava/interpret.cc:358 #4 0x6a432ee5 in ffi_closure_raw_SYSV () at ../.././libffi/src/x86/win32.S:695 #5 0x6a432d37 in ffi_call_win32 () at ../.././libffi/src/x86/win32.S:424 #6 0x6a432d13 in ffi_raw_call (cif=0xbf0b24, fn=0xe30098, rvalue=0x22f4e0, fake_avalue=0x22f1c0) at ../.././libffi/src/x86/ffi.c:647 #7 0x696a351f in _Jv_InterpMethod::run (retp=0x22fd20, args=0x22fd40, meth=0xab8e60) at ../.././libjava/interpret-run.cc:611 #8 0x696a237a in _Jv_InterpMethod::run_class (ret=0x22fd20, args=0x22fd40, __this=0xab8e60) at ../.././libjava/interpret.cc:407 #9 0x6a432ee5 in ffi_closure_raw_SYSV () at ../.././libffi/src/x86/win32.S:695 #10 0x696c282c in gnu::java::lang::MainThread::call_main (this=0xbfdf60) at ../.././libjava/gnu/java/lang/natMainThread.cc:54 #11 0x6973c37d in gnu.java.lang.MainThread.run()void (this=@bfdf60) at /tmp/gcc/libjava/gnu/java/lang/MainThread.java:106 #12 0x696d4d4d in _Jv_ThreadRun (thread=0xbfdf60) at ../.././libjava/java/lang/natThread.cc:335 ---Type <return> to continue, or q <return> to quit--- #13 0x69684e9b in _Jv_RunMain (vm_args=0x22fef4, klass=0x0, name=0x3d8925 "foobar", argc=0x2, argv=0x3d89fc, is_jar=0x0) at ../.././libjava/prims.cc:1789 #14 0x66bc24b0 in _fu0___ZN3gcj13verifyClassesE () at ../.././libjava/gij.cc:333 #15 0x004010fd in __mingw_CRTStartup () at ../../.././winsup/mingw/crt1.c:244 #16 0x00000408 in ?? () #17 0x7ffd4000 in ?? () #18 0x00000000 in ?? () (gdb) and _Jv_Throw doesn't seem to pass throwable as argument of unwind_raiseexception, as a consequence, catch(Throwable e){someoperaton(e);} leads SIGSEGV.