hg: jdk6/jdk6/jdk: OPENJDK6-29: JDK fails to zero jdk_version_info correctly

Alex Bligh alex at alex.org.uk
Mon Mar 24 09:32:38 UTC 2014



--On 24 March 2014 09:15:03 +0000 Andrew Haley <aph at redhat.com> wrote:

>>> We need an OPENJDK-6 bug for this that references the fact the change
>>> is in 6989466.
>>>
>>> You can list me as a reviewer.
>>
>> I think this bug is also present elsewhere in openjdk-6, specifically in
>> the jvm.
>
> Yes.  However, this doesn't have the same evil effects as the zero
> jdk_version_info bug.  It should be fixed, though.

What I'm seeing is finalizers not being called for no apparent reason
in production code, the source for which has not changed.

I'm not sure to be honest whether the fix required is a change to the
jdk on our build boxes or a change to the jre on the boxes running the
code. As the openjdk .deb packages take >16 hrs to build here it's
easier said than done to test.

-- 
Alex Bligh

Signed-Off-By: Alex Bligh <alex at alex.org.uk>

--- openjdk/hotspot/src/share/vm/prims/jvm.cpp~
+++ openjdk/hotspot/src/share/vm/prims/jvm.cpp
@@ -4534,7 +4534,7 @@ JVM_END

 JVM_ENTRY(void, JVM_GetVersionInfo(JNIEnv* env, jvm_version_info* info, 
size_t info_size))
 {
-  memset(info, 0, sizeof(info_size));
+  memset(info, 0, info_size);

   info->jvm_version = Abstract_VM_Version::jvm_version();
   info->update_version = 0;          /* 0 in HotSpot Express VM */
--- openjdk/jdk/src/share/native/common/jdk_util.c~
+++ openjdk/jdk/src/share/native/common/jdk_util.c
@@ -76,7 +76,7 @@ JDK_GetVersionInfo0(jdk_version_info* info, size_t 
info_size) {
     }


-    memset(info, 0, sizeof(info_size));
+    memset(info, 0, info_size);
     info->jdk_version = ((jdk_major_version & 0xFF) << 24) |
                         ((jdk_minor_version & 0xFF) << 16) |
                         ((jdk_micro_version & 0xFF) << 8)  |


More information about the jdk6-dev mailing list