Java SE 6 schedule update

The endgame of a major software release is always an exciting time. Even when you build some slack into the schedule for the inevitable surprises, Murphy often strikes in brand new ways that manage to absorb that slack, and sometimes more.

So it is with Mustang Java SE 6.

Since the previous schedule adjustment, which Ray Gans described back in January, we’ve been working toward a final release date in late October. Following the second beta release in June, the code freeze for the release candidate was to have been at build 96 a few weeks ago.

Unfortunately about fifty showstopper bugs remained after build 96, and the incoming bug rate is a bit higher than we’d like, so the freeze date was moved out two weeks to build 98 (last Friday) and two additional weeks of testing were added. Nobody likes schedule slips, but shipping a high-quality release is more important than hitting a particular date. (In a future entry I’ll talk more about what constitutes a “showstopper.”)

With these changes the release candidate will now ship at the end of October and the final release will ship in the first week of December. (It won’t be in the last week of November due to the Thanksgiving holiday here in the U.S.) We’re also continuing to work with our PC OEM partners to ensure that the Java SE 6 JRE will be included on new PCs at the time of the Windows Vista launch.

For those interested in the details, here are the showstoppers fixed in build 97:

6430931Win L&F:FileChooser Details view under Vista throws an exception
6435825Win Vista: add animation support for swing components
6449122javac process is failing on integration compile
6449504REGRESSION:ZipException exception throws when try to read a XML file
6450654JNLP app download hangs when BASIC authenticating through HTTPS tunnel
6452106FlowView.layout causes ArrayIndexOutOfBoundsException
6453229REGRESSION: SIGSEGV while setting MulticastSocket option
6453615DOC: Umbrella for build documentation changes
6456523Update the class data sharing class list
6458537BiasedLocking causes 30% Performance regression in SPECjAppServer
6458700WinLaF : Vista : JScrollbar button updates on rollover instead of entire scrollbar
6458742cannot load the interactive applet from
6459089ArithmeticException with JEditorPane containing HTML
6459421javac hangs
6459670C2 segv running jlapack
6459806Behaviour of java.awt.AWTEventMulticaster.getListeners(,null) is invalid
6460113REGRESSION: Access Violation running on 5.0u9 b01 plugin
6460510Applet throws OutOfMemory/ClassNotFound exception with cache enabled

Build 98 contains fixes for these bugs:

6239354ORB.create_value_tc() does not set TypeCode.concrete_base variable properly
6417341IE Window becomes Zombie when closed prior to the modal dialog
64253215u8b1 PortableInterceptor.ObjectReferenceTemplate components_established:Failed incorrect id
6439864Desktop.browse does not work in a webstarted/plugin app, were as the equivalent webstart API works
6443686javadoc may need to be updated due to name change
6456678SQLException throws a NPE, is not thread-safe and is not coherent
6458333DataSet.insert() may fail when multiple threads attempt to insert. No exception is thrown
6459029Attempt to close Query object after closing DataSet throws NPE
6459927SyncFactory.getRegisteredProviders() returns Enumeration of String instead of SyncProvider since b95
6460067A call to QueryObjectFactory.createDefaultQueryObject() loses the con object of a preceding call
6461677Pull Deployment Toolkit from binary
6462001Webstart broken on b92+
6462356Solaris only: IME can not be turned on in NetBeans IDE
6462447select/update query sharing parameter throws ArrayIndexOutOfBoundException
6462470java.lang.NullPointerException from query object update procedure
6462628Changes needed to for new datatypes to avoid collisions with Oracle data types
6463155JCK-runtime-6.0: api/java_net/distributed/index.html#NetDistributed fails under plugin
6463235Regression on combo boxes in b96
6463476Subpixel rendering: courier W 12pt looks bad
64636126451939 only fixed for Metal L&F
6463661JAXP’s StAX impl does not use stax.properites as defined by JSR 173


So I guess that the fix (I mailed you an OOB request a few weeks ago) for a cluster of 10-year-old Ajax-unfriendly bugs in GZIPOutputStream.flush() won't make it into JDK 6 first release...

I'm just worried that with the change in minor-release policy we won't see these fixes until JDK 7, which is a terribly long time to wait!



Posted by Damon Hart-Davis on September 04, 2006 at 09:17 PM PDT #

How about recently posted bugs? Is there a chance they will get fixed for the final release, provided they are annoying enough? I am thinking of 6463915, which was opened about a week ago.

Posted by Jan Bösenberg on September 05, 2006 at 02:05 AM PDT #

