We are pleased to announce the release of IcedTea 2.0!

This release is the first release of IcedTea based on OpenJDK7 since it was released for general availability. It includes all changes from the public OpenJDK7 tree, together with the latest security fixes and a number of IcedTea enhancements.

The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver and support for alternative virtual machines.

Please note that CACAO is not supported in this release as it does not yet support the current OpenJDK7. Support is likely to be restored in a future release.

What’s New?

Security fixes S7000600, CVE-2011-3547: InputStream skip() information leak S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager S7046794, CVE-2011-3553: JAX-WS stack-traces information leak S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine S7055902, CVE-2011-3521: IIOP deserialization code execution S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST) S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer S7077466, CVE-2011-3556: RMI DGC server remote code execution S7083012, CVE-2011-3557: RMI registry privileged code execution S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection

Bug fixes Allow the compiler used to be overridden by setting BUILD_GCC/BUILD_CPP. Fixed regression test runtime/7020373. Convert to optional system library usage via USE_SYSTEM_ZLIB/JPEG/PNG/GIF. PR586: Add missing sources to src.zip. PR717: All non-bootstrap non-conditional patches in IcedTea7 should be in the forest or dropped. PR767: Annotation Processing Filer.getResource() always throws FileNotFoundException PR790: Re-include JAXP and JAXWS in the source tree G356743: Support building against libpng 1.5. S7070134: Hotspot crashes with sigsegv from PorterStemmer S7044738: Loop unroll optimization causes incorrect result S7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post S7073913: Avoid random segfaults. PR751: IcedTea7 should bootstrap with IcedTea7

Zero/Shark PR757, S7066143: 7009309 regression: x86 stubRoutines PR753, S7066143: 7009923 regression PR770: Zero 7033954 regression: missing mapfile methodHandles_zero missing. sharkContext typo in assert sharedRuntime needs rework after indy reorg Add missing describe_pd method for Zero.

JamVM JamVM is self-hosting. PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. LP827463: Fix OpenJDK enclosingMethodInfo(). Add support for armhf. Skip Java-reflection-related DelegatingClassLoaders, enables JamVM to run NetBeans. Generic JNI stubs for common JNI method signatures. Fix memory heap arguments in terms of gigabytes. armhf: ensure stack is 8 byte aligned. “Fix” handling of CLI bootclasspath options. Fix for StackTraceElement checkin. Fix typo in definition of ACC_MIRANDA. Intern strings when creating a StackTraceElement. Ignore assertions and verify options. Remove empty clobber. Use dots instead of slashes in classname for exception. Correct thrown exception by bootstrap loader. Put parsing of -cp and -classpath options back in. Fix threading of references list during compaction. Further fix to freeClassData for native methods. Fix class GC with classes containing Miranda methods. Propogate initialisation errors to top-level. Make classlib init functions consistent + warnings. Correctly implement sun.misc.Unsafe freeMemory(). Move lazy-loading to init function. Fix various warnings with -Wall. PrintThreadsDump needs “self” as argument. CopyMemory, etc. handle negative or truncation in length. Extra sun.misc.Unsafe functions. Ignore options for jtreg tests. Enable shutdownVM to be called with OpenJDK classlib. Initial implementation of JVM_FindClassFromBootLoader. Fix callJNIMethod on i386 with -fomit-frame-pointer. Fix backwards cache conflict resolution code. Unify command line options parsing. Remove debug printf. Fix leak of native thread structure. Consistent naming for classlib functions. Add extra includes to get rid off compiler warning. Rework OpenJDK storage of native thread structure. Implement remaining OpenJDK Array reflection interface.



The tarball can be downloaded from:

The tarball is accompanied by a digital signature, produced using my public key.

pub 4096R/248BDC07 2011-09-28 [expires: 2012-09-27] Key fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 uid Dr Andrew John Hughes <ahughes@redhat.com> uid Dr Andrew John Hughes <gnu_andrew@member.fsf.org> sub 4096R/954E386D 2011-09-28 [expires: 2012-09-27]

SHA256 checksum:

2485d5e7807658bc3488c7e6d4720ef1261a31dd698ce2641f541119e0c2387a icedtea-2.0.tar.gz

The following people helped with these releases:

Mark David Dumlao (JamVM support)

Andrew John Hughes (all other fixes and release management)

Matthias Klose (addvm support)

Xerxes Rånby (Zero/Shark & JamVM support)

Marc Schoenefeld (regression test for HotSpot bug 7020373)

Pavel Tisnovsky (fix for HotSpot bug 7073913)

Mark Wielaard (devel package suggestions, server URL updates)

We would also like to thank the bug reporters and testers!

To get started:

$ tar xzf icedtea-2.0.tar.gz $ cd icedtea-2.0

Full build requirements and instructions are in INSTALL:

$ ./configure [--enable-zero --enable-pulse-java --enable-systemtap ...] $ make

Happy hacking!