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:
| 6430931 | Win L&F:FileChooser Details view under Vista throws an exception |
| 6435825 | Win Vista: add animation support for swing components |
| 6449122 | javac process is failing on integration compile |
| 6449504 | REGRESSION:ZipException exception throws when try to read a XML file |
| 6450654 | JNLP app download hangs when BASIC authenticating through HTTPS tunnel |
| 6452106 | FlowView.layout causes ArrayIndexOutOfBoundsException |
| 6453229 | REGRESSION: SIGSEGV while setting MulticastSocket option |
| 6453615 | DOC: Umbrella for build documentation changes |
| 6456523 | Update the class data sharing class list |
| 6458537 | BiasedLocking causes 30% Performance regression in SPECjAppServer |
| 6458700 | WinLaF : Vista : JScrollbar button updates on rollover instead of entire scrollbar |
| 6458742 | cannot load the interactive applet from www.map24.com |
| 6459089 | ArithmeticException with JEditorPane containing HTML |
| 6459421 | javac hangs |
| 6459670 | C2 segv running jlapack |
| 6459806 | Behaviour of java.awt.AWTEventMulticaster.getListeners(,null) is invalid |
| 6460113 | REGRESSION: Access Violation running on 5.0u9 b01 plugin |
| 6460510 | Applet throws OutOfMemory/ClassNotFound exception with cache enabled |
Build 98 contains fixes for these bugs:
| 6239354 | ORB.create_value_tc() does not set TypeCode.concrete_base variable properly |
| 6417341 | IE Window becomes Zombie when closed prior to the modal dialog |
| 6425321 | 5u8b1 PortableInterceptor.ObjectReferenceTemplate components_established:Failed incorrect id |
| 6439864 | Desktop.browse does not work in a webstarted/plugin app, were as the equivalent webstart API works |
| 6443686 | javadoc may need to be updated due to name change |
| 6456678 | SQLException throws a NPE, is not thread-safe and is not coherent |
| 6458333 | DataSet.insert() may fail when multiple threads attempt to insert. No exception is thrown |
| 6459029 | Attempt to close Query object after closing DataSet throws NPE |
| 6459927 | SyncFactory.getRegisteredProviders() returns Enumeration of String instead of SyncProvider since b95 |
| 6460067 | A call to QueryObjectFactory.createDefaultQueryObject() loses the con object of a preceding call |
| 6461677 | Pull Deployment Toolkit from binary |
| 6462001 | Webstart broken on b92+ |
| 6462356 | Solaris only: IME can not be turned on in NetBeans IDE |
| 6462447 | select/update query sharing parameter throws ArrayIndexOutOfBoundException |
| 6462470 | java.lang.NullPointerException from query object update procedure |
| 6462628 | Changes needed to Types.java for new datatypes to avoid collisions with Oracle data types |
| 6463155 | JCK-runtime-6.0: api/java_net/distributed/index.html#NetDistributed fails under plugin |
| 6463235 | Regression on combo boxes in b96 |
| 6463476 | Subpixel rendering: courier W 12pt looks bad |
| 6463612 | 6451939 only fixed for Metal L&F |
| 6463661 | JAXP’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!
Rgds
Damon
Posted by Damon Hart-Davis on September 05, 2006 at 04:17 AM PDT #
Posted by Jan Bösenberg on September 05, 2006 at 09:05 AM PDT #
Posted by Kirill on September 05, 2006 at 06:10 PM PDT #
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 06:56 PM PDT #
Posted by Mark Reinhold on September 05, 2006 at 09:56 PM PDT #
Posted by Mark Reinhold on September 05, 2006 at 10:15 PM PDT #
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 10:34 PM PDT #
Posted by Mark Reinhold on September 05, 2006 at 10:38 PM PDT #
Posted by Juergen on September 06, 2006 at 12:35 AM PDT #
Posted by Horia Muntean on September 06, 2006 at 03:04 AM PDT #
Posted by Mark Reinhold on September 07, 2006 at 04:18 PM 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 08, 2006 at 12:14 AM 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 08, 2006 at 12:34 AM PDT #
Posted by Gergely Vámosi on September 08, 2006 at 03:00 PM PDT #
Posted by Mark Reinhold on September 11, 2006 at 03:21 PM PDT #