8.6 (Release 1)


  • javax.realtime.control.AsynchronouslyInterruptedException is now implemented. New code should use the new class javax.realtime.control.AsynchronouslyInterruptedException instead of javax.realtime.AsynchronouslyInterruptedException.

  • javax.realtime.control.AsynchronousControlGroup and according asynchronous task termination is now implemented.

  • The JarAccelerator now warns about incomplete sealed packages which may hint at dead code or inconsistent packaging.


  • Jamaica now supports QNX 7.1.0 as a target platform.

  • Jamaica is now using posix_spawn() for ProcessBuilder functionality on QNX 7.

  • Jamaica now supports Linux on RISC-V as a target platform.

  • Jamaica is now shipped with OpenJDK’s root CA certificates based on jdk8u302.

  • Jamaica is now based on standard classes of OpenJDK version jdk8u302.

  • The fdlibm library used by Jamaica was updated to OpenJDK version jdk8u302.

  • The libffi bundled with Jamaica was updated to version 3.4.2.

  • The FreeType bundled with Jamaica was updated to version 2.11.1.

  • All file and network I/O operations on POSIX-based platforms are now interruptible by signals.

  • The Jamaica-specific API 'com.aicas.jamaica.lang.VMInterface.getTarget()' now correctly throws an OutOfMemoryError when invoked under low memory conditions.


  • The deprecated Builder option -setGraphics has been removed.

  • The option -setTimeslice no longer accepts '0' since it leads to unwanted behavior.


  • Fix JAM-8861: ProcessBuilder on QNX no longer occasionally fails with an IOException (bad file descriptor) during heavy loads.

  • Fix JAM-8809: The Builder no longer exits with an error message for an error that may happen at runtime when classes referenced through constant pool entries do not exist in the classpath.

  • Fix JAM-8219: Upon connecting to JamaicaVM with a Java Debugger (e.g. jdb) the main thread is again suspended in the real main method of the Java application instead of being suspended in "com.jamaicavm.jre.Main.main" method.

  • Fix JAM-8726: JamaicaVM can again detect native stack overflow.

  • Fix JAM-8683: The default implementation of JAXB is now included by the Builder automatically when the JAXB API is used.

  • Fix JAM-6547: sun.reflect.misc.ReflectUtil.isVMAnonymousClass now returns true for anonymous classes.

  • Fix JAM-8839: Fixed missing initialisation of particular internal structures.

  • Fix JAM-8706: Fixed occasional assertion failure in Scheduler for the debug singlecore VM.

  • Fix JAM-8520, JAM-8329, JAM-8251, JAM-8214, JAM-8213, JAM-8212, JAM-8211, JAM-8210, JAM-8184, JAM-7191 and JAM-6207: JamaicaVM now passes all RTSJ TCK AsynchronouslyInterruptedException tests.

  • Fix JAM-8525: RTSJ StackedMemory no longer discards exceptions on exit.

  • Fix JAM-8425 and JAM-7768: the RTSJ realtime clock no longer uses the Epoch as its epoch, so the realtime clock no longer requires any adjustments.

  • Fix JAM-8265 and JAM-7765: RTSJ problems with scope memory finalization.

  • Fix JAM-8132: Issuing the "threads" command in jdb when attached to the JamaicaVM does not result in a segmentation fault anymore if a thread group name of null exists.

  • Fix JAM-8705: The rt.jar no longer contains any invalid inner classes.

  • Fix JAM-8725: Remove classes with dangling class references related to the X Window System from the rt.jar.

  • Fix JAM-8754: The method getCommittedVirtualMemorySize of class sun.management.OperatingSystemMXBean is no longer prone to not returning at all or returning with an error on QNX platforms.