We are pleased to announce the release of IcedTea 3.4.0: ARMed and Ready!

The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK.

This release updates our OpenJDK 8 support with the April 2017 security fixes from OpenJDK 8 u131.

We also add support for building using the AArch32 HotSpot port. This is now
the default on arm[32], which should lead to significant performance increases over the previous default Zero assembler build.

AArch64 also gets some love, with support for this architecture in the Shenandoah HotSpot build (PR3297) and the SystemTap JDK tapsets (PR3340).

If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion takes place on the distro-pkg-dev OpenJDK mailing list and patches are always welcome.

Full details of the release can be found below.

What’s New?

New in release 3.4.0 (2017-05-16)

  • Security fixes
  • New features
    • PR1969: Add AArch32 JIT port
    • PR3297: Allow Shenandoah to be used on AArch64
    • PR3340: jstack.stp should support AArch64
  • Import of OpenJDK 8 u131 build 11
    • S6474807: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException
    • S6515172, PR3346: Runtime.availableProcessors() ignores Linux taskset command
    • S7155957: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8
    • S7167293: FtpURLConnection connection leak on FileNotFoundException
    • S8035568: [macosx] Cursor management unification
    • S8079595: Resizing dialog which is JWindow parent makes JVM crash
    • S8130769: The new menu can’t be shown on the menubar after clicking the “Add” button.
    • S8146602: jdk/test/sun/misc/URLClassPath/ClassnameCharTest.java test fails with NullPointerException
    • S8147842: IME Composition Window is displayed at incorrect location
    • S8147910, PR3346: Cache initial active_processor_count
    • S8150490: Update OS detection code to recognize Windows Server 2016
    • S8160951: [TEST_BUG] javax/xml/bind/marshal/8134111/UnmarshalTest.java should be added into :needs_jre group
    • S8160958: [TEST_BUG] java/net/SetFactoryPermission/SetFactoryPermission.java should be added into :needs_compact2 group
    • S8161147: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled
    • S8161195: Regression: closed/javax/swing/text/FlowView/LayoutTest.java
    • S8161993, PR3346: G1 crashes if active_processor_count changes during startup
    • S8162876: [TEST_BUG] sun/net/www/protocol/http/HttpInputStream.java fails intermittently
    • S8162916: Test sun/security/krb5/auto/UnboundSSL.java fails
    • S8164533: sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with “Error while cleaning up threads after test”
    • S8167179: Make XSL generated namespace prefixes local to transformation process
    • S8168774: Polymorhic signature method check crashes javac
    • S8169465: Deadlock in com.sun.jndi.ldap.pool.Connections
    • S8169589: [macosx] Activating a JDialog puts to back another dialog
    • S8170307: Stack size option -Xss is ignored
    • S8170316: (tz) Support tzdata2016j
    • S8170814: Reuse cache entries (part II)
    • S8170888, PR3314, RH1284948: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments
    • S8171388: Update JNDI Thread contexts
    • S8171949: [macosx] AWT_ZoomFrame Automated tests fail with error: The bitwise mask Frame.ICONIFIED is not setwhen the frame is in ICONIFIED state
    • S8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked.
    • S8173030: Temporary backout fix #8035568 from 8u131-b03
    • S8173031: Temporary backout fix #8171952 from 8u131-b03
    • S8173783, PR3328: IllegalArgumentException: jdk.tls.namedGroups
    • S8173931: 8u131 L10n resource file update
    • S8174844: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
    • S8174985: NTLM authentication doesn’t work with IIS if NTLM cache is disabled
    • S8176044: (tz) Support tzdata2017a
  • Backports
  • Bug fixes
    • PR3348: Architectures unsupported by SystemTap tapsets throw a parse error
    • PR3378: Perl should be mandatory
    • PR3389: javac.in and javah.in should use @PERL@ rather than a hardcoded path
  • AArch64 port
    • S8168699, PR3372: Validate special case invocations [AArch64 support]
    • S8170100, PR3372: AArch64: Crash in C1-compiled code accessing References
    • S8172881, PR3372: AArch64: assertion failure: the int pressure is incorrect
    • S8173472, PR3372: AArch64: C1 comparisons with null only use 32-bit instructions
    • S8177661, PR3372: Correct ad rule output register types from iRegX to iRegXNoSp
  • AArch32 port
    • PR3380: Zero should not be enabled by default on arm with the AArch32 HotSpot build
    • PR3384, S8139303, S8167584: Add support for AArch32 architecture to configure and jdk makefiles
    • PR3385: aarch32 does not support -Xshare:dump
    • PR3386, S8164652: AArch32 jvm.cfg wrong for C1 build
    • PR3387: Installation fails on arm with AArch32 port as INSTALL_ARCH_DIR is arm, not aarch32
    • PR3388: Wrong path for jvm.cfg being used on arm with AArch32 build
  • Shenandoah
    • Fix Shenandoah argument checking on 32bit builds.
    • Import from Shenandoah tag aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25
    • Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-02-20
    • Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-06
    • Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-09
    • Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-23

The tarballs can be downloaded from:

We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so.

The tarballs are accompanied by digital signatures available at:

These are produced using my public key. See details below.

  • PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
  • Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222

GnuPG >= 2.1 is required to be able to handle this key.

SHA256 checksums:

  • 2b606bbbf4ca5bcf2c8e811ea9060da30744860f3d63e1b3149fb5550a90b92b icedtea-3.4.0.tar.gz
  • 15391447e489cb939277a6981ff9dbc2a57d50c6d3682e0159a1dab04a05da02 icedtea-3.4.0.tar.gz.sig
  • b518f389c44d45bb264d7e954b3c0b836d3d23ba9fbd620ff7c68f934a012e9a icedtea-3.4.0.tar.xz
  • 32e80eacf27e3ec31dd698486e2f79a92bc146c4bc37c76bb7e3d8b7e34a7084 icedtea-3.4.0.tar.xz.sig

The checksums can be downloaded from:

A 3.4.0 ebuild for Gentoo is available.

The following people helped with these releases:

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

To get started:

$ tar xzf icedtea-3.4.0.tar.gz


$ tar x -I xz -f icedtea-3.4.0.tar.xz


$ mkdir icedtea-build
$ cd icedtea-build
$ ../icedtea-3.4.0/configure
$ make

Full build requirements and instructions are available in the INSTALL file.

Happy hacking!