So, we will have 2 years and 2 months between Tiger and Mustang (that's only four months more than it took Tiger to follow Merlin [1]). I specifically remember a person standing before JavaOne 2005 audience and telling them that the new release schedule is 18 months for a version and that this is the reason that there will no longer be .1 and .2 releases :) See slide 8 at [2] [1] [2]

Posted by Kirill on September 05, 2006 at 11:10 AM PDT #

>>> We’re also continuing to work with our PC OEM partners to ensure that the Java SE 6 JRE will be included on new PCs at the time of the Windows Vista launch. <<<

This is very exciting! Would it be possible for you to divulge how many OEMs would be doing this?

Thanks for this initiative.

Posted by Rohit on September 05, 2006 at 11:56 AM PDT #

Damon: Thanks for your request, but it did arrive too late to be considered for the initial JDK 6 release. If these fixes really are critical to AJAX applications, and if they’re reasonably low-risk, then by all means we’ll try to get them into a JDK 6 update release.

Posted by Mark Reinhold on September 05, 2006 at 02:56 PM PDT #

Jan: Yes, recently-posted bugs will be fixed if they’re annoying enough. The bug that you reported (thanks!), 6463915, is actually a pretty serious regression relative to past releases. The fix is currently being evaluated by the release team for inclusion in one of the very last JDK 6 builds.

Posted by Mark Reinhold on September 05, 2006 at 03:15 PM PDT #

Kirill: Actually Tiger shipped 31.7 months after Merlin, and on the new schedule JDK 6 will ship 26.3 months after Tiger, which works out to a 5.4-month difference rather than the four months you claim.

Calendrical calculations aside, the person at JavaOne 2005 to whom you refer only said that the goal was 18 months. Another person, later the same day, explained the new release model in more detail and stated that the goal was for feature releases to be 18–24 months apart.

Given the inherent difficulties in revising something as fundamental as the JDK release model I’d say that an improvement from 31.7 to 26.3 months is actually doing fairly well.

Posted by Mark Reinhold on September 05, 2006 at 03:34 PM PDT #

Rohit: I can’t give you an exact count of the OEMs involved, but I can say that, for some time now, well over 60% of all new PCs have been shipping with the Sun JRE pre-installed.

Posted by Mark Reinhold on September 05, 2006 at 03:38 PM PDT #

Fixing bug 4404007 Exception messages are often uninformative would greatly benefit developers.

Posted by Juergen on September 05, 2006 at 05:35 PM PDT #

I can see that is not considered annoying enough since it's scheduled only for JDK7. IMHO it is a show stopper for multiple internal frames swing apps dedicated to power users. If a trading console ( my case ) can't be controlled using only keystrokes is close to useless. Imagine what happens if you minimize a frame ( market depth ) in order to bring up another frame ( input order ) and rapidly start typing a milion dollar order to catch the market, but sadly the focused frame is not the input order frame but rather the messages frame! Regards, Horia

Posted by Horia Muntean on September 05, 2006 at 08:04 PM PDT #

Horia: 6460921 isn’t considered a showstopper because there’s a workaround, described in the bug report. Given its annoyance factor, however, the Swing team is working on a fix for the first JDK 6 update release.

Posted by Mark Reinhold on September 07, 2006 at 09:18 AM PDT #

Thank you Mr. Reinhold for the prompt response. I hope the Swing team will fix it. And by the way, 6460921 is a regression even if is not marked that way

Anyway, we will not be able to move to JDK6 until it is fixed.

Posted by Horia Muntean on September 07, 2006 at 05:14 PM PDT #

Ups, wrong link. It should've been 6460921.

And BTW, the shortcut workaround is not a workaround really. More, I think I found a new bug ( related ). Is CTRL+F6 supposed to navigate through minimized internal frames? In JDK5 it's not.

Posted by Horia Muntean on September 07, 2006 at 05:34 PM PDT #

I just started to work with java se 5. Why should I change to se 6? Bw, GV.

Posted by Gergely Vámosi on September 08, 2006 at 08:00 AM PDT #

Gergely: Glad to hear you’ve moved up to Java SE 5. Depending upon what you’re doing it might not make sense to move to Java SE 6 right away, but there are some compelling advantages. Even if you don’t use any of the new features you can still benefit from all the performance work that’s gone into JDK 6.

Posted by Mark Reinhold on September 11, 2006 at 08:21 AM PDT #

Post a Comment:
Comments are closed for this entry.

This blog has moved to <script>var p = window.location.pathname.split('/'); var n = p[p.length - 1].replace(/_/g,'-'); if (n != "301") window.location = "" + n;</script>


« April 2014

No bookmarks in folder


No bookmarks in folder

RSS Atom