Notes generated: Wed Dec 01 02:47:50 CET 2021





Issue Description

32/64-bit interoperability in Java Web Start

The ability to specify a preference to launch a Java Web Start application in 64-bit or 32-bit architectures is now supported, by adding the 'arch' attribute to the JNLP resources block.


Set 32 or 64 bit JRE requirements in a JNLP file

Web Start applications can now specify requested JREs with their arch attributes, and select the first one available that matches, even if it is not the same arch (32 bit vs 64 bit) as the currently running JRE. For example, the JNLP content below would place first preference on 64 bit JDK8, and if not available, 32 bit JDK9: ` <resources arch="x86_64"> <java version="1.8"/> </resources> <resources arch="x86"> <java version="1.9"/> </resources> ` Note that in the above example, in order to launch a 64 bit 1.8 JRE, a 64 bit 9 JRE must be installed. If only a 32 bit 9 JRE is installed, the 64 bit 1.8 JRE is unavailable.


Issue Description

Internal package sun.invoke.anon has been removed

The internal package sun.invoke.anon has been removed. The functionality it used to provide, namely anonymous class loading with possible constant pool patches, is available via the Unsafe.defineAnonymousClass() method.


Issue Description

Improved exception handling for bad LDAP referral replies

The JDK was throwing a NullPointerException when a non-compliant REFERRAL status result was sent but no referral values were included. With this change, a NamingException with message value of "Illegal encoding: referral is empty" will be thrown in such circumstances. See JDK-8149450 and JDK-8154304 for more details


Issue Description

Removed PICL warning message

In 8u40, and 7u80, a new feature was introduced to use the PICL library on Solaris to get some system information. If this library was not found, we printed an error message:

