OpenJDK vs Sun JDK Versions

Andrew Haley aph at redhat.com
Tue May 12 03:03:31 PDT 2009


Keith Kowalczykowski wrote:

>     Here's what I find unacceptable about the nature of this bug: It was an
> issue that was found during the beta-testing period of the Sun JDK, was
> fixed, and never release publically; yet, however, somehow it mananaged to
> make its way into a publically available OpenJDK release. This is highly
> disconcerting, as it means that there is no guarantee about the stability of
> OpenJDK, and furthermore, it means that developers are potentially exposed
> to any bug that ever existed in some "transient" version of the JDK, not
> just those bugs that were (acidentially) released publicly. I find this
> concerning, as the OpenJDK is increasingly being used on many linux-based
> production systems, where stability is of utmost importance.
> 
>     Just to veryify that I am not completely crazy with what I'm saying, I
> would appreciate if someone can verify what I'm seeing. Looking at the
> public source snapshot of Sun JDK 6u12 (
> http://download.java.net/jdk6/6u12/promoted/b04/index.html) we see that
> java.awt.Component has the new lock object outlined in #6701268 (the
> variable is named "objectLock" instead of "changeSupportLock"). Furthermore,
> the readObject method property re-initializes objectLock, so the issue
> outlined in the bug never occurred in a public release. However, looking at
> OpenJDK 1.6.0-b11 ( http://download.java.net/openjdk/jdk6/promoted/b11/),
> the "changeSupportLock" variable exists, but it is not properly restored in
> readObject.

The OpenJDK 6 Source Release there is openjdk-6-src-b11-10_jul_2008.tar.gz.
This was while OpenJDK 6 was being stabilized.  There were compatibility
bugs in OpenJDK 6 that we had to fix, we know that.

The first (unpatched) OpenJDK 6 to pass JCK testing was b13, Dec 3 2008.

> This means that OpenJDK build 11 was branched off of some
> internal/intermediate codebase not necessarially associated with any vetted
> java version.

I'm looking at the current OpenJDK 6 tree [*], and I see

    private void readObject(ObjectInputStream s)
      throws ClassNotFoundException, IOException
    {
        changeSupportLock = new Object();

so I presume that this specific problem is of historical interest only.

I also note that this bug caused a JCK failure, and IcedTea, which is used
for all the GNU/Linux distro builds, is tested regularly against the JCK
by Red Hat.

Andrew.


[*] changeset:   58:014da9cee8f1
tag:         jdk6-b12
user:        ohair
date:        Fri Jan 30 17:09:45 2009 -0800
summary:     6755917: Changes for openjdk6 build 12



More information about the jdk6-dev mailing list