Debugging libgcj on cygwin

Tom Tromey tromey@redhat.com
Mon Jul 7 18:03:00 GMT 2003


>>>>> "Thomas" == Thomas Pfaff <tpfaff@gmx.net> writes:

Thomas> The interpreter seems to be broken on cygwin, therefore i configure
Thomas> with --disable-interpreter. If i configure with --enable-interpreter
Thomas> the result is the same as without the patch:
Thomas> Program received signal SIGSEGV, Segmentation fault.
Thomas> _Jv_InterpMethod::run(void*, ffi_raw*) (this=0x1014be60,
Thomas> retp=0x22f730, args=0x22f750) at
Thomas> ../../../gcc-3.3/libjava/include/java-interp.h:230
Thomas> 230         next = *n;

Hopefully someone can debug this to find out what is wrong.
This is supposed to work.

Thomas> I think that the main problem with cygwin is that signals (especially
Thomas> SIGSEGV) are not thread safe at the moment. SIGSEGV is only handled
Thomas> correctly by the main thread.

This shouldn't matter.  Cygwin is built with "can_unwind_signal=no",
meaning that we will emit code to detect null pointer accesses.  So in
theory any SEGV you see will be the result of a real bug.  (In
practice it is a little worse since our CNI code doesn't detect this
situation.)

Tom



More information about the Java mailing list