Java HotSpot(TM) Server VM warning: PICL ( is missing. Performance will not be optimal.

This warning was misleading. Not finding the PICL library is a very minor issue, and the warnings mostly lead to confusion. In this release, the warning was removed.


Issue Description

Support SHA224withDSA and SHA256withDSA in the SunJSSE provider

The SHA224withDSA and SHA256withDSA algorithms are now supported in the TLS 1.2 "signature_algorithms" extension in the SunJSSE provider. Note that this extension does not apply to TLS 1.1 and previous versions.


Fix to resolve "Unable to process PreMasterSecret, may be too big" issue

Recent JDK updates introduced an issue for applications that depend on having a delayed provider selection mechanism. The issue was introduced in JDK 8u71, JDK 7u95 and JDK 6u111. The main error seen corresponded to an exception like the following : ` handling exception: Unable to process PreMasterSecret, may be too big `


Issue Description

.oracle_jre_usage folder no longer created in C:\Users\myName

Since JDK 1.8.060, a folder named .oraclejre_usage gets created in the home directory. This folder and the files inside it are created by the Java Runtime Environment to track the last time a JRE was used. This information is very important in understanding what JRE installations are currently being used on the system.

On Windows, this folder gets created under either C:\Users\<username>\AppData\Local or C:\Users\myName\AppData\Roaming depending upon whether the user is local, or is a network user.

Writing content in this folder over the network on Windows can introduce performance overhead. This problem has been fixed with bug JDK-8134300. With this fix .oraclejreusage folder gets created under %ProgramData%/Oracle/Java/


Issue Description

Ability to limit the capacity of buffers that can be held in the temporary buffer cache

The system property jdk.nio.maxCachedBufferSize has been introduced in to limit the memory used by the "temporary buffer cache". The temporary buffer cache is a per-thread cache of direct memory used by the NIO implementation to support applications that do I/O with buffers backed by arrays in the java heap. The value of the property is the maximum capacity of a direct buffer that can be cached. If the property is not set then no limit is put on the size of buffers that are cached. Applications with certain patterns of I/O usage may benefit from using this property. In particular if an application does I/O with large multi-megabyte buffers at startup but therefore does I/O with small buffers may see a benefit to using this property. Applications that do I/O using direct buffers will not see any benefit to using this system property.


Issue Description

New system property for the remote JMX connector

New JMX agent property -

A new property,, is introduced that specifies the bind address for the default JMX agent. If the latter is not specified, the default JMX agent will listen on all interfaces ( and the host value placed in the agent service URL (JMXServiceURL) is the IP address returned from invocation of InetAddress.getLocalHost() method.

  • Name:
  • Definition : Specifies the bind address for the default JMX agent. It can be specified via the command line while starting the JVM or as part of the agent config file (
  • Value: IP address of any network interface of the machine


Issue Description

New property jdk.lang.processReaperUseDefaultStackSize

When a large TLS (Thread local storage) size is set for Threads, the JVM results in a stack overflow exception. The reason for this behavior is that the reaper thread was created with a low stack size of 32768k. When a large TLS size is set, it steals space from the threads stack, which eventually results in a stack overflow. This is a known glibc bug. To overcome this issue, we have introduced a workaround (jdk.lang.processReaperUseDefaultStackSize) in which the user can set the reaper threads stack size to a default instead of to 32768. This gives the reaper thread a bigger stack size, so for a large TLS size, such as 32k, the process will not fail. Users can set this flag in one of two ways: 1. -Djdk.lang.processReaperUseDefaultStackSize=true 2. System.setProperty("jdk.lang.processReaperUseDefaultStackSize", "true")

The problem has been observed only when JVM is started from JNI code in which TLS is declared using "__thread"


Issue Description

Comodo Root CA removed

The Comodo "UTN - DATACorp SGC" root CA certificate has been removed from the cacerts file.


Modify requirements on Authority Key Identifier extension field during X509 certificate chain building

The requirement to have the Authority Key Identifier (AKID) and Subject Key Identifier (SKID) fields matching when building X509 certificate chains has been modified for some cases.


Issue Description

Providing more granular levels for GC verification

This enhancement provides a way to specify more granular levels for the GC verification enabled using the "VerifyBeforeGC", "VerifyAfterGC" and "VerifyDuringGC" diagnostic options. It introduces a new diagnostic option VerifySubSet using which one can specify the subset of the memory system that should be verified.

With this new option, one or more sub-systems can be specified in a comma separated string. Valid memory sub-systems are: threads, heap, symboltable, stringtable, codecache, dictionary, classloaderdatagraph, metaspace, jnihandles, c-heap and codecacheoops.

During the GC verification, only the sub-systems specified using VerifySubSet get verified: ` D:\tests>java -XX:+UnlockDiagnosticVMOptions -XX:+VerifyBeforeGC -XX:VerifySubSet="threads,c-heap" -Xlog:gc+verify=debug Test [0.095s][debug ][gc,verify] Threads [0.099s][debug ][gc,verify] C-heap [0.105s][info ][gc,verify] Verifying Before GC (0.095s, 0.105s) 10.751ms [0.120s][debug ][gc,verify] Threads [0.124s][debug ][gc,verify] C-heap [0.130s][info ][gc,verify] Verifying Before GC (0.120s, 0.130s) 9.951ms [0.148s][debug ][gc,verify] Threads [0.152s][debug ][gc,verify] C-heap If any invalid memory sub-systems are specified with VerifySubSet, Java process exits with the following error message: `` D:\tests>java -XX:+UnlockDiagnosticVMOptions -XX:+VerifyBeforeGC -XX:VerifySubSet="threads,c-heap,hello" -Xlog:gc+verify=debug oom Error occurred during initialization of VM VerifySubSet: 'hello' memory sub-system is unknown, please correct it ```


With UseG1GC, specifying -XX:ParallelGCThreads=0 is no longer allowed

With UseG1GC, specifying -XX:ParallelGCThreads=0 is no longer allowed. Previously, with -XX:ParallelGCThreads=0, G1 would execute some tasks using serial code executed by the VM thread. The closest approximation of this behavior is to specify -XX:ParallelGCThreads=1, which causes parallel tasks to be executed by a single GC worker thread using parallel code.



Priority Bug Summary
P4 JDK-8140620 Find and load default.sf2 as the default soundbank on Linux


Priority Bug Summary
P3 JDK-8073400 Some Monospaced logical fonts have a different width
P3 JDK-8076545 Text size is twice bigger under Windows L&F on Win 8.1 with HiDPI display
P3 JDK-8146035 Windows - With LCD antialiasing, some glyphs are not rendered correctly
P4 JDK-8154625 [Parfait] JNI exception pending in fontpath.c:1300


Priority Bug Summary
P2 JDK-8163583 [macosx] Press "To Back" button on the Dialog,the Dialog moves behind the Frame
P2 JDK-8139581 AWT components are not drawn after removal and addition to a container
P3 JDK-8148984 [macosx] Chinese Comma cannot be entered using Pinyin Input Method on OS X
P3 JDK-8080729 [macosx] java 7 and 8 JDialogs on multiscreen jump to parent frame on focus
P3 JDK-8130242 DataFlavorComparator transitivity exception
P3 JDK-8151998 VS2010 ThemeReader.cpp(758) : error C3861: 'round': identifier not found
P4 JDK-6961123 setWMClass fails to null-terminate WM_CLASS string


Priority Bug Summary
P3 JDK-8145228 Java Access Bridge, getAccessibleStatesStringFromContext doesn't wrap the call to getAccessibleRole


Priority Bug Summary
P2 JDK-8157838 Personalized Windows Font Size is not taken into account in Java8u102
P4 JDK-8149453 [hidpi] JFileChooser does not scale properly on Windows with HiDPI display and Windows L&F
P4 JDK-8149368 [hidpi] JLabel font is twice bigger than JTextArea font on Windows 7,HiDPI, Windows L&F


Priority Bug Summary
P3 JDK-8081771 ProcessTool.createJavaProcessBuilder() needs new addTestVmAndJavaOptions argument


Priority Bug Summary
P3 JDK-8149330 Capacity of StringBuilder should not get close to Integer.MAX_VALUE unless necessary
P4 JDK-8059677 Thread.getName() instantiates Strings


Priority Bug Summary
P4 JDK-8081512 Remove sun.invoke.anon classes, or move / co-locate them with tests


Priority Bug Summary
P3 JDK-8071125 Improve exception messages in URLPermission
P3 JDK-8135259 InetAddress.getAllByName only reports "unknown error" instead of actual cause
P3 JDK-8159410 InetAddress.isReachable returns true for non existing IP addresses
P3 JDK-8065078 NetworkInterface.getNetworkInterfaces() triggers intermittent test failures
P4 JDK-8065076 java/net/SocketPermission/ fails intermittently
P4 JDK-8145388 URLConnection.guessContentTypeFromStream returns image/jpg for some JPEG images


Priority Bug Summary
P4 JDK-8147468 (bf) Allow users to bound the size of buffers cached in the per-thread buffer caches


Priority Bug Summary
P3 JDK-8046339 sun.rmi.transport.DGCAckHandler leaks memory


Priority Bug Summary
P3 JDK-8151431 DateFormatSymbols triggers this.clone() in the constructor


Priority Bug Summary
P4 JDK-8141243 Unexpected timezone returned after parsing a date


Priority Bug Summary
P3 JDK-8054446 Repeated offer and remove on ConcurrentLinkedQueue lead to an OutOfMemoryError


Priority Bug Summary
P3 JDK-8148627 to 64-bit platforms


Priority Bug Summary
P3 JDK-8148820 Missing @since Javadoc tag in Logger.log(Level, Supplier)


Priority Bug Summary
P4 JDK-8068427 Hashtable deserialization reconstitutes table with wrong capacity


Priority Bug Summary
P3 JDK-8141148 LDAP "follow" throws ClassCastException with Java 8
P3 JDK-8149450 LdapCtx.processReturnCode() throwing Null Pointer Exception
P3 JDK-8154304 NullpointerException at LdapReferralException.getReferralContext


Priority Bug Summary
P3 JDK-8149744 fix testng.jar delivery in Nashorn build.xml
P3 JDK-8148379 jdk.nashorn.api.scripting spec. adjustments, clarifications
P3 JDK-8149334 JSON.parse(JSON.stringify([])).push(10) creates an array containing two elements
P4 JDK-8148926 Call site profiling fails on braces-wrapped anonymous function


Priority Bug Summary
P2 JDK-8134300 .oracle_jre_usage folder must not be created in C:\Users\myName


Priority Bug Summary
P4 JDK-4858370 JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command
P4 JDK-4515292 ReferenceType.isStatic() returns true for arrays


Priority Bug Summary
P3 JDK-8145982 JMXInterfaceBindingTest is failing intermittently
P3 JDK-8146015 JMXInterfaceBindingTest is failing intermittently for IPv6 addresses


Priority Bug Summary
P4 JDK-6425769 Allow specifying an address to bind JMX remote connector


Priority Bug Summary
P3 JDK-8133495 Platform.getInstalledJREList() returns only the jres of the current arch on windows.


Priority Bug Summary
P2 JDK-8149497 cannot relaunch to alternate architecture
P3 JDK-8147627 64 bit only app may have problems when initially launched with 32 bit javaws
P3 JDK-8003984 Allow relaunch between 32 / 64 bit versions in Java Web Start when you have latest versions of both
P3 JDK-8055448 Provide a way to specify JRE data model requirements in JNLP file
P3 JDK-8131070 re enable secure launcher for cross platform launches.
P3 JDK-6999748 Uninstaller Error occurs while trying to uninstall apps imported by 32 bit JWS on 64 bit systems
P3 JDK-8153087 URL Scheme handler problem


Priority Bug Summary
P1 JDK-8055530 assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empty()) failed: return value must be well defined
P2 JDK-8141420 Compiler runtime entries don't hold Klass* from being GCed
P2 JDK-8148752 MethodHandle inlining with long/double arguments is broken in C2
P3 JDK-8147645 get_ctrl_no_update() code is wrong
P3 JDK-8149543 range check CastII nodes should not be split through Phi
P3 JDK-8144957 Remove PICL warning message
P4 JDK-8141551 C2 can not handle returns with incompatible interface arrays


Priority Bug Summary
P1 JDK-8076995 gc/ergonomics/ failed with java.lang.RuntimeException: 'new_active_workers' missing from stdout/stderr
P2 JDK-8150518 G1 GC crashes at G1CollectedHeap::do_collection_pause_at_safepoint(double)
P2 JDK-8133023 ParallelGCThreads is not calculated correctly
P3 JDK-8154722 Test gc/ergonomics/ fails
P3 JDK-8152438 Threads may do significant work out of the non-shared overflow buffer
P4 JDK-8150002 Check for the validity of oop before printing it in verify_remembered_set
P4 JDK-8017462 G1: guarantee fails with UseDynamicNumberOfGCThreads
P4 JDK-8072725 Provide more granular levels for GC verification


Priority Bug Summary
P3 JDK-8151064 com/sun/jdi/ fails intermittently
P3 JDK-8149743 JVM crash after debugger hotswap with lambdas
P4 JDK-6976636 JVM/TI test ex03t001 fails assertion


Priority Bug Summary
P3 JDK-8153641 assert(thread_state == _thread_in_native) failed: Assumed thread_in_native while heap dump
P3 JDK-8130425 libjvm crash due to stack overflow in executables with 32k tbss/tdata
P4 JDK-8153673 [BACKOUT] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command
P4 JDK-8139040 Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux.
P4 JDK-8141445 Use of Solaris/SPARC M7 can generate unknown signal in hs_err file


Priority Bug Summary
P4 JDK-8129419 heapDumper.cpp: assert(length_in_bytes > 0) failed: nothing to copy


Priority Bug Summary
P2 JDK-8154803 Update license text in javadoc footer for FX API docs
P4 JDK-8149547 checkrepo should suggest -a
P4 JDK-8151865 JavaFX Gradle build script fails with Gradle 2.12
P4 JDK-8150260 make checkrepo executable bit optional


Priority Bug Summary
P2 JDK-8157398 [TreeTableView] graphic property of TreeItem is still visible after collapsing tree
P3 JDK-8151756 JavaFX CSS is applied redundantly leading to significant performance degradation
P3 JDK-8146325 Spinner throws a ClassCastException under Linux
P4 JDK-8088397 [Dialog] ButtonType text not updated when Locale changes
P4 JDK-8145567 Slider: snapToTicks not honoured on changing to true


Priority Bug Summary
P2 JDK-8150503 Provide media support for libav version 55 and 56
P3 JDK-8130750 JFXMedia Player EventQueueThread does not always terminate


Priority Bug Summary
P3 JDK-8139317 [Mac] SecurityException when constructing WebView from JFXPanel application
P3 JDK-8088916 Replace with public API
P3 JDK-8088689 Several fast/regions/webkit-* tests fail
P3 JDK-8133775 Some WebNode tests crash JVM
P3 JDK-8154161 Webkit: Conversion from string literal loses const qualifier
P4 JDK-8089842 JavaScript2Java Bridge: A char value cannot be set from JavaScript


Priority Bug Summary
P3 JDK-8144144 ORB destroy() leaks filedescriptors after unsuccessful connection


Priority Bug Summary
P2 JDK-8141540 Remove "UTN - DATACorp SGC" Root CA Certificate
P3 JDK-8149411 PKCS12KeyStore cannot extract AES Secret Keys
P3 JDK-8072463 Remove requirement that AKID and SKID have to match when building certificate chain


Priority Bug Summary
P3 JDK-8149417 Use final restricted flag
P4 JDK-8133535 Better exception messaging in Ucrypto code


Priority Bug Summary
P2 JDK-8149017 Delayed provider selection broken in RSA client key exchange.
P2 JDK-8049321 Support SHA224withDSA and SHA256withDSA in the SunJSSE provider
P3 JDK-8069253 javax/net/ssl/TLS/ failed on Mac
P4 JDK-8061464 A typo in CipherTestUtils test
P4 JDK-8146192 Add test for JDK-8049321
P4 JDK-8153531 Improve exception messaging for RSAClientKeyExchange
P4 JDK-8158111 Make handling of 3rd party providers more stable


Priority Bug Summary
P3 JDK-8153438 Avoid repeated "Please insert a smart card" popup windows


Priority Bug Summary
P3 JDK-8149029 Secure validation of XML based digital signature always enabled when checking wrapping attacks


Priority Bug Summary
P3 JDK-8130304 Inference: NodeNotFoundException thrown with deep generic method call chain
P3 JDK-8066871 java.lang.VerifyError: Bad local variable type - local final String
P3 JDK-8143647 Javac compiles method reference that allows results in an IllegalAccessError


Priority Bug Summary
P3 JDK-8072081 Supplementary characters are rejected in comments


Priority Bug Summary
P3 JDK-8145039 JAXB marshaller fails with ClassCastException on classes generated by xjc
P3 JDK-8073872 Schemagen fails with StackOverflowError if element references containing class
P3 JDK-8134111 Unmarshaller unmarshalls XML element which doesn't have the expected namespace


Priority Bug Summary
P3 JDK-8149915 enabling validate-annotations feature for xsd schema with annotation causes NPE
P3 JDK-8144593 Suppress not recognized property/feature warning messages from SAXParser
P3 JDK-8150704 XALAN: ERROR: 'No more DTM IDs are available' when transforming with lots of temporary result trees
P3 JDK-8145974 XMLStreamWriter produces invalid XML for surrogate pairs on OutputStreamWriter