Thursday Oct 25, 2012

JDK bug migration: bugs.sun.com now backed by JIRA

The JDK bug migration from a Sun legacy system to JIRA has reached another planned milestone: the data displayed on bugs.sun.com is now backed by JIRA rather than by the legacy system. Besides maintaining the URLs to old bugs, bugs filed since the migration to JIRA are now visible too.

The basic information presented about a bug is the same as before, but reformatted and using JIRA terminology:

  • Instead of a "category", a bug now has a "component / subcomponent" classification. As outlined previously, part of the migration effort was reclassifying bugs according to a new classification scheme; I'll write more about the new scheme in a subsequent blog post.

  • Instead of a list of JDK versions a bug is "reported against," there is a list of "affected versions." The names of the JDK versions have largely been regularized; code names like "tiger" and "mantis" have been replaced by the release numbers like "5.0" and "1.4.2".

  • Instead of "release fixed," there are now "Fixed Versions."

  • The legacy system had many fields that could hold a sequence of text entries, including "Description," "Workaround", and "Evaluation." JIRA instead only has two analogous fields labeled as "Description" and a unified stream of "Comments."

Nearly coincident with switching to JIRA, we also enabled an agent which automatically updates a JIRA issue in response to pushes into JDK-related Hg repositories. These comments include the changeset URL, the user making the push, and a time stamp. These comments are first added when a fix is pushed to a team integration repository and then added again when the fix is pushed into the master repository for a release.

We're still in early days of production usage of JIRA for JDK bug tracking, but the transition to production went smoothly and over 1,000 new issues have already been filed. Many other facets of the migration are still in the works, including hosting new incidents filed at bugs.sun.com in a tailored incidents project in JIRA.

Monday Feb 28, 2011

OpenJDK 6: A changing of the guard

The first public source drop of OpenJDK 6 went out just over three years ago. I've been the release manager for the project for all that time and for the preceding six months while the effort was incubating inside of Sun. Somewhat later than anticipated at the start, all initial goals for the project have long been met, with a public master code repository worked on by both the internal and external community members and a code base that can be used to build a fully compatible implementation of Java SE 6. Combined with the IcedTea 6 set of patches and additions, the code from OpenJDK 6 is used to build the JDK packaged with many Linux distributions.

However, to have more time to spend on other projects, effective immediately I've turned over release management responsibilities for OpenJDK 6 to my colleague Kelly O'Hair. Kelly has considerable experience with JDK development in general and OpenJDK 6 in particular. Kelly has made major contributions to OpenJDK 6 throughout all phases of the project, starting from its inception, to the synthesis of its public Mercurial repositories with history information, to the recent purging of the despised binary plugs.

While I have some sadness in relinquishing leadership of the project, I'm happy to be leaving OpenJDK 6 release management in Kelly's capable hands.

OpenJDK 6: b22 regression test results

Running with the jtreg flags, "-a -ignore:quiet -ea -esa" in all repositories, using generally accessible hosts for the network configuration file, and adding "-s" for langtools, the basic regression test results on Linux for OpenJDK 6 build 22 are:

  • HotSpot, 97 tests passed and 1 failed.

  • Langtools, 1,391 tests passed.

  • JDK, 3,300 tests pass, 30 fail, and 3 have errors.

The preponderance of changes in b22 were for security fixes; the hotspot and langtools tests results are identical to b21:

0: b21-hotspot/summary.txt  pass: 97; fail: 1
1: b22-hotspot/summary.txt  pass: 97; fail: 1

No differences
0: b21-langtools/summary.txt  pass: 1,391
1: b22-langtools/summary.txt  pass: 1,391

No differences

And in jdk, the results were nearly identical:

0: b21-jdka/summary.txt  pass: 3,295; fail: 33; error: 4
1: b22-jdk/summary.txt   pass: 3,300; fail: 30; error: 3

0      1      Test
error  pass   com/sun/jdi/DoubleAgentTest.java
fail   pass   java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java
fail   pass   java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java
fail   pass   java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java
---    pass   tools/launcher/LibraryPath.java

5 differences

