[Kde-java] GCJ and qtjava/kdejava

Bryce McKinlay bryce@waitaki.otago.ac.nz
Tue Apr 2 21:19:00 GMT 2002


Richard Dale wrote:

>I'd been interested in what's causing the crash - whether or not it's the slot 
>callback for the menu selection has retrieved an invalid env pointer from 
>QtSupport::GetEnv().
>

It turns out that it was due to a bug in IdentityHashMap, which is used 
by the JNI code to keep track of what objects are referenced from JNI 
code for the GC. IdentityHashMap wasn't recalculating its resize 
threshold properly, so after the first resize it would start to lose 
mappings. Eventually unmark_for_gc would get back null for a reference 
which should have been previously added by mark_for_gc, and crash...

regards

Bryce.




More information about the Java mailing list