There is an error in the latest jdk6/jdk tree which can lead it to misreporting information passed to the JVM in the jdk_version_info structure. In particular, this has been observed to cause the JVM GC code in versions later than jdk6-b28 to fail to notify discovered Reference instances to the JDK.
The error is in function JDK_GetVersionInfo0 in file jdk/src/share/native/common/jdk_util.c at line 79 memset(info, 0, sizeof(info_size)); The size of the struct be zeroed (info) is info_size (24 in the latest jdk6/hotspot tree). The line above only zeroes the first 8 bytes. The correct code is memset(info, 0, info_size); regards, Andrew Dinn -----------