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
  • 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!