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, 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 7 support in the 2.4.x series with a number of bug fixes and synchronises it with the upstream u40 b60 tag.

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 2.4.2 (2013-09-20)

  • System LCMS 2 support again enabled by default, requiring 2.5 or above.
  • OpenJDK
    • S7122222: GC log is limited to 2G for 32-bit
    • S7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand
    • S7165807: Non optimized initialization of NSS crypto library leads to scalability issues
    • S7199324: IPv6: JMXConnectorServer.getConnectionIDs() return IDs contradicting to address grammar
    • S8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
    • S8001424: G1: Rename certain G1-specific flags
    • S8001425: G1: Change the default values for certain G1 specific flags
    • S8004859: Graphics.getClipBounds/getClip return difference nonequivalent bounds, depending from transform
    • S8005019: JTable passes row index instead of length when inserts selection interval
    • S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer ‘scale’ allocated with calloc()
    • S8006941: [macosx] Deadlock in drag and drop
    • S8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier()
    • S8009168: accessibility.properties syntax issue
    • S8009985: [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
    • S8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82
    • S8011569: ARM — avoid native stack walking
    • S8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr
    • S8012144: multiple SIGSEGVs fails on staxf
    • S8012156: tools/javac/file/zip/T6865530.java fails for win32/64
    • S8012241: NMT huge memory footprint, it usually leads to OOME
    • S8012366: Fix for 8007815 breaks down when only building OpenJDK (without deploy and install forests)
    • S8013546: compiler/8011901/Test8011901.java fails with CompilationError: Compilation failed
    • S8013719: Increment build # of hs23.21 to b02
    • S8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment
    • S8014264: The applet pathguy_TimeDead throws java.lang.NullPointerException in java console once click drop-down check box.
    • S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number
    • S8014805: NPE is thrown during certpath validation if certificate does not have AuthorityKeyIdentifier extension
    • S8014850: Third Party License Readme updates for 7u40
    • S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it
    • S8015237: Parallelize string table scanning during strong root processing
    • S8015411: Bump the hsx build number for 7u21-b50 for customer
    • S8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity
    • S8015576: CMS: svc agent throws java.lang.RuntimeException: No type named “FreeList” in database
    • S8015668: overload resolution: performance regression in JDK 7
    • S8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
    • S8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state
    • S8016102: Increment build # of hs23.25 to b02 for 7u25-b31 psu
    • S8016131: nsk/sysdict/vm/stress/chain tests crash the VM in ‘entry_frame_is_first()’
    • S8016133: Regression: diff. behavior with user-defined SAXParser
    • S8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
    • S8016331: Minor issues in event tracing metadata
    • S8016648: FEATURE_SECURE_PROCESSING set to true or false causes SAXParseException to be thrown
    • S8016734: Remove extra code due to duplicated push
    • S8016737: After clicking on “Print UNCOLLATED” button, the print out come in order ‘Page 1′, ‘Page 2′, ‘Page 1′
    • S8016740: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose
    • S8016767: Provide man pages generated from DARB for OpenJDK
    • S8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed
    • S8017159: Unexclude sun/tools/JMAP/Basic.sh test
    • S8017173: XMLCipher with RSA_OAEP Key Transport algorithm can’t be instantiated
    • S8017174: NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger
    • S8017189: [macosx] AWT program menu disabled on Mac
    • S8017252: new hotspot build – hs24-b51
    • S8017478: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites
    • S8017483: G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased
    • S8017510: Add a regression test for 8005956
    • S8017566: Backout 8000450 – Cannot access to com.sun.corba.se.impl.orb.ORBImpl
    • S8017588: SA: jstack -l throws UnalignedAddressException while attaching to core file for java that was started with CMS GC
    • S8019155: Update makefiles with correct jfr packages
    • S8019201: Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException
    • S8019236: [macosx] Add javadoc to the handleWindowFocusEvent in CEmbeddedFrame
    • S8019265: [macosx] apple.laf.useScreenMenuBar regression comparing with jdk6
    • S8019298: new hotspot build – hs24-b52
    • S8019381: HashMap.isEmpty is non-final, potential issues for get/remove
    • S8019541: 7u40 l10n resource file translation update
    • S8019587: [macosx] Possibility to set the same frame for the different screens
    • S8019625: Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs
    • S8019628: [macosx] closed/java/awt/Modal/BlockedMouseInputTest/BlockedMouseInputTest.html failed since 7u40b30 on MacOS
    • S8019826: Test com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java fails with NPE
    • S8019933: new hotspot build – hs24-b53
    • S8019979: Replace CheckPackageAccess test with better one from closed repo
    • S8020038: [macosx] Incorrect usage of invokeLater() and likes in callbacks called via JNI from AppKit thread
    • S8020054: (tz) Support tzdata2013d
    • S8020155: PSR:PERF G1 not collecting old regions when humongous allocations interfer
    • S8020215: Different execution plan when using JIT vs interpreter
    • S8020228: Restore the translated version of logging_xx.properties
    • S8020298: [macosx] Incorrect merge in the lwawt code
    • S8020319: Update Japanese man pages for 7u40
    • S8020371: [macosx] applets with Drag and Drop fail with IllegalArgumentException
    • S8020381: new hotspot build – hs24-b54
    • S8020425: Product options incorrectly removed in minor version
    • S8020430: NullPointerException in xml sqe nightly result on 2013-07-12
    • S8020433: Crash when using -XX:+RestoreMXCSROnJNICalls
    • S8020498: Crash when both libnet.so and libmawt.so are loaded
    • S8020525: Increment build # of hs23.25 to b03 for 7u25-b34 psu
    • S8020547: Event based tracing needs a UNICODE string type
    • S8020625: [TESTBUG] java/util/HashMap/OverrideIsEmpty.java doesn’t compile for jdk7u
    • S8020701: Avoid crashes in WatcherThread
    • S8020796: new hotspot build – hs24-b55
    • S8020811: [macosx] Merge fault 7u25-7u40: Missed focus fix JDK-8012330
    • S8020940: Valid OCSP responses are rejected for backdated enquiries
    • S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances
    • S8021008: Provide java and jcmd man pages for Mac (OpenJDK)
    • S8021148: Regression in SAXParserImpl in 7u40 b34 (NPE)
    • S8021353: Event based tracing is missing thread exit
    • S8021381: JavaFX scene included in Swing JDialog not starting from Web Start
    • S8021565: new hotspot build – hs24-b56
    • S8021771: warning stat64 is deprecated – when building on OSX 10.7.5
    • S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries
    • S8022548: SPECJVM2008 has errors introduced in 7u40-b34
    • S8023751: Need to backout 8020943, was pushed to hs24 without approval
    • S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp
  • New features
    • RH991170: java does not use correct kerberos credential cache
    • PR1536: Allow use of system Kerberos to obtain cache location
    • PR1551: Add build support for Zero AArch64
    • PR1552: Add -D_LITTLE_ENDIAN for ARM architectures.
    • PR1553: Add Debian AArch64 support
    • PR1554: Fix build on Mac OS X
  • Bug fixes
    • RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors
    • RH995488: Java thinks that the default timezone is Busingen instead of Zurich
    • Cleanup file resources properly in TimeZone_md.
    • PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4
    • G477456: emerge fails on pax system: java attempts RWX map, paxctl -m missing
    • G478484: patches/boot/ecj-diamond.patch FAILED
    • Fix Zero following changes to entry_frame_call_wrapper in 8016131
    • RH1008988: Set ZERO_BUILD in flags.make so it is set on rebuilds
    • Cast should use same type as GCDrainStackTargetSize (uintx).
    • Add casts to fix build on S390
  • JamVM
    • JSR292: Invoke Dynamic
    • sun.misc.Unsafe: additional methods get/putAddress: allows JamVM with OpenJDK 7/8 to run recent versions of JEdit.
    • FreeClassData: adjust method count for Miranda methods

The tarball can be downloaded from:

or:

For the first time, 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.

SHA256 checksums:

  • 3dab1edc5c0391bd67cfac60cbfb5c91aee6ea9726043252d9f216dfafd236b6 icedtea-2.4.2.tar.gz
  • aeb1307d2d140805fcc23f05ad96eb1eb41655c14cdece404316978b149aee7a icedtea-2.4.2.tar.gz.sig
  • 8c1edd97b8e7103f0345f0a561cec4f37c77d2016d81c66482bc657cfa14b754 icedtea-2.4.2.tar.xz
  • 4d15428e91980519a7e225c638a3747f9c6c3a909d98db9ef557dc24477c1801 icedtea-2.4.2.tar.xz.sig

The following people helped with these releases:

  • Elliott Baron (RH991170)
  • Dan Horák (S390 support)
  • Andrew Hughes (OpenJDK synchronisation, all other fixes & release management)
  • Alex Kasko (Windows & Mac OS X support)
  • Matthias Klose (Zero AArch64 & Debian support)
  • Denis Lila (RH661505)
  • Robert Lougher (JamVM support)
  • Omair Majid (initial version of RH995488)
  • Xerxes Rånby (JamVM support)

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

To get started:

$ tar xzf icedtea-2.4.2.tar.gz

or:

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

then:

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

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

Happy hacking!