(The b21 baseline for the jdk repository was the test run where assertions where enabled.

OpenJDK 6 b22 Source Bundle Published

On February 28, 2011 the source bundle for OpenJDK 6 b22 was published.

The main changes in b22 are the latest round of security updates; in addition, there are a few copyright and licensing fixes. A detailed list of all the changes in b22 is also available.

Tuesday Feb 08, 2011

FOSDEM 2011: OpenJDK 6 and Project Coin

At FOSDEM last weekend, I gave two presentations, one on OpenJDK 6 and the other on Project Coin.

In "The State of OpenJDK 6," after providing some historical context, I discussed various upcoming changes. As relayed elsewhere, Kelly O'Hair will be assisting in OpenJDK 6 release management and security fixes to OpenJDK 6 from Oracle will continue through the end-of-life of the JDK 6 train, which per Oracle policy will occur no sooner than July 2012 (one year after JDK 7 ships GA). Also of note, after JDK 7 ships GA, Oracle will continue development of the 7 update releases in the open, similar to how it has been done pre-GA. In particular, there will not be the same dichotomy between the OpenJDK 7 code base and the 7 update code base as there is between OpenJDK 6 and the 6 update train.

I prepared some additional slides about OpenJDK 6, but did not present them due to time considerations. In the backup portion of slide deck, slide 13 graphs that since b11 the majority of fixes pushed into OpenJDK 6 have been HotSpot changes with the corba, jaxp, and jaxws areas clearly in maintenance. Slides 15 and 16 cover OpenJDK 6 regression test results since b11. There has been a growing number of tests and the overall pass rate is high and generally increasing; langtools and hotspot recently typically have a 100% pass rate and the pass rate for the jdk repository has risen from 98% to 99%.

For Project Coin, I presented the current state the language changes, discussed the development of changes, and spoke briefly on some aspects of developing the changes in the open.

All in all, another fun year at FOSDEM; next time, I hope I'm less afflicted with jet lag!

Friday Jan 21, 2011

OpenJDK 6: b21 regression test results

Running with the usual jtreg flags, "-a -ignore:quiet" in all repositories, using generally accessible hosts for the network configuration file, and adding "-s -ea -esa" for langtools, the basic regression test results on Linux for OpenJDK 6 build 21 are:

  • HotSpot, 97 tests passed and 1 failed.

  • Langtools, 1,391 tests passed.

  • JDK, 3,300 tests pass, 29 fail, and 3 have errors.

More HotSpot tests were added and all but one pass; the new failing test is improperly platform-specific:

0: b20-hotspot/summary.txt  pass: 85
1: b21-hotspot/summary.txt  pass: 97; fail: 1

0      1      Test
---    pass   compiler/6431242/Test.java
---    pass   compiler/6894807/IsInstanceTest.java
---    pass   compiler/6932496/Test6932496.java
---    pass   compiler/6946040/TestCharShortByteSwap.java
---    pass   compiler/6958485/Test.java
---    pass   compiler/6973329/Test.java
---    pass   compiler/6982370/Test6982370.java
---    pass   compiler/7002666/Test7002666.java
---    pass   gc/6581734/Test6581734.java
---    pass   runtime/6626217/Test6626217.sh
---    pass   runtime/6888954/vmerrors.sh
---    pass   runtime/6925573/SortMethodsTest.java
---    fail   runtime/6929067/Test6929067.sh

13 differences

In langtools some tests were added and all the tests continue to pass:

0: b20-langtools/summary.txt  pass: 1,365
1: b21-langtools/summary.txt  pass: 1,391

0      1      Test
---    pass   tools/javac/6508981/TestInferBinaryName.java
---    pass   tools/javac/6734819/T6734819a.java
---    pass   tools/javac/6734819/T6734819b.java
---    pass   tools/javac/6734819/T6734819c.java
---    pass   tools/javac/6889255/T6889255.java
---    pass   tools/javac/T6595666.java
---    pass   tools/javac/T6625520.java
---    pass   tools/javac/T6705935.java
---    pass   tools/javac/T6956638.java
---    pass   tools/javac/api/6411310/Test.java
---    pass   tools/javac/api/6440333/T6440333.java
---    pass   tools/javac/api/6733837/T6733837.java
---    pass   tools/javac/api/Sibling.java
---    pass   tools/javac/api/T6483788.java
---    pass   tools/javac/api/T6501502.java
---    pass   tools/javac/api/T6838467.java
---    pass   tools/javac/api/T6877206.java
pass   ---    tools/javac/policy/Test.java
pass   ---    tools/javac/policy/Test.java#id1
pass   ---    tools/javac/policy/Test.java#id2
pass   ---    tools/javac/policy/Test.java#id3
pass   ---    tools/javac/policy/Test.java#id4
pass   ---    tools/javac/policy/Test.java#id5
pass   ---    tools/javac/policy/Test.java#id6
pass   ---    tools/javac/policy/Test.java#id7
---    pass   tools/javac/policy/test1/Test1a.java
---    pass   tools/javac/policy/test1/Test1a.java#id1
---    pass   tools/javac/policy/test1/Test1a.java#id2
---    pass   tools/javac/policy/test1/Test1a.java#id3
---    pass   tools/javac/policy/test1/Test1a.java#id4
---    pass   tools/javac/policy/test1/Test1a.java#id5
---    pass   tools/javac/policy/test1/Test1a.java#id6
---    pass   tools/javac/policy/test1/Test1a.java#id7
---    pass   tools/javac/policy/test1/Test1b.java
---    pass   tools/javac/policy/test1/Test1b.java#id1
---    pass   tools/javac/policy/test1/Test1b.java#id2
---    pass   tools/javac/policy/test1/Test1b.java#id3
---    pass   tools/javac/policy/test2/Test.java
---    pass   tools/javac/policy/test2/Test.java#id1
---    pass   tools/javac/policy/test2/Test.java#id2
---    pass   tools/javac/policy/test2/Test.java#id3
---    pass   tools/javac/policy/test3/Test.java

42 differences

And in jdk, a small percentage of tests were added and the existing tests have generally consistent results:

0: b20-jdk/summary.txt  pass: 3,273; fail: 33; error: 2
1: b21-jdk/summary.txt  pass: 3,300; fail: 29; error: 3

0      1      Test
---    pass   com/sun/java/swing/plaf/gtk/Test6963870.java
fail   pass   java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java
---    pass   java/awt/Frame/FrameSize/TestFrameSize.java
fail   pass   java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java
fail   pass   java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java
fail   pass   java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
---    pass   java/awt/font/TextLayout/TestSinhalaChar.java
pass   error  java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh
---    pass   java/math/BigDecimal/MultiplyTests.java
pass   fail   java/net/InetAddress/IPv4Formats.java
pass   fail   java/net/URL/OpenStream.java
pass   fail   java/net/URLClassLoader/ClassLoad.java
pass   fail   java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java
---    pass   java/util/logging/AnonLoggerWeakRefLeak.sh
---    pass   java/util/logging/LoggerWeakRefLeak.sh
---    pass   javax/imageio/plugins/png/ITXtTest.java
---    pass   javax/imageio/plugins/png/ItxtUtf8Test.java
---    pass   javax/swing/JPopupMenu/6675802/bug6675802.java
---    pass   javax/swing/JPopupMenu/6691503/bug6691503.java
---    pass   javax/swing/Security/6938813/bug6938813.java
---    pass   javax/swing/UIDefaults/6622002/bug6622002.java
---    pass   javax/swing/UIDefaults/6795356/SwingLazyValueTest.java
---    pass   javax/swing/UIDefaults/6795356/TableTest.java
---    pass   javax/swing/UIDefaults/6795356/bug6795356.java
fail   pass   javax/swing/plaf/synth/Test6933784.java
fail   pass   sun/nio/cs/Test4200310.sh
---    pass   sun/security/pkcs11/SecureRandom/TestDeserialization.java
---    pass   sun/security/pkcs11/Signature/TestRSAKeyLength.java
---    pass   sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
---    fail   sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java
---    pass   sun/security/ssl/javax/net/ssl/NewAPIs/JSSERenegotiate.java
---    pass   sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java
---    pass   sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ConnectionTest.java
---    pass   sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/NoAuthClientAuth.java
fail   pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java
fail   pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java
fail   pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java
fail   pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java
pass   fail   sun/security/validator/CertReplace.java
---    pass   sun/tools/common/CommonTests.sh

40 differences

In addition to the basic results, the hotspot and jdk regression test suites were rerun with assertions and system assertions enabled, -ea -esa. (The langtools tests are already run with assertions enabled.) The results for hotspot were identical to running without assertions; in jdk a few additional tests failed:


0: b21-jdk/summary.txt   pass: 3,300; fail: 29; error: 3
1: b21-jdka/summary.txt  pass: 3,295; fail: 33; error: 4

0      1      Test
pass   error  com/sun/jdi/DoubleAgentTest.java
pass   fail   java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java
pass   fail   java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java
pass   fail   java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java
fail   pass   java/awt/xembed/server/RunTestXEmbed.java
pass   fail   java/net/Authenticator/B4769350.java
pass   fail   java/net/CookieHandler/TestHttpCookie.java
fail   pass   java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java
pass   fail   java/util/ResourceBundle/Test4300693.java

9 differences

Going forward, the baseline regression test results for all OpenJDK 6 repositories will be reported with assertions and system assertions enabled.

OpenJDK 6 b21 Source Bundle Published

On January 21, 2011 the source bundle for OpenJDK 6 b21 was published.

Major changes include the latest round of security fixes and, courtesy Andrew John Hughes, syncing in HotSpot 19. In addition, jaxp was upgraded to 1.4.4, Kelly removed the binary plug logic, some stray rebranding issues were corrected, Jon Gibbons backported a set of JavaFileManager fixes from JDK 7, and the usual sorts of small backports of fixes from JDK 7 occurred too.

A detailed list of all the changes in b21 is also available.

Monday Jun 21, 2010

OpenJDK 6: b20 regression test results

Running with the usual jtreg flags, "-a -ignore:quiet" in all repositories and adding "-s -ea -esa" for langtools, the basic regression test results on Linux for OpenJDK 6 build 20 are:

  • HotSpot, 85 tests passed.

  • Langtools, 1,365 tests passed.

  • JDK, 3,273 tests pass, 33 fail, and 2 have errors.

All the HotSpot tests continue to pass and more tests were added:

0: b19-hotspot/summary.txt  pass: 62
1: b20-hotspot/summary.txt  pass: 85

0      1      Test
---    pass   compiler/6663854/Test6663854.java
---    pass   compiler/6769124/TestArrayCopy6769124.java
---    pass   compiler/6769124/TestDeoptInt6769124.java
---    pass   compiler/6769124/TestUnalignedLoad6769124.java
---    pass   compiler/6792161/Test6792161.java
---    pass   compiler/6866651/Test.java
---    pass   compiler/6877254/Test.java
---    pass   compiler/6879902/Test6879902.java
---    pass   compiler/6880034/Test6880034.java
---    pass   compiler/6885584/Test6885584.java
---    pass   compiler/6891750/Test6891750.java
---    pass   compiler/6895383/Test.java
---    pass   compiler/6896727/Test.java
---    pass   compiler/6901572/Test.java
---    pass   compiler/6909839/Test6909839.java
---    pass   compiler/6910484/Test.java
---    pass   compiler/6910605/Test.java
---    pass   compiler/6910618/Test.java
---    pass   compiler/6912517/Test.java
---    pass   compiler/6916644/Test6916644.java
---    pass   compiler/6921969/TestMultiplyLongHiZero.java
---    pass   compiler/6930043/Test6930043.java
---    pass   compiler/6935535/Test.java

23 differences

In langtools all the tests continue to pass and a few tests were added:

0: b19-langtools/summary.txt  pass: 1,359
1: b20-langtools/summary.txt  pass: 1,365

0      1      Test
---    pass   tools/javac/cast/6548436/T6548436a.java
---    pass   tools/javac/cast/6548436/T6548436b.java
---    pass   tools/javac/cast/6548436/T6548436c.java
---    pass   tools/javac/cast/6548436/T6548436d.java
---    pass   tools/javac/processing/6499119/ClassProcessor.java
---    pass   tools/javac/processing/T6920317.java

6 differences

And in jdk a few tests were also added by virtue of the backports. Otherwise, the existing tests have generally consistent results. As done starting with build 18, the test run below was executed outside of Sun's and Oracle's wide-area network using generally accessible hosts for the network configuration file; to specify the networking configuratuion file, pass a "-e JTREG_TESTENV=Path_to_file" option to jtreg.

0: b19-jdk/summary.txt  pass: 3,261; fail: 28; error: 5
1: b20-jdk/summary.txt  pass: 3,273; fail: 33; error: 2

0      1      Test
---    pass   com/sun/java/swing/plaf/nimbus/ColorCustomizationTest.java
---    pass   com/sun/java/swing/plaf/nimbus/Test6919629.java
error  pass   java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java
error  pass   java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java
---    pass   java/awt/Focus/FrameJumpingToMouse/FrameJumpingToMouse.java
---    pass   java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java
error  fail   java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java
pass   ---    java/awt/Focus/NonFocusableWindowTest/Test.java
fail   pass   java/awt/Focus/TypeAhead/TestFocusFreeze.java
---    pass   java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java
pass   fail   java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java
---    fail   java/awt/Graphics2D/DrawString/RotTransText.java
pass   fail   java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
---    fail   java/awt/font/Rotate/TranslatedOutlineTest.java
pass   error  java/nio/channels/SocketChannel/Connect.java
fail   pass   java/nio/charset/Charset/Contains.java
pass   fail   java/util/Locale/Bug4184873Test.java
---    pass   javax/swing/MultiUIDefaults/4300666/bug4300666.java
---    pass   javax/swing/MultiUIDefaults/4331767/bug4331767.java
---    pass   javax/swing/MultiUIDefaults/Test6860438.java
---    fail   javax/swing/plaf/synth/Test6933784.java
---    pass   sun/pisces/DashStrokeTest.java
error  pass   sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
---    pass   sun/security/tools/jarsigner/diffend.sh
---    pass   sun/security/validator/CertReplace.java
---    pass   sun/security/validator/SameDN.java

26 differences

OpenJDK 6: b20 Source Bundle Published

On June 21, 2010 the source bundle for OpenJDK 6 b20 was published.

The predominant change in this build was rebranding, replacing Sun copyrights with Oracle ones. In the HotSpot repository, this was largely accomplished by Andrew John Hughes's backport of HotSpot 17 into OpenJDK 6. Additional fixes for Zero were also applied as were backports of Nimbus and timezone changes. On the build front, the jaxp and jax-ws source bundles are not downloaded by default anymore. To allow them to be downloaded, add "ALLOW_DOWNLOADS=true" to the top-level make command.

A detailed list of all the changes is also available.

Friday May 07, 2010

Draft of Restarted "OpenJDK Developers' Guide" available for discussion

I've been working on a restarted version of the "OpenJDK Developers' Guide" and I have a draft far enough along for general discussion. The content of the existing guide is primarily logistical and procedural in nature; in time, I plan to migrate this information to a JDK 7 specific page because many of the details are release-specific. The new guide is more conceptual and once completed is intended to be able to last for several releases without major updating.

The table of contents of draft version 0.775 is:

The full draft is available from here.

The compatibility sections are currently more fully developed than the ones about developing a change. (Long-time readers of this blog will be familiar with earlier versions of some of the material.)

All level of feedback is welcome, from correcting typos, to stylistic suggestions, to proposals for new sections. Significant feedback should be sent to the project alias for the guide.

Initially, I plan to maintain the guide as an HTML file and publish new versions as needed. Over time, guide maintenance may transition to more formal version control, such as a small Mercurial repository or a wiki.

Thursday Apr 15, 2010

OpenJDK 6: b19 regression test results

Running with the usual jtreg flags, -a -ignore:quiet in all repositories and adding -s and now also -ea -esa for langtools, the basic regression test results on Linux for OpenJDK 6 build 19 are:

  • HotSpot, 62 tests passed.

  • Langtools, 1,359 tests passed.

  • JDK, 3,261 tests pass, 28 fail, and 5 have errors.

All the HotSpot tests continue to pass and more tests were added:

0: b18-hotspot/summary.txt  pass: 24
1: b19-hotspot/summary.txt  pass: 62

0      1      Test
---    pass   compiler/5057225/Test5057225.java
---    pass   compiler/6378821/Test6378821.java
---    pass   compiler/6539464/Test.java
---    pass   compiler/6589834/Test_ia32.java
---    pass   compiler/6603011/Test.java
---    pass   compiler/6636138/Test1.java
---    pass   compiler/6636138/Test2.java
---    pass   compiler/6711117/Test.java
---    pass   compiler/6772683/InterruptedTest.java
---    pass   compiler/6778657/Test.java
---    pass   compiler/6795161/Test.java
---    pass   compiler/6795465/Test6795465.java
---    pass   compiler/6797305/Test6797305.java
---    pass   compiler/6799693/Test.java
---    pass   compiler/6800154/Test6800154.java
---    pass   compiler/6814842/Test6814842.java
---    pass   compiler/6823354/Test6823354.java
---    pass   compiler/6823453/Test.java
---    pass   compiler/6826736/Test.java
---    pass   compiler/6832293/Test.java
---    pass   compiler/6833129/Test.java
---    pass   compiler/6837011/Test6837011.java
---    pass   compiler/6837094/Test.java
---    pass   compiler/6843752/Test.java
---    pass   compiler/6849574/Test.java
---    pass   compiler/6851282/Test.java
---    pass   compiler/6852078/Test6852078.java
---    pass   compiler/6855164/Test.java
---    pass   compiler/6855215/Test6855215.java
---    pass   compiler/6857159/Test6857159.java
---    pass   compiler/6859338/Test6859338.java
---    pass   compiler/6860469/Test.java
---    pass   compiler/6863155/Test6863155.java
---    pass   compiler/6863420/Test.java
---    pass   compiler/6865031/Test.java
---    pass   compiler/6875866/Test.java
---    pass   compiler/6892265/Test.java
---    pass   gc/6845368/bigobj.java

38 differences

In langtools all the tests continue to pass and a few tests were added:

0: b18-langtools/summary.txt  pass: 1,355
1: b19-langtools/summary.txt  pass: 1,359

0      1      Test
---    pass   tools/javac/enum/T6724345.java
---    pass   tools/javac/processing/6511613/clss41701.java
---    pass   tools/javac/processing/6634138/T6634138.java
---    pass   tools/javac/processing/model/util/elements/VacuousEnum.java

4 differences

And in jdk, many tests were backported form JDK 7 in addition to some new test being added. Otherwise, the existing tests have generally consistent results. As done started with build 18, the test run below was executed outside of Sun's and Oracle's wide-area network using the following contents for the testing network configuration file:

host=icedtea.classpath.org
refusing_host=ns1.gnu.org
far_host=developer.classpath.org

The file location to use for the networking configuration can be set by passing a -e JTREG_TESTENV=Path to file option to jtreg.

0: b18-jdk/summary.txt  pass: 3,148; fail: 19; error: 2
1: b19-jdk/summary.txt  pass: 3,261; fail: 28; error: 5

0      1      Test
---    error  java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java
---    error  java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java
---    error  java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java
---    pass   java/awt/Focus/NonFocusableWindowTest/Test.java
---    fail   java/awt/Focus/TypeAhead/TestFocusFreeze.java
---    fail   java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html
fail   pass   java/awt/event/KeyEvent/CorrectTime/CorrectTime.java
---    fail   java/awt/xembed/server/RunTestXEmbed.java
---    pass   java/nio/charset/Charset/AvailableCharsetNames.java
---    pass   java/nio/charset/Charset/CharsetContainmentTest.java
---    fail   java/nio/charset/Charset/Contains.java
---    pass   java/nio/charset/Charset/EmptyCharsetName.java
---    pass   java/nio/charset/Charset/EncDec.java
---    pass   java/nio/charset/Charset/IllegalCharsetName.java
---    fail   java/nio/charset/Charset/NIOCharsetAvailabilityTest.java
---    pass   java/nio/charset/Charset/NullCharsetName.java
---    pass   java/nio/charset/Charset/RegisteredCharsets.java
---    pass   java/nio/charset/Charset/default.sh
---    pass   java/nio/charset/CharsetDecoder/AverageMax.java
---    pass   java/nio/charset/CharsetDecoder/EmptyInput.java
---    pass   java/nio/charset/CharsetEncoder/CanEncode.java
---    pass   java/nio/charset/CharsetEncoder/Flush.java
---    pass   java/nio/charset/RemovingSunIO/SunioAlias.java
---    pass   java/nio/charset/RemovingSunIO/TestCOMP.java
---    pass   java/nio/charset/RemovingSunIO/TestUnmappableForLength.java
---    pass   java/nio/charset/coders/BashCache.java
---    pass   java/nio/charset/coders/BashStreams.java
---    pass   java/nio/charset/coders/Check.java
---    pass   java/nio/charset/coders/CheckSJISMappingProp.sh
---    pass   java/nio/charset/coders/Errors.java
---    pass   java/nio/charset/coders/FullRead.java
---    pass   java/nio/charset/coders/IOCoders.java
---    pass   java/nio/charset/coders/IsLegalReplacement.java
---    pass   java/nio/charset/coders/ResetISO2022JP.java
---    pass   java/nio/charset/coders/StreamTimeout.java
---    pass   java/nio/charset/coders/Surrogates.java
---    pass   java/nio/charset/spi/basic.sh
fail   pass   java/rmi/transport/pinLastArguments/PinLastArguments.java
---    pass   java/text/Bidi/BidiBug.java
---    pass   java/text/Bidi/BidiEmbeddingTest.java
---    pass   java/text/Bidi/BidiSurrogateTest.java
---    pass   java/util/prefs/CommentsInXml.java
---    pass   java/util/prefs/ConflictInFlush.java
---    pass   java/util/prefs/ExportNode.java
---    pass   java/util/prefs/ExportSubtree.java
---    pass   java/util/prefs/PrefsSpi.sh
---    pass   java/util/prefs/RemoveReadOnlyNode.java
---    pass   java/util/prefs/RemoveUnregedListener.java
---    pass   java/util/prefs/SerializeExceptions.java
---    pass   javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
---    pass   javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
---    pass   javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
---    pass   javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
---    pass   javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
---    pass   javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
---    pass   javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
---    pass   javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
---    pass   javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
---    pass   javax/swing/JColorChooser/Test4165217.java
---    pass   javax/swing/JColorChooser/Test4177735.java
---    pass   javax/swing/JColorChooser/Test4193384.java
---    pass   javax/swing/JColorChooser/Test4234761.java
---    pass   javax/swing/JColorChooser/Test4461329.java
---    pass   javax/swing/JColorChooser/Test4711996.java
---    pass   javax/swing/border/Test4120351.java
---    pass   javax/swing/border/Test4124729.java
---    pass   javax/swing/border/Test6461042.java
---    pass   sun/nio/cs/BufferUnderflowEUCTWTest.java
---    pass   sun/nio/cs/CheckCaseInsensitiveEncAliases.java
---    pass   sun/nio/cs/CheckHistoricalNames.java
---    pass   sun/nio/cs/ConvertSingle.java
---    pass   sun/nio/cs/DecoderOverflow.java
---    pass   sun/nio/cs/EUCJPUnderflowDecodeTest.java
---    pass   sun/nio/cs/EucJpLinux0212.java
---    pass   sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java
---    pass   sun/nio/cs/EuroConverter.java
---    pass   sun/nio/cs/FindASCIICodingBugs.java
---    pass   sun/nio/cs/FindASCIIRangeCodingBugs.java
---    pass   sun/nio/cs/FindCanEncodeBugs.java
---    pass   sun/nio/cs/FindDecoderBugs.java
---    pass   sun/nio/cs/FindEncoderBugs.java
---    pass   sun/nio/cs/FindOneCharEncoderBugs.java
---    pass   sun/nio/cs/HWKatakanaMS932EncodeTest.java
---    pass   sun/nio/cs/ISCIITest.java
---    pass   sun/nio/cs/ISO8859x.java
---    pass   sun/nio/cs/JISAutoDetectTest.java
---    pass   sun/nio/cs/LatinCharReplacementTWTest.java
---    pass   sun/nio/cs/LeftOverSurrogate.java
---    pass   sun/nio/cs/MalformedSurrogates.java
---    pass   sun/nio/cs/NIOJISAutoDetectTest.java
---    pass   sun/nio/cs/ReadZero.java
---    pass   sun/nio/cs/SJISCanEncode.java
---    pass   sun/nio/cs/StreamEncoderClose.java
---    pass   sun/nio/cs/SurrogateGB18030Test.java
---    pass   sun/nio/cs/SurrogateTestEUCTW.java
---    pass   sun/nio/cs/SurrogateTestHKSCS.java
---    fail   sun/nio/cs/Test4200310.sh
---    pass   sun/nio/cs/Test4206507.java
---    pass   sun/nio/cs/Test6254467.java
---    pass   sun/nio/cs/Test6275027.java
---    pass   sun/nio/cs/TestCompoundTest.java
---    pass   sun/nio/cs/TestConverterDroppedCharacters.java
---    pass   sun/nio/cs/TestCp834_SBCS.java
---    pass   sun/nio/cs/TestCp93xSISO.java
---    pass   sun/nio/cs/TestIBMBugs.java
---    pass   sun/nio/cs/TestISCII91.java
---    pass   sun/nio/cs/TestISO2022CNDecoder.java
---    pass   sun/nio/cs/TestISO2022JP.java
---    pass   sun/nio/cs/TestISO2022JPEncoder.java
---    pass   sun/nio/cs/TestISO2022JPSubBytes.java
---    pass   sun/nio/cs/TestIllegalISO2022Esc.java
---    pass   sun/nio/cs/TestIllegalSJIS.java
---    pass   sun/nio/cs/TestJIS0208Decoder.java
---    pass   sun/nio/cs/TestJIS0212Decoder.java
---    pass   sun/nio/cs/TestMS5022X.java
---    pass   sun/nio/cs/TestMiscEUC_JP.java
---    fail   sun/nio/cs/TestSJIS0213.java
---    pass   sun/nio/cs/TestTrailingEscapesISO2022JP.java
---    pass   sun/nio/cs/TestUTF8BOM.java
---    pass   sun/nio/cs/TestUTF_16.java
---    pass   sun/nio/cs/TestUni2HKSCS.java
---    pass   sun/nio/cs/TestX11JIS0201.java
---    pass   sun/nio/cs/UkrainianIsNotRussian.java
---    pass   sun/nio/cs/ZeroedByteArrayEUCTWTest.java
pass   ---    sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
pass   ---    sun/security/ssl/javax/net/ssl/NewAPIs/JSSERenegotiate.java
pass   ---    sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java
pass   ---    sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ConnectionTest.java
pass   ---    sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/NoAuthClientAuth.java
---    fail   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java
---    pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java
---    pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
---    pass   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java
---    fail   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java
---    fail   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java
---    fail   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java
---    pass   sun/security/util/Oid/BerOid.java

137 differences

OpenJDK: 6 b19 Source Bundle Published

On April 15, 2010 the source bundle for OpenJDK 6 b19 was published.

Major changes in this build include the latest round of security fixes and, courtesy of Andrew John Hughes, several significant backports including the HotSpot 16 changes, Zero support, and regression tests previously published under open source in JDK 7. Also of note, all the langtools regression tests now pass when run with assertions enabled.

A detailed list of all the changes is also available.

Thursday Mar 25, 2010

OpenJDK 6 Processes

[The entry below is a lightly edited version of a message previously sent to the OpenJDK 6 development alias jdk6-dev@openjdk.java.net.]


Since questions about OpenJDK 6 processes come up from time to time, in my role as release manager I thought it would be helpful to more fully document the current engineering practices and receive comments about them.

OpenJDK 6 is an implementation of the Java SE 6 specification valuing stability, compatibility, and security. As an implementation of the Java SE 6 specification, all changes to OpenJDK 6 must be allowable within that specification. This requirement precludes many API changes. Acceptable API changes include those permitted by the endorsed standards mechanism, such as upgrading to a newer version of a standalone technology, like a component JSR. One example of such an API change was the upgrade of JAX-WS from 2.0 to 2.1 in OpenJDK 6 build b06.

Changes allowable within the Java SE 6 specification may still be rejected for inclusion in OpenJDK 6 if the behavioral compatibility risk is judged as too large. (See previous write-ups of kinds of compatibility and compatibly regions in JDK releases.) Behavioral compatibility concerns implementation properties of the JDK. Clients of the JDK can knowingly or unknowingly come to rely upon implementation-specification behaviors not guaranteed by the specification and care should be taken to not break such applications needlessly. In contrast, if a change is appropriate for every other JDK release train, it is generally appropriate for OpenJDK 6 too. Examples of such universal changes include security fixes and time zone information updates.

With the above caveats, bug fixes in JDK 7 that do not involve specification changes have presumptive validity for OpenJDK 6. That is, by default such fixes are assumed to be applicable to OpenJDK 6, especially if having "soaked" in JDK 7 for a time without incident. On a related point, the fixes from the stabilized HotSpot forests (for example HotSpot Express 14 or HotSpot Express 16) are suitable for bulk porting to the OpenJDK 6 HotSpot repository without review of individual bugs.

As a general guideline, if a change is applicable to both JDK 7 and OpenJDK 6, the change should be made in JDK 7 no later than the change is made in OpenJDK 6.

With the exception of security fixes, all OpenJDK 6 code review traffic should be sent to jdk6-dev@openjdk.java.net for consideration before a commit occurs. (For subscription instructions and to browse the archives see http://mail.openjdk.java.net/mailman/listinfo/jdk6-dev) All fixes require the approval of the release manager and may require additional technical review and approval at the discretion of the release manager. Security fixes are first kept confidential and applied to a private forest before being pushed to the public forest as part of the general synchronized publication of the fix to effected JDK release trains.

The master Mercurial forest of OpenJDK 6 repositories resides at:
http://hg.openjdk.java.net/jdk6/jdk6

Since there is only a single master OpenJDK 6 forest, near the end of a build period the release manager may defer otherwise acceptable changes to the start of the next build.

The schedule to tag builds of OpenJDK 6 is on an as-needed basis. The timing and feature list of a build is coordinated on the jdk6-dev alias with the IcedTea 6 project, a downstream client of OpenJDK 6. Before a build is tagged, regression and other testing is performed to verify the quality of the build.

After feedback is collected from jdk6-dev and this blog entry, the OpenJDK 6 project page will be updated with the current process information.


Alternatively, in JDK 7 there are a hierarchy of staging integration forests under the master to manage a higher rate of change, see OpenJDK Mercurial Wheel). As the rate of change in OpenJDK 6 is comparatively small, as long as the end of build quiet periods continue to be acceptably short, having a single master forest should be simpler than starting and managing an intermediate staging forest kept open to accepting changes at all times.

Wednesday Feb 17, 2010

OpenJDK 6: b18 regression test results

Running with the usual jtreg flags, -a -ignore:quiet in all repositories and adding -s for langtools, the basic regression test results on Linux for OpenJDK 6 build 18 are:

  • HotSpot, 24 tests passed.

  • Langtools, 1,355 tests passed.

  • JDK, 3,148 tests pass, 19 fail, and 2 have errors.

All the HotSpot tests continue to pass:

0: b17-hotspot/summary.txt  pass: 24
1: b18-hotspot/summary.txt  pass: 24

No differences

In langtools all the tests continue to pass and one test was added:

0: b17-langtools/summary.txt  pass: 1,354
1: b18-langtools/summary.txt  pass: 1,355

0      1      Test
---    pass   tools/javac/T6855236.java

1 differences

And in jdk, a few dozen new tests were added in b18 and the existing tests have generally consistent results, with a number of long-standing test failures corrected by Pavel Tisnovsky. The test run below was executed outside of Sun's and Oracle's wide-area network using the following contents for the testing network configuration file:

host=icedtea.classpath.org
refusing_host=ns1.gnu.org
far_host=developer.classpath.org

The file location to use for the networking configuration can be set by passing a -e JTREG_TESTENV=Path to file option to jtreg.

0: b17-jdk/summary.txt  pass: 3,118; fail: 26
1: b18-jdk/summary.txt  pass: 3,148; fail: 19; error: 2

0      1      Test
---    pass   com/sun/java/swing/plaf/nimbus/Test6741426.java
---    pass   com/sun/java/swing/plaf/nimbus/Test6849805.java
---    pass   com/sun/jdi/BreakpointWithFullGC.sh
---    pass   com/sun/jdi/ResumeOneThreadTest.java
---    pass   com/sun/jdi/SimulResumerTest.java
---    pass   demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java
fail   pass   java/awt/Frame/DynamicLayout/DynamicLayout.java
fail   pass   java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java
fail   pass   java/awt/Frame/ShownOffScreenOnWin98/ShownOffScreenOnWin98Test.java
fail   pass   java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java
---    pass   java/awt/GraphicsDevice/CloneConfigsTest.java
fail   pass   java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java
fail   pass   java/awt/Insets/CombinedTestApp1.java
fail   pass   java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
fail   pass   java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
fail   pass   java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
fail   pass   java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
pass   fail   java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java
fail   pass   java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
fail   pass   java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java
pass   ---    java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java
pass   fail   java/awt/Window/GrabSequence/GrabSequence.java
fail   pass   java/awt/grab/EmbeddedFrameTest1/EmbeddedFrameTest1.java
pass   fail   java/awt/print/PrinterJob/ExceptionTest.java
---    pass   java/lang/ClassLoader/UninitializedParent.java
pass   fail   java/net/ipv6tests/TcpTest.java
pass   fail   java/nio/channels/SocketChannel/AdaptSocket.java
pass   fail   java/nio/channels/SocketChannel/LocalAddress.java
pass   fail   java/nio/channels/SocketChannel/Shutdown.java
pass   fail   java/rmi/transport/pinLastArguments/PinLastArguments.java
---    pass   java/util/TimeZone/OldIDMappingTest.sh
---    pass   java/util/TimeZone/TimeZoneDatePermissionCheck.sh
---    pass   javax/swing/JButton/6604281/bug6604281.java
fail   pass   javax/swing/JTextArea/Test6593649.java
---    pass   javax/swing/Security/6657138/ComponentTest.java
---    pass   javax/swing/Security/6657138/bug6657138.java
---    pass   javax/swing/ToolTipManager/Test6657026.java
---    pass   javax/swing/UIManager/Test6657026.java
---    pass   javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java
---    pass   javax/swing/plaf/metal/MetalBorders/Test6657026.java
---    pass   javax/swing/plaf/metal/MetalBumps/Test6657026.java
---    pass   javax/swing/plaf/metal/MetalInternalFrameUI/Test6657026.java
---    pass   javax/swing/plaf/metal/MetalSliderUI/Test6657026.java
pass   error  sun/java2d/OpenGL/GradientPaints.java
pass   fail   sun/rmi/transport/proxy/EagerHttpFallback.java
---    pass   sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java
---    pass   sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java
---    pass   sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java
---    pass   sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java
pass   error  sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
---    pass   sun/security/tools/jarsigner/emptymanifest.sh
---    pass   sun/security/util/DerValue/BadValue.java
fail   pass   sun/tools/jhat/HatHeapDump1Test.java
fail   pass   sun/tools/native2ascii/NativeErrors.java

54 differences

OpenJDK 6: b18 Source Bundle Published

On February 16, 2010 the source bundle for OpenJDK 6 b18 was published.

Major changes in this build include the latest round of security fixes and, courtesy of Andrew John Hughes, a backport of the Nimbus look and feel from JDK 7. In addition, a new delivery model is being used for the jaxp and jax-ws components.

A detailed list of all the changes is also available.

Monday Oct 19, 2009

OpenJDK 6: b17 regression test results

Running with the usual jtreg flags, -a -ignore:quiet always and -s for the langtools area, the basic regression test results on Linux for OpenJDK 6 build 17 are:

  • HotSpot, 24 tests passed.

  • Langtools, 1354 tests passed.

  • JDK, 3,118 tests pass and 26 tests fail.

With the sync of HotSpot 14 into OpenJDK 6, more tests were added:

0: b16-hotspot/summary.txt  pass: 3
1: b17-hotspot/summary.txt  pass: 24

0      1      Test
---    pass   compiler/6646019/Test.java
---    pass   compiler/6646020/Tester.java
---    pass   compiler/6661247/Test.java
---    pass   compiler/6663848/Tester.java
---    pass   compiler/6689060/Test.java
---    pass   compiler/6695810/Test.java
---    pass   compiler/6700047/Test6700047.java
---    pass   compiler/6711100/Test.java
---    pass   compiler/6712835/Test6712835.java
---    pass   compiler/6714694/Tester.java
---    pass   compiler/6716441/Tester.java
---    pass   compiler/6726999/Test.java
---    pass   compiler/6741738/Tester.java
---    pass   compiler/6756768/Test6756768.java
---    pass   compiler/6756768/Test6756768_2.java
---    pass   compiler/6757316/Test6757316.java
---    pass   compiler/6758234/Test6758234.java
---    pass   compiler/6775880/Test.java
---    pass   compiler/6795362/Test6795362.java
---    pass   compiler/6805724/Test6805724.java
---    pass   runtime/6819213/TestBootNativeLibraryPath.java

21 differences

In langtools all the tests continue to pass; a few tests were rearranged and some more tests were added:

0: b16-langtools/summary.txt  pass: 1,352
1: b17-langtools/summary.txt  pass: 1,354

0      1      Test
---    pass   tools/javac/T6558476.java
---    pass   tools/javac/T6882235.java
---    pass   tools/javac/annotations/pos/TrailingComma.java
pass   ---    tools/javac/api/6440333/T6440333.java
pass   ---    tools/javac/api/Sibling.java
pass   ---    tools/javac/innerClassFile/Driver.java
---    pass   tools/javac/innerClassFile/Driver.sh
pass   ---    tools/javac/links/T.java
---    pass   tools/javac/links/links.sh
---    pass   tools/javac/processing/model/util/elements/TestGetConstantExpression.java

10 differences

And in jdk, a few dozen new tests were added in b17 and the existing tests have generally consistent results:

0: b16-jdk/summary.txt  pass: 3,085; fail: 29; error: 4
1: b17-jdk/summary.txt  pass: 3,118; fail: 26

0      1      Test
error  pass   com/sun/jdi/DoubleAgentTest.java
---    pass   com/sun/jndi/dns/CheckAccess.java
---    pass   com/sun/org/apache/xml/internal/security/TruncateHMAC.java
---    pass   com/sun/security/sasl/util/CheckAccess.java
fail   pass   java/awt/Focus/FrameMinimizeTest/FrameMinimizeTest.java
fail   pass   java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
error  ---    java/awt/PrintJob/EdgeTest/EdgeTest.java
error  pass   java/awt/PrintJob/MultipleEnd/MultipleEnd.java
fail   pass   java/awt/print/PrinterJob/ExceptionTest.java
---    pass   java/beans/Introspector/Test6660539.java
---    pass   java/beans/XMLEncoder/6777487/TestBox.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedCollection.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedList.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedMap.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedRandomAccessList.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedSet.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedSortedMap.java
---    pass   java/beans/XMLEncoder/6777487/TestCheckedSortedSet.java
---    pass   java/beans/XMLEncoder/6777487/TestEnumMap.java
---    pass   java/beans/XMLEncoder/6777487/TestEnumSet.java
---    pass   java/lang/Double/ToString.java
---    pass   java/nio/channels/Selector/RegAfterPreClose.java
fail   pass   java/rmi/transport/pinLastArguments/PinLastArguments.java
---    pass   java/security/AccessControlContext/FailureDebugOption.java
---    pass   java/util/SimpleTimeZone/EndOfDay.java
---    pass   java/util/TimeZone/ListTimeZones.java
---    pass   javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
---    pass   javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
---    pass   javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
---    fail   javax/swing/JTextArea/Test6593649.java
---    pass   javax/swing/plaf/synth/Test6660049.java
---    pass   javax/swing/text/LayoutQueue/Test6588003.java
---    pass   sun/pisces/JoinMiterTest.java
error  pass   sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
---    pass   tools/pack200/MemoryAllocatorTest.java

35 differences

OpenJDK 6: b17 Source Bundle Published

On October 16, the source bundle for OpenJDK 6 b17 was published.

Major changes in this build include the latest round of security fixes and, courtesy of Andrew John Hughes, the syncing of HotSpot 14 into the OpenJDK 6 HotSpot repository.

A detailed list of all the changes is also available.

Saturday May 02, 2009

OpenJDK 6: Regression test results for b16, take 2

The corrected source bundle for b16 has slightly different regression test results than the original one. The langtools and hotspot results are the same, but the jdk area has a different difference from b14/b15:


0: b14-jdk/summary.txt   pass: 3,077; fail: 26; error: 3
1: b16a-jdk/summary.txt  pass: 3,085; fail: 29; error: 4

0      1      Test
pass   error  com/sun/jdi/DoubleAgentTest.java
---    pass   java/awt/FontClass/CreateFont/BigFont.java
---    pass   java/awt/FontClass/CreateFont/DeleteFont.sh
---    pass   java/awt/FontClass/CreateFont/fileaccess/FontFile.java
error  pass   java/awt/FullScreen/UninitializedDisplayModeChangeTest/
              UninitializedDisplayModeChangeTest.java
pass   fail   java/awt/print/PrinterJob/ExceptionTest.java
---    pass   java/beans/PropertyEditor/TestEnumSubclass.java
---    pass   java/beans/PropertyEditor/TestEnumSubclassJava.java
---    pass   java/beans/PropertyEditor/TestEnumSubclassNull.java
---    pass   java/beans/PropertyEditor/TestEnumSubclassValue.java
---    pass   java/io/readBytes/MemoryLeak.java
pass   fail   java/rmi/transport/pinLastArguments/PinLastArguments.java
---    pass   java/util/concurrent/Semaphore/RacingReleases.java
---    pass   javax/print/attribute/MediaMappingsTest.java
---    pass   javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
---    pass   javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
---    pass   javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
fail   pass   javax/swing/JColorChooser/Test6541987.java
pass   error  sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
pass   fail   sun/tools/jhat/HatHeapDump1Test.java
pass   fail   sun/tools/native2ascii/NativeErrors.java
pass   ---    tools/pack200/MemoryAllocatorTest.java

22 differences

Comparing the initial and corrected builds of b16:


0: b16-jdk/summary.txt   pass: 3,079; fail: 27; error: 4
1: b16a-jdk/summary.txt  pass: 3,085; fail: 29; error: 4

0      1      Test
pass   fail   java/awt/Focus/FrameMinimizeTest/FrameMinimizeTest.java
---    pass   java/beans/PropertyEditor/TestEnumSubclass.java
---    pass   java/beans/PropertyEditor/TestEnumSubclassJava.java
---    pass   java/beans/PropertyEditor/TestEnumSubclassNull.java
---    pass   java/beans/PropertyEditor/TestEnumSubclassValue.java
pass   fail   java/rmi/transport/pinLastArguments/PinLastArguments.java
---    pass   java/util/concurrent/Semaphore/RacingReleases.java
---    pass   javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
---    pass   javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
---    pass   javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java

10 differences

Wednesday Apr 15, 2009

OpenJDK 6: Regression test results for b16

Update: Regression test results for the corrected b16 source bundle are now available.

Running with the usual jtreg flags, -a -ignore:quiet always and -s for the langtools area, the basic regression test results on Linux for OpenJDK 6 build 16 are:

  • HotSpot, 3 tests passed.

  • Langtools, 1,352 tests passed.

  • JDK, 3,077 tests pass, 26 tests fail, 3 tests have errors.

In this build, many of the bugs fixed were for security issues or ports of fixes already in JDK 7. The HotSpot test results were stable:

0: b14-hotspot/summary.txt  pass: 3
1: b16-hotspot/summary.txt  pass: 3

No differences

In langtools all the tests continue to pass and a new test was added:

0: b14-langtools/summary.txt  pass: 1,351
1: b16-langtools/summary.txt  pass: 1,352

0      1      Test
---    pass   tools/javac/processing/6512707/T6512707.java

1 differences

And in jdk, a few new tests were added in b16 and the existing tests have generally consistent results:

0: b14-jdk/summary.txt  pass: 3,077; fail: 26; error: 3
1: b16-jdk/summary.txt  pass: 3,079; fail: 27; error: 4

0      1      Test
pass   error  com/sun/jdi/DoubleAgentTest.java
fail   pass   java/awt/Focus/FrameMinimizeTest/FrameMinimizeTest.java
---    pass   java/awt/FontClass/CreateFont/BigFont.java
---    pass   java/awt/FontClass/CreateFont/DeleteFont.sh
---    pass   java/awt/FontClass/CreateFont/fileaccess/FontFile.java
error  pass   java/awt/FullScreen/UninitializedDisplayModeChangeTest
              UninitializedDisplayModeChangeTest.java
pass   fail   java/awt/print/PrinterJob/ExceptionTest.java
---    pass   java/io/readBytes/MemoryLeak.java
---    pass   javax/print/attribute/MediaMappingsTest.java
fail   pass   javax/swing/JColorChooser/Test6541987.java
pass   error  sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
pass   fail   sun/tools/jhat/HatHeapDump1Test.java
pass   fail   sun/tools/native2ascii/NativeErrors.java
pass   ---    tools/pack200/MemoryAllocatorTest.java

14 differences

OpenJDK 6: b16 Source Bundle Published

Update: Due to a misunderstanding, some of the expected fixes were missing from the original b16 source bundle. The corrected bundle has subsequently been posted.

On April 15, the source bundle for OpenJDK 6 b16 was published.

The previous source bundle was for b14. There was no distinct b15 per se; b15 was used to mark the transition from teamware to Mercurial. The b16 build is the first to be done purely in Mercurial.

There were 45 bug fixes in this build ranging from security fixes to sound updates; OpenJDK 6 b16 has all relevant security fixes from the recent JDK synchronized security release. A few fixes of note, during a build importing the binary plugs now defaults to false (6781572) and several fixes were applied that should render a few IcedTea patches unnecessary:

  • 6736248 EnumEditor bug. Class check incorrect

  • 6733718 test /java/awt/FullScreen/UninitializedDisplayModeChangeTest/ fails

  • 6593946 (bf) X-Buffer.compact() does not discard mark as specified

  • 6778493 Fix (langtools) ant build to honor fcs MILESTONE setting

    The other non security bugs fixed in this build are:

    • 6761791 Crash in the FontManager code due to use of JNIEnv saved by another thread

    • 6512707 "incompatible types" after (unrelated) annotation processing

    • 6632696 Writing to closed output files (writeBytes) leaks native memory (unix)

    • 6788196 (porting) Bounds checks in io_util.c rely on undefined behaviour

    • 6791458 FileInputStream/RandomAccessFile.read leaks memory if invoked on closed stream with len > 8k

    • 6792066 src/share/native/java/io/io_util.c clean-ups

    • 6819886 System.getProperty("os.name") reports Vista on Windows 7

    • 6821031 Upgrade OpenJDK's LittleCMS version to 1.18

    • 6800572 Removing elements from views of NavigableMap implementations does not always work correctly.

    • 6801020 Concurrent Semaphore release may cause some require thread not signaled

    • 6806019 38 JCK api/javax_sound/midi/ tests fails starting from jdk7 b46

    • 6803402 Race condition in AbstractQueuedSynchronizer

    • 6793757 Fix formatting of copyright notices in Gervill

    • 6794201 remove unused sources

    • 6808724 UninitializedDisplayModeChangeTest/DisplayModeChanger.java has wrong legal notice

    • 6821030 Merge OpenJDK Gervill with upstream sources, Q1CY2009

    • 6823445 Gervill SoftChannel/ResetAllControllers jtreg test fails after portamento fix from last merge

    • 6823446 Gervill SoftLowFrequencyOscillator fails when freq is set to 0 cent or 8.1758 Hz.

    • 6824976 Fix NAWK assignment in shell script jdk/make/java/java/genlocales.gmk

    • 6828183 testcase from SSR09_01 into jdk6-open hangs

  • About

    darcy

    Search

    Archives
    « April 2014
    SunMonTueWedThuFriSat
      
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       
           
    Today
    News

    No bookmarks in folder

    Blogroll