When I run a sample jogl application with gcj, I get the following at the end....
Program received signal SIGABRT, Aborted. [Switching to Thread -1210319952 (LWP 18094)] 0x008e27a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 (gdb) where #0 0x008e27a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x00922955 in raise () from /lib/tls/libc.so.6 #2 0x00924319 in abort () from /lib/tls/libc.so.6 #3 0x00955f9a in __libc_message () from /lib/tls/libc.so.6 #4 0x0095c528 in _int_free () from /lib/tls/libc.so.6 #5 0x0095cafa in free () from /lib/tls/libc.so.6 #6 0x0271de29 in java::nio::VMDirectByteBuffer::free () from /usr/lib/libgcj.so.6 #7 0x028306df in java::nio::DirectByteBufferImpl::finalize () from /usr/lib/libgcj.so.6 #8 0x02713db5 in _Jv_FinalizeObject () from /usr/lib/libgcj.so.6 #9 0x02a49df5 in _Jv_AllocRawObj () from /usr/lib/libgcj.so.6 #10 0x02a51c9a in GC_invoke_finalizers () from /usr/lib/libgcj.so.6 #11 0x02a49e53 in _Jv_RunFinalizers () from /usr/lib/libgcj.so.6 #12 0x0270906c in gnu::gcj::runtime::FinalizerThread::run () from /usr/lib/libgcj.so.6 #13 0x027196a5 in _Jv_ThreadRun () from /usr/lib/libgcj.so.6 #14 0x02a4b696 in _Jv_ThreadUnRegister () from /usr/lib/libgcj.so.6 #15 0x02a5c270 in GC_start_routine () from /usr/lib/libgcj.so.6 #16 0x00b423ae in start_thread () from /lib/tls/libpthread.so.0 #17 0x009c1b6e in clone () from /lib/tls/libc.so.6 (gdb) I don't have a simple test case yet. I will provide one once we have a jogl that builds reliably. Just thought I'd file this in the meanwhile... -- Summary: double free or corruption Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: green at redhat dot com CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20727