Notes generated: Wed Sep 01 02:46:02 CEST 2021


Issue Description
JDK-8046092 JEP 102: Process API Updates
Improve the API for controlling and managing operating-system processes.
JDK-8042950 JEP 110: HTTP/2 Client (Incubator)
Define a new HTTP client API that implements HTTP/2 and WebSocket, and can replace the legacy HttpURLConnection API. The API will be delivered as an incubator module, as defined in JEP 11, with JDK 9. This implies:
JDK-8046133 JEP 143: Improve Contended Locking
Improve the performance of contended Java object monitors.
JDK-8046148 JEP 158: Unified JVM Logging
Introduce a common logging system for all components of the JVM.
JDK-8046155 JEP 165: Compiler Control
This JEP proposes an improved way to control the JVM compilers. It enables runtime manageable, method dependent compiler flags. (Immutable for the duration of a compilation.)
JDK-8046183 JEP 193: Variable Handles
Define a standard means to invoke the equivalents of various java.util.concurrent.atomic and sun.misc.Unsafe operations upon object fields and array elements, a standard set of fence operations for fine-grained control of memory ordering, and a standard reachability-fence operation to ensure that a referenced object remains strongly reachable.
JDK-8043304 JEP 197: Segmented Code Cache
Divide the code cache into distinct segments, each of which contains compiled code of a particular type, in order to improve performance and enable future extensions.
JDK-8043311 JEP 199: Smart Java Compilation, Phase Two
Improve the sjavac tool so that it can be used by default in the JDK build, and generalize it so that it can be used to build large projects other than the JDK.
JDK-8051618 JEP 200: The Modular JDK
Use the Java Platform Module System, specified by JSR 376 and implemented by JEP 261, to modularize the JDK.
JDK-8051619 JEP 201: Modular Source Code
Reorganize the JDK source code into modules, enhance the build system to compile modules, and enforce module boundaries at build time.
JDK-8042566 JEP 211: Elide Deprecation Warnings on Import Statements
As of Java SE 8, java compilers are required by reasonable interpretations of the Java Language Specification to issue deprecation warnings when a deprecated type is imported by name or when a deprecated member (method, field, nested type) is imported statically. These warnings are uninformative and should not be required. Deprecation warnings at actual uses of deprecated members should remain.
JDK-8042878 JEP 212: Resolve Lint and Doclint Warnings
The JDK code base contains numerous lint and doclint errors as reported by javac. These warnings should be resolved, at least for the fundamental parts of the platform.
JDK-8042880 JEP 213: Milling Project Coin
The small language changes included in Project Coin / JSR 334 as part of JDK 7 / Java SE 7 have been easy to use and have worked well in practice. However, a few amendments could address the rough edges of those changes. In addition, using underscore ("_") as an identifier, which generates a warning as of Java SE 8, should be turned into an error in Java SE 9. It is also proposed that interfaces be allowed to have private methods.
JDK-8044022 JEP 214: Remove GC Combinations Deprecated in JDK 8
Remove the GC combinations that were previously deprecated in JDK 8 via JEP 173.
JDK-8051946 JEP 215: Tiered Attribution for javac
Implement a new method type-checking strategy in javac to speed up attribution of poly expression in argument position.
JDK-8056066 JEP 216: Process Import Statements Correctly
Fix javac to properly accept and reject programs regardless of the order of import statements and extends and implements clauses.
JDK-8047926 JEP 217: Annotations Pipeline 2.0
Redesign the javac annotations pipeline to better address the requirements of annotations and tools that process annotations.
JDK-8043758 JEP 219: Datagram Transport Layer Security (DTLS)
Define an API for Datagram Transport Layer Security (DTLS) version 1.0 (RFC 4347) and 1.2 (RFC 6347).
JDK-8061971 JEP 220: Modular Run-Time Images
Restructure the JDK and JRE run-time images to accommodate modules and to improve performance, security, and maintainability. Define a new URI scheme for naming the modules, classes, and resources stored in a run-time image without revealing the internal structure or format of the image. Revise existing specifications as required to accommodate these changes.
JDK-8042809 JEP 221: New Doclet API
Provide a replacement for the Doclet API to leverage appropriate Java SE and JDK APIs, and update the standard doclet to use the new API.
JDK-8043364 JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)
Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality.
JDK-8061493 JEP 223: New Version-String Scheme
Define a version-string scheme that easily distinguishes major, minor, and security-update releases, and apply it to the JDK.
JDK-8046068 JEP 224: HTML5 Javadoc
Enhance the javadoc tool to generate HTML5 markup.
JDK-8044243 JEP 225: Javadoc Search
Add a search box to API documentation generated by the standard doclet that can be used to search for program elements and tagged words and phrases within the documentation. The search box appears in the header of all pages generated by the standard doclet.
JDK-8043553 JEP 226: UTF-8 Property Resource Bundles
Define a means for applications to specify property files encoded in UTF-8, and extend the ResourceBundle API to load them.
JDK-8043825 JEP 227: Unicode 7.0
Upgrade existing platform APIs to support version 7.0 of the Unicode Standard.
JDK-8043764 JEP 228: Add More Diagnostic Commands
Define additional diagnostic commands, in order to improve the diagnosability of Hotspot and the JDK.
JDK-8044445 JEP 229: Create PKCS12 Keystores by Default
Transition the default keystore type from JKS to PKCS12.
JDK-8050071 JEP 231: Remove Launch-Time JRE Version Selection
Remove the ability to request, at JRE launch time, a version of the JRE that is not the JRE being launched.
JDK-8043631 JEP 232: Improve Secure Application Performance
Improve the performance of applications that are run with a security manager installed.
JDK-8043467 JEP 233: Generate Run-Time Compiler Tests Automatically
Develop a tool to test the run-time compilers by automatically generating test cases.
JDK-8044127 JEP 235: Test Class-File Attributes Generated by javac
Write tests to verify the correctness of class-file attributes generated by javac.
JDK-8048176 JEP 236: Parser API for Nashorn
Define a supported API for Nashorn's ECMAScript abstract syntax tree.
JDK-8044552 JEP 237: Linux/AArch64 Port
Port JDK 9 to Linux/AArch64.
JDK-8047305 JEP 238: Multi-Release JAR Files
Extend the JAR file format to allow multiple, Java-release-specific versions of class files to coexist in a single archive.
JDK-8046661 JEP 240: Remove the JVM TI hprof Agent
Remove the hprof agent from the JDK.
JDK-8059039 JEP 241: Remove the jhat Tool
Remove the antiquated jhat tool.
JDK-8062493 JEP 243: Java-Level JVM Compiler Interface
Develop a Java based JVM compiler interface (JVMCI) enabling a compiler written in Java to be used by the JVM as a dynamic compiler.
JDK-8051498 JEP 244: TLS Application-Layer Protocol Negotiation Extension
Extend the package to support the TLS Application Layer Protocol Negotiation (ALPN) Extension, which provides the means to negotiate an application protocol for a TLS connection.
JDK-8059557 JEP 245: Validate JVM Command-Line Flag Arguments
Validate the arguments to all JVM command-line flags so as to avoid crashes, and ensure that appropriate error messages are displayed when they are invalid.
JDK-8046943 JEP 246: Leverage CPU Instructions for GHASH and RSA
Improve the performance of GHASH and RSA cryptographic operations by leveraging recently-introduced SPARC and Intel x64 CPU instructions.
JDK-8058150 JEP 247: Compile for Older Platform Versions
Enhance javac so that it can compile Java programs to run on selected older versions of the platform.
JDK-8073273 JEP 248: Make G1 the Default Garbage Collector
Make G1 the default garbage collector on 32- and 64-bit server configurations.
JDK-8046321 JEP 249: OCSP Stapling for TLS
Implement OCSP stapling via the TLS Certificate Status Request extension (section 8 of RFC 6066) and the Multiple Certificate Status Request Extension (RFC 6961).
JDK-8059092 JEP 250: Store Interned Strings in CDS Archives
Store interned strings in class-data sharing (CDS) archives.
JDK-8046010 JEP 251: Multi-Resolution Images
Define a multi-resolution image API so that images with resolution variants can easily be manipulated and displayed.
JDK-8043554 JEP 252: Use CLDR Locale Data by Default
Use locale data from the Unicode Consortium's Common Locale Data Repository (CLDR) by default.
JDK-8076423 JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
Define public APIs for the JavaFX UI controls and CSS functionality that is presently only available via internal APIs and will hence become inaccessible due to modularization.
JDK-8054307 JEP 254: Compact Strings
Adopt a more space-efficient internal representation for strings.
JDK-8044086 JEP 255: Merge Selected Xerces 2.11.0 Updates into JAXP
Upgrade the version of the Xerces XML parser included in the JDK with important changes from Xerces 2.11.0.
JDK-8044826 JEP 256: BeanInfo Annotations
Replace @beaninfo Javadoc tags with proper annotations, and process those annotations at run time to generate BeanInfo classes dynamically.
JDK-8043352 JEP 257: Update JavaFX/Media to Newer Version of GStreamer
Update the version of GStreamer included in FX/Media in order to improve security, stability, and performance.
JDK-8064530 JEP 258: HarfBuzz Font-Layout Engine
Replace the existing ICU OpenType font-layout engine with HarfBuzz.
JDK-8043814 JEP 259: Stack-Walking API
Define an efficient standard API for stack walking that allows easy filtering of, and lazy access to, the information in stack traces.
JDK-8132928 JEP 260: Encapsulate Most Internal APIs
Encapsulate most of the JDK's internal APIs by default so that they are inaccessible at compile time, and prepare for a future release in which they will be inaccessible at run time. Ensure that critical, widely-used internal APIs are not encapsulated, so that they remain accessible until supported replacements exist for all or most of their functionality.
JDK-8061972 JEP 261: Module System
Implement the Java Platform Module System, as specified by JSR 376, together with related JDK-specific changes and enhancements.
JDK-8065682 JEP 262: TIFF Image I/O
Extend the standard set of Image I/O plugins to support the TIFF image format.
JDK-8055212 JEP 263: HiDPI Graphics on Windows and Linux
Implement HiDPI graphics on Windows and Linux.
JDK-8046565 JEP 264: Platform Logging API and Service
Define a minimal logging API which platform classes can use to log messages, together with a service interface for consumers of those messages. A library or application can provide an implementation of this service in order to route platform log messages to the logging framework of its choice. If no implementation is provided then a default implementation based upon the java.util.logging API is used.
JDK-8131760 JEP 265: Marlin Graphics Renderer
Update Java 2D to use the Marlin Renderer as the default graphics rasterizer.
JDK-8132960 JEP 266: More Concurrency Updates
An interoperable publish-subscribe framework, enhancements to the CompletableFuture API, and various other improvements.
JDK-8075115 JEP 267: Unicode 8.0
Upgrade existing platform APIs to support version 8.0 of the Unicode Standard.
JDK-8023732 JEP 268: XML Catalogs
Develop a standard XML Catalog API that supports the OASIS XML Catalogs standard, v1.1. The API will define catalog and catalog-resolver abstractions which can be used with the JAXP processors that accept resolvers.
JDK-8048330 JEP 269: Convenience Factory Methods for Collections
Define library APIs to make it convenient to create instances of collections and maps with small numbers of elements, so as to ease the pain of not having collection literals in the Java programming language.
JDK-8046936 JEP 270: Reserved Stack Areas for Critical Sections
Reserve extra space on thread stacks for use by critical sections, so that they can complete even when stack overflows occur.
JDK-8059805 JEP 271: Unified GC Logging
Reimplement GC logging using the unified JVM logging framework introduced in JEP 158.
JDK-8048731 JEP 272: Platform-Specific Desktop Features
Define a new public API to access platform-specific desktop features such as interacting with a task bar or dock, or listening for system or application events.
JDK-8051408 JEP 273: DRBG-Based SecureRandom Implementations
Implement the three Deterministic Random Bit Generator (DRBG) mechanisms described in NIST 800-90Ar1.
JDK-8130227 JEP 274: Enhanced Method Handles
Enhance the MethodHandle, MethodHandles, and MethodHandles.Lookup classes of the java.lang.invoke package to ease common use cases and enable better compiler optimizations by means of new MethodHandle combinators and lookup refinement.
JDK-8080531 JEP 275: Modular Java Application Packaging
Integrate features from Project Jigsaw into the Java Packager, including module awareness and custom run-time creation.
JDK-8075866 JEP 276: Dynamic Linking of Language-Defined Object Models
Provide a facility for linking high-level operations on objects such as "read a property", "write a property", "invoke a callable object", etc., expressed as names in INVOKEDYNAMIC call sites. Provide a default linker for the usual semantics of these operations on plain Java objects, as well as a facility for installing language-specific linkers.
JDK-8065614 JEP 277: Enhanced Deprecation
Revamp the @Deprecated annotation, and provide tools to strengthen the API life cycle.
JDK-8139889 JEP 278: Additional Tests for Humongous Objects in G1
Develop additional white-box tests for the Humongous Objects feature of the G1 Garbage Collector.
JDK-8075621 JEP 279: Improve Test-Failure Troubleshooting
Automatically collect diagnostic information which can be used for further troubleshooting in case of test failures and timeouts.
JDK-8085796 JEP 280: Indify String Concatenation
Change the static String-concatenation bytecode sequence generated by javac to use invokedynamic calls to JDK library functions. This will enable future optimizations of String concatenation without requiring further changes to the bytecode emitted by javac.
JDK-8047975 JEP 281: HotSpot C++ Unit-Test Framework
Enable and encourage the development of C++ unit tests for HotSpot.
JDK-8131679 JEP 282: jlink: The Java Linker
Create a tool that can assemble and optimize a set of modules and their dependencies into a custom run-time image as defined in JEP 220.
JDK-8145568 JEP 283: Enable GTK 3 on Linux
Enable Java graphical applications, whether based on JavaFX, Swing, or AWT, to use either GTK 2 or GTK 3 on Linux.
JDK-8076052 JEP 284: New HotSpot Build System
Rewrite the HotSpot build system using the build-infra framework.
JDK-8147832 JEP 285: Spin-Wait Hints
Define an API to allow Java code to hint that a spin loop is being executed.
JDK-8064399 JEP 287: SHA-3 Hash Algorithms
Implement the SHA-3 cryptographic hash functions (BYTE-only) specified in NIST FIPS 202.
JDK-8149555 JEP 288: Disable SHA-1 Certificates
Improve the security configuration of the JDK by providing a more flexible mechanism to disable X.509 certificate chains with SHA-1 based signatures.
JDK-8149502 JEP 289: Deprecate the Applet API
Deprecate the Applet API, which is rapidly becoming irrelevant as web-browser vendors remove support for Java browser plug-ins. Guide developers to alternative technologies such as Java Web Start or installable applications.
JDK-8154961 JEP 290: Filter Incoming Serialization Data
Allow incoming streams of object-serialization data to be filtered in order to improve both security and robustness.
JDK-8142518 JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector
Deprecate the Concurrent Mark Sweep (CMS) garbage collector, with the intent to stop supporting it in a future major release.
JDK-8066046 JEP 292: Implement Selected ECMAScript 6 Features in Nashorn
Implement, in Nashorn, a selected set of the many new features introduced in the 6th edition of ECMA-262, also known as ECMAScript 6, or ES6 for short.
JDK-8166730 JEP 294: Linux/s390x Port
Port JDK 9 to Linux/s390x.
JDK-8166089 JEP 295: Ahead-of-Time Compilation
Compile Java classes to native code prior to launching the virtual machine.
JDK-8168503 JEP 297: Unified arm32/arm64 Port
Integrate the unified port of HotSpot for arm32 and arm64, contributed by Oracle, into the JDK.
JDK-8164813 JEP 298: Remove Demos and Samples
Remove the outdated and unmaintained demos and samples.
JDK-8167227 JEP 299: Reorganize Documentation
Update the organization of the documents in the JDK, in both the source repositories and the generated docs.



Issue Description

XSLT stylesheets with erroneously placed import elements are now rejected

In accordance with XSL Transformations (XSLT) Version 1.0 (, the xsl:import element is only allowed as a top-level element. The xsl:import element children must precede all other element children of an xsl:stylesheet element, including any xsl:include element children.

The JDK implementation has previously allowed the xsl:import element erroneously placed anywhere in a stylesheet. This issue has been fixed in the JDK 9 release. The JDK implementation now rejects any XSLT stylesheets with erroneously placed import elements.


Issue Description

"sun.lang.ClassLoader.allowArraySyntax" system property is no longer supported

The system property sun.lang.ClassLoader.allowArraySyntax was introduced as a temporary workaround to give customers time to remove their source dependency on calling ClassLoader.loadClass with the array syntax that is not supported since JDK 6. This temporary workaround is removed in JDK 9 and setting sun.lang.ClassLoader.allowArraySyntax system property will have no effect to ClassLoader.loadClass. Existing code that calls ClassLoader.loadClass to create a Class object of an array class shall be replaced with Class.forName; otherwise it will get ClassNotFoundException.


De-synchronize java.util.Properties getter methods

java.util.Properties is a subclass of the legacy Hashtable class, which synchronizes on itself for any access. System properties are stored in a Properties object. They are a common way to change default settings, and sometimes must be read during classloading.

System.getProperties() returns the same Properties instance accessed by the system, which any application code might synchronize on. This situation has lead to deadlocks in the past, such as 6977738.

The Properties class has been updated to store its values in an internal ConcurrentHashMap (instead of using the inherited Hashtable mechanism), and its getter methods and legacy Enumerations are no longer synchronized. This should reduce the potential for deadlocks. It also means that since Properties' Iterators are now generated by ConcurrentHashMap, they don't fail-fast - ConcurrentModificationExceptions are no longer thrown.


Issue Description

JavaFX builder classes have been removed

The JavaFX builder classes, which were previously deprecated in JDK 8 with the stated intention to remove them, have been removed from JDK 9. JavaFX applications that use the builder classes should instead construct the needed scene graph objects directly and set the desired properties with the equivalent method calls.


Issue Description

Access ExtendedGSSContext.inquireSecContext() result through SASL

The output of ExtendedGSSContext.inquireSecContext() is now available as negotiated properties for the SASL GSSAPI mechanism using the name "", where "typename" is the string form of the InquireType enum parameter in lower case. For example, "" for the session key of an established Kerberos 5 security context.



The class has been removed. This class, which is in the JDK-specific extensions to JAAS, was deprecated in JDK 8 and previously flagged for removal.


auth.login.LoginContext needs to be updated to work with modules

After this change, besides implementing the necessary methods (initialize, login, logout, commit, abort), any login module must implement the LoginModule interface. Otherwise a LoginException will be thrown when the login module is used.


Issue Description

Non Java SE DOM APIs moved to jdk.xml.dom module

Before the Java SE 9 release, the DOM API package in org.w3c.dom included sub-packages that were not defined as a part of the Jave SE API. As of Java SE 9, these sub-packages are moved out of the java.xml module to a separate module called jdk.xml.dom. These packages are as follows: ` org.w3c.dom.css org.w3c.dom.html org.w3c.dom.stylesheets org.w3c.dom.xpath `


Issue Description

orb.idl and ir.idl moved to include directory

orb.idl and ir.idl have moved from the JDK lib directory to the include directory. Applications that use a CORBA IDL compiler in their build may need to change the include path from $JAVA_HOME/lib to $JAVA_HOME/include.


Issue Description

Remove Oracle Solaris ISA bin directories and links

On Oracle Solaris, the JDK and JRE no longer have an ISA (Instruction Specific Architecture) bin directory. The $JAVA_HOME/bin/sparcv9 and $JAVA_HOME/bin/amd64 directories, and the sym links in the directories, were present in JDK 8 to aid migration after 32-bit support was removed. Scripts or applications that rely on these locations should be updated to use $JAVA_HOME/bin.


lib/$ARCH directory removed from Linux and Solaris images

The lib/$ARCH directory, which used to contain native-code shared objects (.so files) for the VM and the libraries, has been removed and the contents has moved up one level into the lib/ directory.


Issue Description

com.sun.tracing APIs are removed

The following unsupported APIs are removed: * com.sun.tracing * com.sun.tracing.dtrace


Issue Description

Fixed memory leak when Java objects are passed into JavaScript

The bug fix for JDK-8089861, which was first integrated in JDK 8u102, fixes a memory leak when Java objects are passed into JavaScript. Prior to JDK 8u102, the WebView JavaScript runtime held a strong reference to such bound objects, which prevented them from being garbage collected. After the fix for JDK-8089861, the WebView JavaScript runtime uses weak references to refer to bound Java objects. The specification was updated to make it clear that this is the intended behavior.

Applications which rely on the previously unspecified behavior might be affected by the updated behavior if the application does not hold a strong reference to an object passed to JavaScript. In such case, the Java object might be garbage collected prematurely. The solution is to modify the application to hold a strong reference in Java code for objects that should remain live after being passed into JavaScript.


Fixed memory leak when Java objects are passed into JavaScript

The bug fix for JDK-8089861, which was first integrated in JDK 8u102, fixes a memory leak when Java objects are passed into JavaScript. Prior to JDK 8u102, the WebView JavaScript runtime held a strong reference to such bound objects, which prevented them from being garbage collected. After the fix for JDK-8089861, the WebView JavaScript runtime uses weak references to refer to bound Java objects. The specification was updated to make it clear that this is the intended behavior.

Applications which rely on the previously unspecified behavior might be affected by the updated behavior if the application does not hold a strong reference to an object passed to JavaScript. In such case, the Java object might be garbage collected prematurely. The solution is to modify the application to hold a strong reference in Java code for objects that should remain live after being passed into JavaScript.


Fixed memory leak when Java objects are passed into JavaScript

The bug fix for JDK-8089861, which was first integrated in JDK 8u102, fixes a memory leak when Java objects are passed into JavaScript. Prior to JDK 8u102, the WebView JavaScript runtime held a strong reference to such bound objects, which prevented them from being garbage collected. After the fix for JDK-8089861, the WebView JavaScript runtime uses weak references to refer to bound Java objects. The specification was updated to make it clear that this is the intended behavior.

Applications which rely on the previously unspecified behavior might be affected by the updated behavior if the application does not hold a strong reference to an object passed to JavaScript. In such case, the Java object might be garbage collected prematurely. The solution is to modify the application to hold a strong reference in Java code for objects that should remain live after being passed into JavaScript.


Issue Description

Support @-files for java command-line tool

The java launcher now supports reading arguments from "argument files" specified on the command line. It is not uncommon that the java launcher is invoked with very long command lines (a long class path for example). Many operating systems impose a limit on the length of a command line, something that "argument files" can be used to work around.

In JDK 9, java now can read arguments from specified files as they are put on the command line. See java command reference and java Command-Line Argument Files for more details.


Remove Launch-Time JRE Version Selection

The Launch-Time JRE Version Selection also known as Multiple JRE or mJRE functionality will no longer be available with the java launcher. This means the java launcher will not invoke another JRE version, and will exit with an error.

The presence of "-version:x.y.z", "-jre-restrict-search" and "-jre-no-restrict-search" on the java launcher's command-line will cause it to exit with an error message. The environment variable "JREVERSIONPATH" will be ignored.

The Java Archive (jar) manifest entry "JRE-version" will cause the java launcher to emit a warning, and "JRE-Restrict-Search" will be ignored.


The launcher no longer uses ergonomics to select the VM

In previous releases, on platforms that supported more than one VM, the launcher could use ergonomics to select the Server VM over the Client VM. Ergonomics would identify a "server-class" machine based on the number of CPUs and the amount of memory. With modern hardware platforms most machines are identified as server-class, and so now, only the Server VM is provided on most platforms. Consequently the ergonomic selection is redundant and has been removed. Users are advised to use the appropriate launcher VM selection flag on those systems where multiple VMs still exist.


Add a new launcher environment variable JDK_JAVA_OPTIONS

JDK 9 supports a new environment variable JDK_JAVA_OPTIONS to prepend options to those specified on the command line. The new environment variable has several advantages over the legacy/unsupported _JAVA_OPTIONS environment variable including the ability to include java launcher options and @file support. The new environment variable may also be useful when migrating from JDK 8 to JDK 9 for cases where new command line options (that are not supported by JDK 8) are needed.

For more details, see java launcher reference guide.


Issue Description

IBM1166 character set now available

This release adds IBM1166 character set. It provides support for cyrillic multilingual with euro for Kazakhstan. Aliases for this new character set include "cp1166","ibm1166", "ibm-1166", "1166".


Issue Description

Custom Policy Providers may need additional configuration

Classes loaded from the extensions directory are no longer granted AllPermission by default. See JDK-8040059.

A custom provider that was using the extensions mechanism may be depending on the policy grant statement that had previously granted it AllPermission. If the policy provider does anything that requires a permission check, the local policy file may need to be adjusted to grant those permissions.

Also, custom policy providers are loaded by the system class loader. The classpath may need to be configured to allow the provider to be located.


Comodo Root CA removed

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


Removed stopThread RuntimePermission from the default java.policy

The default java.policy no longer grants stopThread runtime permission in JDK 9.

In previous releases, untrusted code had the stopThread runtime permission by default. This allows untrusted code to call Thread::stop ( on threads other than the current one ). Having an arbitrary exception thrown asynchronously is not something that trusted code should be expected to handle gracefully. So this permission is removed by default in JDK 9. The following line is deleted from the file conf/security/java.policy : permission java.lang.RuntimePermission "stopThread";


Deprecate pre-1.2 SecurityManager methods and fields with forRemoval=true

The following pre-1.2 deprecated java.lang.SecurityManager methods and fields have been marked with forRemoval=true: the inCheck field, and the getInCheck, classDepth, classLoaderDepth, currentClassLoader, currentLoadedClass, inClass, and inClassLoader methods. This field and these methods should no longer be used and are subject to removal in a future version of Java SE.


Deprecate the API

The API has been deprecated. The classes in this package should no longer be used. The package contains suitable replacements. See Policy and related classes for details.


Add variant of DSA Signature algorithms that do not ASN.1 encode the signature bytes

A non-ASN.1 encoded form for DSA and ECDSA signatures has been implemented. This new signature output format concatenates the r and s values from the signature in conformance with IEEE P1363. Signature objects using this format must provide one of the following algorithm Strings to the Signature.getInstance() method:

For DSA: NONEwithDSAinP1363Format SHA1withDSAinP1363Format SHA224withDSAinP1363Format SHA256withDSAinP1363Format

For ECDSA: NONEwithECDSAinP1363Format SHA1withECDSAinP1363Format SHA224withECDSAinP1363Format SHA256withECDSAinP1363Format SHA384withECDSAinP1363Format SHA512withECDSAinP1363Format


Default key sizes for the AlgorithmParameterGenerator and KeyPairGenerator implementations updated

To improve security, the default key size for the RSA and DiffieHellman KeyPairGenerator implementations and the DiffieHellman AlgorithmParameterGenerator implementations has been increased from 1024 bits to 2048 bits. The default key size for the DSA KeyPairGenerator and AlgorithmParameterGenerator implementations remains at 1024 bits to preserve compatibility with applications that are using keys of that size with the SHA1withDSA signature algorithm.

With increases in computing power and advances in cryptography, the minimum recommended key size increases over time. Therefore, future versions of the platform may increase the default size.


keytool now prints out information of a certificate's public key

Keytool now prints out the key algorithm and key size of a certificate's public key, in the form of "Subject Public Key Algorithm: `<size>-bit RSA key", where <size>` is the key size in bits (ex: 2048).


Deprecate the com.sun.jarsigner package

The com.sun.jarsigner package is now deprecated. This includes the ContentSigner class, the ContentSignerParameters interface, and the jarsigner command's "-altsigner" and "-altsignerpath" options.


Sonera Class1 CA Removed

The "Sonera Class1 CA" root CA certificate has been removed from the cacerts file.


jarsigner -verbose -verify should print the algorithms used to sign the jar

The jarsigner tool has been enhanced to show details of the algorithms and keys used to generate a signed JAR file and will also provide an indication if any of them are considered weak.

Specifically, when "jarsigner -verify -verbose filename.jar" is called, a separate section is printed out showing information of the signature and timestamp (if it exists) inside the signed JAR file, even if it is treated as unsigned for various reasons. If any algorithm or key used is considered weak, as specified in the Security property jdk.jar.disabledAlgorithms, it will be labeled with "(weak)".

For example: ` - Signed by "CN=weak_signer" Digest algorithm: MD2 (weak) Signature algorithm: MD2withRSA (weak), 512-bit key (weak) Timestamped by "CN=strong_tsa" on Mon Sep 26 08:59:39 CST 2016 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit key `


New default -sigalg and -keysize for jarsigner and keytool

Default signature algorithms for jarsigner and keytool are determined by both the algorithm and the key size of the private key which makes use of comparable strengths as defined in Tables 2 and 3 of NIST SP 800-57 Part 1-Rev.4. Specifically, for a DSA or RSA key with a key size greater than 7680 bits, or an EC key with a key size greater than or equal to 512 bits, SHA-512 will be used as the hash function for the signature algorithm. For a DSA or RSA key with a key size greater than 3072 bits, or an EC key with a key size greater than or equal to 384 bits, SHA-384 will be used. Otherwise, SHA-256 will be used. The value may change in the future.

For DSA keys, the default key size for keytool has changed from 1024 bits to 2048 bits.

There are a few potential compatibility risks associated with these changes:

  1. If you use jarsigner to sign JARs with the new defaults, previous versions (than this release) might not support the stronger defaults and will not be able to verify the JAR. jarsigner -verify on such a release will output the following error: ` jar is unsigned. (signatures missing or not parsable) If you thejarsignercommand line, the cause will be output: `` jar: processEntry caught: SHA256withDSA Signature not available `` If compatibility with earlier releases is important, you can, at your own risk, use the-sigalgoption ofjarsigner` and specify the weaker SHA1withDSA algorithm.

  2. If you use a PKCS11 keystore, the SunPKCS11 provider may not support the SHA256withDSA algorithm. jarsigner and some keytool commands may fail with the following exception if PKCS11 is specified with the -storetype option, ex:

    ` keytool error: No installed provider supports this key:$P11PrivateKey A similar error may occur if you are using NSS with the SunPKCS11 provider. The workaround is to use the-sigalgoption ofkeytool` and specify SHA1withDSA.

  3. If you have a script that uses the default key size of keytool to generate a DSA keypair but then subsequently specifies a specific signature algorithm, ex: ` keytool -genkeypair -keyalg DSA -keystore keystore -alias mykey ... keytool -certreq -sigalg SHA1withDSA -keystore keystore -alias mykey ... it will fail with one of the following exceptions, because the new 2048-bit keysize default is too strong for SHA1withDSA: `` keytool error: The security strength of SHA-1 digest algorithm is not sufficient for this key size keytool error: DSA key must be at most 1024 bits ```

    You will see a similar error if you use jarsigner to sign JARs using the new 2048-bit DSA key with -sigalg SHA1withDSA set.

    The workaround is to remove the -sigalg option and use the stronger SHA256withDSA default or, at your own risk, use the -keysize option of keytool to create new keys of a smaller key size (1024).

See JDK-8057810, JDK-8056174 and JDK-8138766 for more details.


Required Algorithms for JDK 9

The following have been added to the security algorithm requirements for JDK implementations (keysize in parentheses):

  1. Signature: SHA256withDSA
  2. KeyPairGenerator: DSA (2048), DiffieHellman (2048, 4096), RSA (4096)
  3. AlgorithmParameterGenerator: DSA (2048), DiffieHellman (2048)
  4. Cipher: AES/GCM/NoPadding (128), AES/GCM/PKCS5Padding (128)
  5. SSLContext: TLSv1.1, TLSv1.2
  6. TrustManagerFactory: PKIX


New APIs for jar signing

A new API is added to the jdk.jartool module which can be used to sign a jar file.


De-privileged module permissions granted by default

When using a SecurityManager, the permissions required by JDK modules are granted by default, and are not dependent on the policy.url properties that are set in the file.

This also applies if you are setting the system property with either the '=' or '==' option.


Disallow null values for Subject inputs

Inputs to the class now prohibit null values in the constructors and modification operations on the Principal and credential Set objects returned by Subject methods.

For the non-default constructor, the principals, pubCredentials, and privCredentials parameters may not be null, nor may any element within the Sets be null. A NullPointerException will be thrown if null values are provided.

For operations performed on Set objects returned by getPrincipals(), getPrivateCredentials() and getPublicCredentials(), a NullPointerException is thrown under the following conditions: * add(), remove(), or contains() uses a null parameter. * addAll(), removeAll(), containsAll() or retainsAll() provides a Collection containing a null element.


Change in the default keystore type to PKCS12

As of JDK 9, the default keystore type (format) is "pkcs12" which is based on the RSA PKCS12 Personal Information Exchange Syntax Standard. Previously, the default keystore type was "jks" which is a proprietary format. Other keystore formats are available, such as "jceks" which is an alternate proprietary keystore format with stronger encryption than "jks" and "pkcs11", which is based on the RSA PKCS11 Standard and supports access to cryptographic tokens such as hardware security modules and smartcards.


keytool now prints warnings when reading or generating certificates/certificate requests/CRLs using weak algorithms

With one exception, keytool will always print a warning if the certificate, certificate request, or CRL it is parsing, verifying, or generating is using a weak algorithm or key. When a certificate is from an existing TrustedCertificateEntry, either in the keystore directly operated on or in the cacerts keystore when the -trustcacerts option is specified for the -importcert command, keytool will not print a warning if it is signed with a weak signature algorithm. For example, suppose the file cert contains a CA certificate signed with a weak signature algorithm, keytool -printcert -file cert and keytool -importcert -file cert -alias ca -keystore ks will print out a warning, but after the last command imports it into the keystore, keytool -list -alias ca -keystore ks will not show a warning anymore.

An algorithm or a key is weak if it matches the value of the jdk.certpath.disabledAlgorithms security property defined in the conf/security/ file.


Support added to jarsigner for specifying timestamp hash algorithm

A new -tsadigestalg option is added to jarsigner to specify the message digest algorithm that is used to generate the message imprint to be sent to the TSA server. In older JDK releases, the message digest algorithm used was SHA-1. If this new option is not specified, SHA-256 will be used on JDK 7 Updates and later JDK family versions. On JDK 6 Updates, SHA-1 will remain the default but a warning will be printed to the standard output stream.


New certificates added to root CAs

Eight new root certificates have been added :

QuoVadis Root CA 1 G3 alias: quovadisrootca1g3 DN: CN=QuoVadis Root CA 1 G3, O=QuoVadis Limited, C=BM

QuoVadis Root CA 2 G3 alias: quovadisrootca2g3 DN: CN=QuoVadis Root CA 2 G3

QuoVadis Root CA 3 G3 alias: quovadisrootca3g3 DN: CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM

DigiCert Assured ID Root G2 alias: digicertassuredidg2 DN: CN=DigiCert Assured ID Root G2,, O=DigiCert Inc, C=US

DigiCert Assured ID Root G3 alias: digicertassuredidg3 DN: CN=DigiCert Assured ID Root G3,, O=DigiCert Inc, C=US

DigiCert Global Root G2 alias: digicertglobalrootg2 DN: CN=DigiCert Global Root G2,, O=DigiCert Inc, C=US

DigiCert Global Root G3 alias: digicertglobalrootg3 DN: CN=DigiCert Global Root G3,, O=DigiCert Inc, C=US

DigiCert Trusted Root G4 alias: digicerttrustedrootg4 DN: CN=DigiCert Trusted Root G4,, O=DigiCert Inc, C=US


Update SecurityManager::checkPackageAccess to restrict non-exported JDK packages by default

The implementation of the checkPackageAccess and checkPackageDefinition methods of java.lang.SecurityManager now automatically restrict all non-exported packages of JDK modules loaded by the platform class loader or its ancestors. This is in addition to any packages listed in the package.access and package.definition security properties. A "non-exported package" refers to a package that is not exported to all modules. Specifically, it refers to a package that either is not exported at all by its containing module or is exported in a qualified fashion by its containing module.

If your application is running with a SecurityManager, it will need to be granted an appropriate accessClassInPackage.{package} RuntimePermission to access any internal JDK APIs (in addition to specifying an appropriate --add-exports option). If the application has not been granted access, a SecurityException will be thrown.

Note that an upgraded JDK module may have a different set of internal packages than the corresponding system module, and therefore may require a different set of permissions.

The package.access and package.definition properties no longer contain internal JDK packages that are not exported. Therefore, if an application calls Security.getProperty("package.access"), it will not include the builtin non-exported JDK packages.

Also, when running under a SecurityManager, an attempt to access a type in a restricted package that does not contain any classes now throws a ClassNotFoundException instead of an AccessControlException. For example, loading sun.Foo now throws a ClassNotFoundException instead of an AccessControlException because there are no classes in the sun package.


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.


New IdenTrust certificates added to root CAs

Three new root certificates have been added :

IdenTrust Public Sector Root CA 1 alias: identrustpublicca DN: CN=IdenTrust Public Sector Root CA 1, O=IdenTrust, C=US

IdenTrust Commercial Root CA 1 alias: identrustcommercial DN: CN=IdenTrust Commercial Root CA 1, O=IdenTrust, C=US

IdenTrust DST Root CA X3 alias: identrustdstx3 DN: CN=DST Root CA X3, O=Digital Signature Trust Co.


New DTrust certificates added to root CAs

Two new root certificates have been added :

D-TRUST Root Class 3 CA 2 2009 alias: dtrustclass3ca2 DN: CN=D-TRUST Root Class 3 CA 2 2009, O=D-Trust GmbH, C=DE

D-TRUST Root Class 3 CA 2 EV 2009 alias: dtrustclass3ca2ev DN: CN=D-TRUST Root Class 3 CA 2 EV 2009, O=D-Trust GmbH, C=DE


Deprecate policytool

The policytool security tool is deprecated in JDK 9. It will be removed in a future release.


Fix denyAfter and usage types for security properties

A new constraint named 'usage' has been added to the 'jdk.certpath.disabledAlgorithms' security property, that when set, restricts the algorithm if it is used in a certificate chain for the specified usage(s). Three usages are initially supported: 'TLSServer' for restricting authentication of TLS server certificate chains, 'TLSClient' for restricting authentication of TLS client certificate chains, and 'SignedJAR' for restricting certificate chains used with signed JARs. This should be used when disabling an algorithm for all usages is not practical. The usage type follows the keyword and more than one usage type can be specified with a whitespace delimiter. For example, to disable SHA1 for TLS server and client certificate chains, add the following to the property: "SHA1 usage TLSServer TLSClient"

The 'denyAfter' constraint has been added to the 'jdk.jar.disabledAlgorithms' security property. When set, it restricts the specified algorithm if it is used in a signed JAR after the specified date, as follows:

a. if the JAR is not timestamped, it will be restricted (treated as unsigned) after the specified date

b. if the JAR is timestamped, it will not be restricted if it is timestamped before the specified date.

For example, to restrict usage of SHA1 in jar files signed after January 1, 2018, add the following to the property: "SHA1 denyAfter 2018-01-01".


SunPKCS11 Provider no longer offering SecureRandom by default

SecureRandom.PKCS11 from the SunPKCS11 Provider is disabled by default on Solaris because the native PKCS11 implementation has poor performance and is not recommended. If your application requires SecureRandom.PKCS11, you can re-enable it by removing "SecureRandom" from the disabledMechanisms list in conf/security/sunpkcs11-solaris.cfg

Performance improvements have also been made in the class. Improvements in the JDK implementation has allowed for synchronization to be removed from the[] bytes) method.


Add mechanism to allow non default root CAs to not be subject to algorithm restrictions

'New certpath constraint: jdkCA In the file, an additional constraint named "jdkCA" is added to the jdk.certpath.disabledAlgorithms property. This constraint prohibits the specified algorithm only if the algorithm is used in a certificate chain that terminates at a marked trust anchor in the lib/security/cacerts keystore. If the jdkCA constraint is not set, then all chains using the specified algorithm are restricted. jdkCA may only be used once in a DisabledAlgorithm expression.

Example:  To apply this constraint to SHA-1 certificates, include the following:  `SHA1 jdkCA`


Security providers are now loaded through ServiceLoader and registered by name

As part of work for JEP 220 "Modular Run-Time Images", security providers loading mechanism is enhanced to support modular providers through java.util.ServiceLoader. The default JDK security providers have been refactored to be modular providers and registered inside file by provider name instead of provider class name. As for providers which have not been re-worked to modules, they should be registered by provider class names in file.


Issue Description

The JNI function DetachCurrentThread must tolerate pending exceptions

The JNI function DetachCurrentThread has been added to the list of JNI functions that can safely be called with an exception pending. The HotSpot Virtual Machine has always supported this as it reports that the exception occurred in a similar manner to the default handling of uncaught exceptions at the Java level. Other implementations are not obligated to do anything with the pending exception.


Demo references in Solaris install documentation

Demos were removed from the package tar.Z bundle(JDK-7066713). There is a separate Demos&Samples bundle beginning with 7u2 b08 and 6u32 b04, but Solaris patches still contain SUNWj7dmo/SUNWj6dmo. The 64 bit packages are SUNWj7dmx/SUNWj6dmx.

Demo packages remain in the existing Solaris patches; however, just because they are there doesn't mean that they are installed. They will be patched only if the end user has them installed on the system.

The link above is to the Solaris OS Install Directions for the JDK. The SUNWj7dmx package is mentioned in the tar.Z portion of the directions. This is confusing to some as, according to the cited bug, the SUNWj7dmx package shouldn't be part of the tar.Z bundle.


Issue Description

Fork/Join common pool threads return the system class loader as their thread context class loader

In Java SE 9, threads that are part of the fork/join common pool will always return the system class loader as their thread context class loader. In previous releases, the thread context class loader may have been inherited from whatever thread causes the creation of the fork/join common pool thread, e.g. by submitting a task. An application cannot reliably depend on when, or how, threads are created by the fork/join common pool, and as such cannot reliably depend on a custom defined class loader to be set as the thread context class loader.


Issue Description

Extend the search path for the org.omg.CORBA.ORB file

org.omg.CORBA.ORB specifies the search order to locate an ORB's file, and this includes searching ${java.home}/lib. The JDK 9 release will include a ${java.home}/conf directory as the location for properties files. As such, the ORB.init processing has been amended, to include ${java.home}/conf directory in its search path for an file. Thus, the preferred approach is to use the ${java.home}/conf directory, in preference to the ${java.home}/lib directory, as a location for an file.


Issue Description

JAX-WS, JAXB, JAF are deprivileged and defined by platform class loader

The defining class loader of, java.xml.bind, and java.activation module and their classes is changed to the platform class loader (non-null) (see the specification for java.lang.ClassLoader::getPlatformClassLoader).

Existing code that assumes the defining class loader of JAX-WS, JAXB, JAF classes may be impacted by this change (e.g. custom class loader delegation to the bootstrap class loader skipping the extension class loader).


Issue Description

Serialization Filter Configuration

Serialization Filtering introduces a new mechanism which allows incoming streams of object-serialization data to be filtered in order to improve both security and robustness. Every ObjectInputStream applies a filter, if configured, to the stream contents during deserialization. Filters are set using either a system property or a configured security property. The value of the "jdk.serialFilter" patterns are described in JEP 290 Serialization Filtering and in <JRE>/lib/security/ Filter actions are logged to the '' logger, if enabled.


serialver -show option is removed

The serialver -show option has been removed in this release.


Issue Description

rcache interop with krb5-1.15

The hash algorithm used in the Kerberos 5 replay cache file (rcache) is updated from MD5 to SHA256 with this change. This is also the algorithm used by MIT krb5-1.15. This change is interoperable with earlier releases of MIT krb5, which means Kerberos 5 acceptors from JDK 9 and MIT krb5-1.14 can share the same rcache file.

A new system property named jdk.krb5.rcache.useMD5 is introduced. If the system property is set to "true", JDK 9 will still use the MD5 hash algorithm in rcache. This is useful when both of the following conditions are true: 1) the system has a very coarse clock and has to depend on hash values in replay attack detection, and 2) interoperability with earlier versions of JDK for rcache files is required. The default value of this system property is "false".


accept yes/no for boolean krb5.conf settings

Besides "true" and "false", krb5.conf now also accepts "yes" and "no" for boolean-valued settings.


Support "include" and "includedir" in krb5.conf

The krb5.conf file now supports including other files using either the "include FILENAME" or "includedir DIRNAME" directives. FILENAME or DIRNAME must be an absolute path. The named file or directory must exist and be readable. Including a directory includes all files within the directory whose names consist solely of alphanumeric characters, dashes, or underscores. An included file can include other files but no recursion is allowed.

Also, before this change, when the same setting for a single-valued option (For example, default_realm) is defined more than once in krb5.conf, the last value was chosen. After this change, the first value is chosen. This is to be consistent with other krb5 vendors.


Support the "s" (second) unit for kdc_timeout in krb5.conf

An interoperability issue is found between Java and the native Kerberos implementation on BSD (including macOS) on the kdc_timeout setting in krb5.conf, where Java interpreted it as milliseconds and BSD as seconds when no unit is specified. This code change adds support for the "s" (second) unit. Therefore if the timeout is 5 seconds, Java accepts both "5000" and "5s". Customers concerned about interoperability between Java and BSD should use "5s".


Correction to end time checking for native TGT

The end times for native TGTs (ticket-granting tickets) are now compared with UTC time stamps.


Issue Description

Removal of native2ascii tool

native2ascii tool is removed in JDK 9. JDK 9 supports UTF-8 based properties resource bundles (see JEP 226 and the conversion for UTF-8 based properties resource bundles to ISO-8859-1 is no longer needed.


extcheck tool removed

The extcheck tool has been removed in this release.


Issue Description

java.lang.invoke.LambdaMetafactory cannot be constructed

A behavioural change has been made to class java.lang.invoke.LambdaMetafactory so that it is no longer possible to construct an instance. This class only has static methods to create "function objects" (commonly utilized as bootstrap methods) and should not be instantiated. The risk of source and binary incompatibility is very low; analysis of existing code bases found no instantiations.


MethodHandles.bind obeys protected access rules

The method java.lang.invoke.MethodHandles.bind has been fixed to correctly obey the access rules when binding a receiver object to a protected method.


invokedynamic implementation should not wrap Errors

The invokedynamic byte code instruction is no longer specified by the Java Virtual Machine Specification to wrap any Throwable thrown during linking in java.lang.invoke.BootstrapMethodError, which is then thrown to the caller.

If during linking an instance of Error, or a subclass of, is thrown then that Error is no longer wrapped and is thrown directly to the caller. Any other instance of Throwable, or subclass of, is still wrapped in java.lang.invoke.BootstrapMethodError.

This change in behaviour ensures that errors such as OutOfMemoryError or ThreadDeath are thrown unwrapped and may be acted on or reported directly, thereby enabling more uniform replacement of byte code with an invokedynamic instruction whose call site performs the same functionality as the replaced byte code (and may throw the same errors).


Class.getSimpleName() reads from the InnerClasses attribute

Class.getSimpleName() was changed to use the name recorded in the InnerClasses attribute of the class file. This change may affect applications which generate custom bytecode with incomplete or incorrect information recorded in the InnerClasses attribute.


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

The XML Digital Signature API (javax.xml.crypto and subpackages) has been enhanced to better support generics

The XML Digital Signature APIs (the javax.xml.crypto package and subpackages) have been enhanced to better support Generics, as follows: - all Collection and Iterator parameters and return types have been changed to parameterized types - the javax.xml.crypto.NodeSetData interface has been changed to a generic type that implements Iterable so that it can be used in for-each loops


Add security property to configure XML Signature secure validation mode

A new security property named jdk.xml.dsig.secureValidationPolicy has been added that allows you to configure the individual restrictions that are enforced when the secure validation mode of XML Signature is enabled. The default value for this property in the configuration file is: ` jdk.xml.dsig.secureValidationPolicy=\ disallowAlg,\ disallowAlg,\ disallowAlg,\ disallowAlg,\ maxTransforms 5,\ maxReferences 30,\ disallowReferenceUriSchemes file http https,\ noDuplicateIds,\ noRetrievalMethodLoops Please refer to the definition of the property in` file for more information.


Issue Description

Provided new utility visitors supporting SourceVersion.RELEASE_9

The constructors for the utility visitors in javax.lang.model.util that correspond to the RELEASE_6 source level have been deprecated since the reference implementation regards -source 6 as obsolete. Authors of annotation processors should update their processors to support newer source versions.


Issue Description

IANA Data 2015g

JDK contains IANA time zone data version 2015g. For more information, refer to [Timezone Data Versions in the JRE Software|].


Deprecate sun.misc.Unsafe.defineClass

The method sun.misc.Unsafe.defineClass is deprecated for removal. Use the method java.lang.invoke.MethodHandles.Lookup.defineClass to define a class to the same class loader and in the same runtime package and protection domain of a given Lookup's lookup class.


Issue Description

Three internal fields are now private

Three static fields exposing event listener instances whose types are internal and intended use was internal are now made private. These are very unlikely to have been used by many applications as until recently they were shipped only as an unbundled component.


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


Exported elements referring to inaccessible types in java.naming

The javax.naming.CompoundName, an extensible type, has a protected member, impl whose type, javax.naming.NameImpl, is package-private. This is a long standing issue where an inaccessible implementation type has mistakenly made its way into the public Java SE API.

The new javac lint option javac -Xlint helped identify this issue. In Java SE 9, this protected member has been removed from the public API.


Since the type of the member is package-private it cannot be directly referenced by non-JDK code. The member type does not implement or extend any super type directly, therefore any non-JDK subtype of javax.naming.CompoundName could only refer to this member as Object. It is possible that such a subtype might invoke the toString, or any of Object's methods on this member, or even synchronize on it. In such a case such subtypes of javax.naming.CompoundName will require updating.

Source incompatible:

Code making a static reference to the member will fail to compile, e.g. error: impl has private access in CompoundName

Binary incompatible:

Previously compiled code executed with JDK 9, accessing the member directly will fail, e.g. java.lang.IllegalAccessError: tried to access field javax.naming.CompoundName.impl from class CompoundName$MyCompoundName


Context.APPLET is ignored when creating a JNDI InitialContext

javax.naming.Context.APPLET has been deprecated. If the environment specified when creating an InitialContext contains Context.APPLET then it is ignored. Applets with JNDI configuration in applet parameters should use the Applet.getParameter(String) method to read the parameters and use the values to create the JNDI context.


Issue Description

The system property has been removed

The zip library implementation has been improved in JDK 9. The new implementation does not use mmap to map ZIP file central directory into memory anymore. As a result, the system property is no longer needed and has been removed.

JDK-6233323 now always returns the ZipEntry instance with a '/' ended entry name for directory entry API doc specifies "A directory entry is defined to be one whose name ends with a '/'". However, in previous JDK releases entryName) may return a ZipEntry instance with an entry name that does not end with '/' for an existing zip directory entry when the passed in argument entryName does not end with a '/' and there is a matching zip directory entry with name entryName + '/' in the zip file. With JDK 9 the name of the ZipEntry instance returned from always ends with '/' for any zip directory entry.


Remove Packer/Unpacker addPropertyChangeListener and removePropertyListener methods

The deprecated addPropertyListener and removePropertyListener methods have been removed from java.util.jar.Pack200.Packer and java.util.jar.Pack200.Unpacker. Applications that need to monitor progress of a packer or unpacker should poll the value of the PROGRESS property instead.


Support system or alternative implementations of zlib

The Java runtime now uses system zlib library (the zlib library installed on the underlying operation system) for its zlib compression support (the deflation and inflation functionality in, for example) on Solaris and Linux platforms.


Issue Description

rmic -Xnew option is disabled

The experimental rmic -Xnew option has been disabled for this release.


Remove HTTP proxying from RMI

The mechanism of proxying RMI requests through HTTP, which was deprecated in Java SE 8, has been removed in Java SE 9. This mechanism used a web CGI script called java-rmi.cgi. This script has also been removed. The default mechanism for transmitting RMI requests is now simply a direct socket connection.


RMI server-side multiplex protocol has been disabled

The RMI multiplex protocol is disabled by default. It can be re-enabled by setting the system property "sun.rmi.transport.tcp.enableMultiplexProtocol" to "true".


Issue Description

CodeStore service has been removed

The possibility to provide provide subclasses of jdk.nashorn.internal.runtime.CodeStore through the java.util.ServiceLoader API has been removed in JDK 9.


Issue Description

Remove BackEdgeThreshold flag

The -XX:BackEdgeThreshold flag has been removed because it is no longer supported. Users now need to use -XX:OnStackReplacePercentage instead.


Remove EnableInvokeDynamic flag

The -XX:EnableInvokeDynamic flag has been removed because the VM does no longer support execution without invokedynamic.


Interpreter and compiled code process signaling NaN values inconsistently in 32-bit x86 VM

The IEEE 754 standard distinguishes between signaling and quiet NaNs. When executing floating point operations, some processors silently convert signaling NaNs to quiet NaNs. The 32-bit x86 version of the HotSpot JVM allows silent conversions to happen. With JVM releases preceding JDK 9, silent conversions happen depending on whether the floating point operations are part of compiled or interpreted code. With the JDK 9 release, interpreted and compiled code behaves consistently with respect to signaling and quiet NaNs.


Emulate client build on platforms with reduced virtual address space

The 32-bit Client VM was removed from linux-x86 and Windows. As a result, the -client flag is ignored with 32-bit versions of Java on this platform. The 32-bit Server VM is used instead. However, due to limited virtual address space on Windows in 32-bit mode, by default the Server VM emulates the behavior of the Client VM and only uses the C1 JIT compiler, Serial GC, 32Mb CodeCache. To revert to server mode, the flag -XX:{+|-}TieredCompilation can be used. On linux-x86 there is no Client VM mode emulation.


Implemented performance improvements for BigInteger.montgomeryMultiply

We have implemented improvements that will improve performance of several security algorithms, especially when using ciphers with key lengths of 2048-bit or greater. To turn on these improvements, use the options -XX:+UseMontgomeryMultiplyIntrinsic and -XX:+UseMontgomerySquareIntrinsic. This improvement is only for Linux and Solaris on x86_64 architecture.


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.


AVX-512 (AVX3) instructions set support

JDK 9 will support code generation for AVX-512 (AVX3) instructions set on x86 CPUs, but not by default. A maximum of AVX2 is supported by default in JDK 9. The flag -XX:UseAVX=3 can be used to enable AVX-512 code generation on CPUs that support it.


Nondeterministic wrong answer on arithmetic corrected

When performing OSR on loops with huge stride and/or initial values, in very rare cases, the tiered/server compilers could produce non-canonical loop shapes that produce nondeterministic answers when the answers should be deterministic. This issue has now been fixed.


Remove Use486InstrsOnly flag

The -XX:+Use486InstrsOnly flag has been removed because it is no longer supported.


Compilers accept modification of final fields outside initializer methods

According to the Java VM Specification, final fields can be modified by the putfield byte code instruction only if the instruction appears in the instance initializer method <init> of the field's declaring class. Similar, static final fields can be modified by a putstatic instruction only if the instruction appears in the class initializer method <clinit> of the field's declaring class. With the JDK 9 release, the HotSpot VM fully enforces the previously mentioned restrictions, but only for class files with version number >= 53. For class files with version numbers < 53, restrictions are only partially enforced (as it is done by releases preceding JDK 9). That is, for class files with version number < 53, final fields can be modified in any method of the class declaring the field (not only class/instance initializers).


Remove per-compiler performance counters

Per-thread compiler performance counters have been removed because they became obsolete in the presence of more fine-grained and precise compilation events. The corresponding interface in* has been deprecated since it will no longer provide information without the performance counters. Users can get similar or more fine-grained information via global performance counters, the event tracing API (JFR) or -XX:+PrintCompilation.


Remove SafepointPollOffset flag

The -XX:SafepointPollOffset flag has been removed because it was introduced only to reproduce a problem with the C1 compiler and is no longer needed.


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.


Deprecate methods that reference APIs

The and methods have been deprecated. New applications should use the getPeerCertificates method instead.


Support for Customization of Default Enabled Cipher Suites via System Properties

The system property jdk.tls.client.cipherSuites can be used to customize the default enabled cipher suites for the client side of SSL/TLS connections. In a similar way, the system property jdk.tls.server.cipherSuites can be used for customization on the server side.

The system properties contain a comma-separated list of supported cipher suite names that specify the default enabled cipher suites. All other supported cipher suites are disabled for this default setting. Unrecognized or unsupported cipher suite names specified in properties are ignored. Explicitly setting enabled cipher suites will override the system properties.

Refer to the Java Cryptography Architecture Standard Algorithm Name Documentation for the standard JSSE cipher suite names, and the Java Cryptography Architecture Oracle Providers Documentation for the cipher suite names supported by the SunJSSE provider.

Note that the actual use of enabled cipher suites is restricted by algorithm constraints.

Note also that these system properties are currently supported by the JDK Reference Implementation. They are not guaranteed to be supported by other implementations.

Warning: These system properties can be used to configure weak cipher suites, or the configured cipher suites may become more weak over time. We do not recommend using the system properties unless you understand the security implications. Use them at your own risk.


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 `


Correction of IllegalArgumentException from TLS handshake

A recent issue from the JDK-8148516 fix can cause issue for some TLS servers. The problem originates from an IllegalArgumentException thrown by the TLS handshaker code.

`java.lang.IllegalArgumentException: System property jdk.tls.namedGroups(null) contains no supported elliptic curves`

The issue can arise when the server doesn't have elliptic curve cryptography support to handle an elliptic curve name extension field (if present). Users are advised to upgrade to this release. By default, JDK 7 Updates and later JDK families ship with the SunEC security provider which provides elliptic curve cryptography support. Those releases should not be impacted unless security providers are modified.


Deprecate the API

The API has been deprecated. The classes in this package should no longer be used. The package contains suitable replacements.


TLS Application-Layer Protocol Negotiation Extension

JEP 244 has enhanced the Java Secure Socket Extension (JSSE) to provide support for the TLS Application-Layer Protocol Negotiation (ALPN) Extension (RFC 7301). New methods have been added to the classes SSLEngine, SSLSocket, and SSLParameters to allow clients and servers to negotiate an application layer value as part of the TLS handshake.


SHA224 removed from the default support list if SunMSCAPI enabled

SunJSSE allows SHA224 as an available signature and hash algorithm for TLS 1.2 connections. However, the current implementation of SunMSCAPI does not support SHA224 yet. This can cause problems if SHA224 and SunMSCAPI private keys are used at the same time.

To mitigate the problem, we remove SHA224 from the default support list if SunMSCAPI is enabled.


Increase the priorities of GCM cipher suites

In TLS, a ciphersuite defines a specific set of cryptography algorithms used in a TLS connection. JSSE maintains a prioritized list of ciphersuites. In this update, GCM-based cipher suites are configured as the most preferable default cipher suites in the SunJSSE provider.

In the SunJSSE provider, the following ciphersuites are now the most preferred by default: ``` TLSECDHEECDSAWITHAES256GCMSHA384 TLSECDHEECDSAWITHAES128GCMSHA256


TLSECDHERSAWITHAES128GCMSHA256 TLSRSAWITHAES128GCMSHA256 TLSECDHECDSAWITHAES128GCMSHA256 TLSECDHRSAWITHAES128GCMSHA256 TLSDHERSAWITHAES128GCMSHA256 TLSDHEDSSWITHAES128GCM_SHA256 ``` Note that this is a behavior change of the SunJSSE provider in the JDK, it is not guaranteed to be examined and used by other JSSE providers. There is no guarantee the cipher suites priorities will remain the same in future updates or releases.


IllegalArgumentException from TLS handshake

A recent issue from the JDK-8148516 fix can cause issue for some TLS servers. The problem originates from an IllegalArgumentException thrown by the TLS handshaker code.

`java.lang.IllegalArgumentException: System property jdk.tls.namedGroups(null) contains no supported elliptic curves`

The issue can arise when the server doesn't have elliptic curve cryptography support to handle an elliptic curve name extension field (if present). Users are advised to upgrade to this release. By default, JDK 7 Updates and later JDK families ship with the SunEC security provider which provides elliptic curve cryptography support. Those releases should not be impacted unless security providers are modified.

See JDK-8173783

Improve the default strength of EC in JDK.

To improve the default strength of EC cryptography, EC keys less than 224 bits have been deactivated in certification path processing (via the "jdk.certpath.disabledAlgorithms" Security Property) and SSL/TLS/DTLS connections (via the "jdk.tls.disabledAlgorithms" Security Property) in JDK. Applications can update this restriction in the Security Properties and permit smaller key sizes if really needed (for example, "EC keySize < 192").

EC curves less than 256 bits are removed from the SSL/TLS/DTLS implementation in JDK. The new System Property, "jdk.tls.namedGroups", defines a list of enabled named curves for EC cipher suites in order of preference. If an application needs to customize the default enabled EC curves or the curves preference, please update the System Property accordingly. For example:

jdk.tls.namedGroups="secp256r1, secp384r1, secp521r1"

Note that the default enabled or customized EC curves follow the algorithm constraints. For example, the customized EC curves cannot re-activate the disabled EC keys defined by the Java Security Properties.


Custom HostnameVerifier enables SNI extension

Earlier releases of JDK 8 Updates didn't always send the Server Name Indication (SNI) extension in the TLS ClientHello phase if a custom hostname verifier was used. This verifier is set via the setHostnameVerifier(HostnameVerifier v) method in HttpsURLConnection. The fix ensures the Server Name is now sent in the ClientHello body. See JDK-8144566 for more details.


Issue Description

OOME caused by very large CDATA section in XML document can now be avoided

An event-based XML parsers may return character data in chunks.

SAX specification: states that SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks.

StAX specification: did not specify explicitly.

The JDK implementation before JDK 9 returns all character data in a CData section in a single chunk by default. As of JDK 9, an implementation-only property jdk.xml.cdataChunkSize is added to instruct a parser to return the data in a CData section in a single chunk when the property is zero or unspecified, or in multiple chunks when it is greater than zero. The parser will split the data by linebreaks, and any chunks that are larger than the specified size to ones that are equal to or smaller than the size.

The property jdk.xml.cdataChunkSize is supported through the following means:

  1. through the SAX or StAX API, that is SAXParser or XMLReader for SAX, and XMLInputFactory for StAX. If the property is set, its value will be used in preference over any of the other settings.
  2. as a system property. The value set in the system property will overwrite that in, but may be overridden by the API setting above.
  3. in the file. The value in may be overridden by the system property or an API setting.


Issue Description

Stage background is now filled with Scene fill color

Starting with the JDK 9 release, a Stage on Mac and Linux platforms will be initially filled using the Fill property of the Scene if its Fill is a Color. An average color, computed within the stops range, will be used if the Fill is a LinearGradient or RadialGradient. Previously, it was initially filled with WHITE, irrespective of the Fill in the Scene. This change in behavior will reduce the flashing that can be seen with a dark Scene background, but applications should be aware of this change in behavior so they can set an appropriate Fill color for their Scene.


Issue Description

Removal of

The API was a Mac-only API and was carried into JDK 7u4 with the port of Apple's JDK 6 code. This seldom-used and unsupported API has been removed in JDK 9. Developers are encouraged to use the standard java.util.concurrent.Executor and java.util.concurrent.ExecutorService APIs instead.


Issue Description

Deprecate HostServices.getWebContext method with forRemoval=true

The HostServices.getWebContext method is deprecated in JDK 9 and is marked as forRemoval=true indicating that it will be removed in a future version of the JDK. Applets are deprecated in JDK 9, and this method is only used when running an FX application as an Applet in a browser.


Issue Description

Correction to negation function of RegEx character classes

In `java.util.regex.Patternusing a character class of the form ``[^a-b[c-d]]``, the negation^` negates the entire class, not just the first range. The negation operator "^" has the lowest precedence among the character class operators, intersection "&&", union, range "-" and nested class "[ ]", so it is always applied last.

Previously, the negation was applied only to the first range or group leading to inconsistent and misunderstood matches. Detail and examples in the issue and


Align behavior and spec for java.util.regex.Pattern.compile()

Pattern.compile(String, int) will throw IllegalArgumentException if anything other than a combination of predefined values is passed as the second argument, in accordance with the specification.


Issue Description

Compact javadoc display of single-element annotations

Previously javadoc would include "value=" when displaying annotations even when that text was not necessary in the source because the annotations were of single-element annotation type (JLS 9.6. Annotation Type Elements ). The extraneous "value=" text is now omitted, leading to more concise annotation display.


The old standard doclet is deprecated and will be removed in a future release

The standard doclet is the doclet in the JDK that produces the default HTML-formatted API output. The version that was available in previous releases ( has been replaced by a new version (jdk.javadoc.doclet.Standard). The old version is now deprecated and is subject to removal in a future version of Java SE. For more details, see JEP 221. For more details on the new Doclet API, see the jdk.javadoc module.


Omit public and abstract modifiers in javadoc for annotation type members

Previously javadoc would emit "public" and "abstract" modifiers for methods and fields in annotation types. These flags are not needed in source code and are elided for non-annotation interface types. With this change, those modifiers are also omitted for methods and fields defined in annotation types.


javadoc may exit on non-compliant sources.

If any errors are encountered while reading or analyzing the source code, the javadoc tool will treat them as unrecoverable errors and exit.


Issue Description

XPath enhancement

Java SE 9 improves the javax.xml.xpath API with new APIs that make use of modern language features to facilitate ease of use and extend support of the XPath specification.

  1. Support ANY type

javax.xml.xpath supported explicit data types defined by the XPath specification. However, it was missing the important ANY type without which the XPath API assumes that an explicit type is always known, which is not true in some circumstances. The new API now supports the ANY type so that an XPath evalution can be performed when the return type is unknown.

  1. Improved ease of use

For ease of use, four new evaluateExpression methods are added to the javax.xml.xpath.XPath and javax.xml.xpath.XPathExpression interfaces to allow specifying explicit types as follows:

When specified explicitly, the new methods return the specific types, including Boolean, Double, Integer, Long, String and org.w3c.dom.Node.

When the return type is expected to be NODESET, the new methods will return a new XPathNodes type. XPathNodes is a new interface that extends Iterable<Node> which makes it easier to use than the traditional org.w3c.dom.NodeList.

When the return type is unknown or ANY, the new methods return a new XPathEvaluationResult type. XPathEvaluationResult provides an XPathResultType enum that defines the supported types that are ANY, BOOLEAN, NUMBER, STRING, NODESET, and NODE.


Issue Description

Use Unified Logging for GC logging

The logging for all garbage collectors in HotSpot have been changed to make use of a new logging framework that is configured through the -Xlog command line option. The command line flags -XX:+PrintGC, -XX:+PrintGCDetails and -Xloggc have been deprecated and will likely be removed in a future release. They are currently mapped to similar -Xlog configurations. All other flags that were used to control garbage collection logging have been removed. See the documentation for -Xlog for details on how to now configure and control the logging. These are the flags that were removed:

CMSDumpAtPromotionFailure, CMSPrintEdenSurvivorChunks, G1LogLevel, G1PrintHeapRegions, G1PrintRegionLivenessInfo, G1SummarizeConcMark, G1SummarizeRSetStats, G1TraceConcRefinement, G1TraceEagerReclaimHumongousObjects, G1TraceStringSymbolTableScrubbing, GCLogFileSize, NumberOfGCLogFiles, PrintAdaptiveSizePolicy, PrintClassHistogramAfterFullGC, PrintClassHistogramBeforeFullGC, PrintCMSInitiationStatistics, PrintCMSStatistics, PrintFLSCensus, PrintFLSStatistics, PrintGCApplicationConcurrentTime, PrintGCApplicationStoppedTime, PrintGCCause, PrintGCDateStamps, PrintGCID, PrintGCTaskTimeStamps, PrintGCTimeStamps, PrintHeapAtGC, PrintHeapAtGCExtended, PrintJNIGCStalls, PrintOldPLAB, PrintParallelOldGCPhaseTimes, PrintPLAB, PrintPromotionFailure, PrintReferenceGC, PrintStringDeduplicationStatistics, PrintTaskqueue, PrintTenuringDistribution, PrintTerminationStats, PrintTLAB, TraceDynamicGCThreads, TraceMetadataHumongousAllocation, UseGCLogFileRotation, VerifySilently


Remove deprecated command line flags

These internal command line flags, which have been deprecated or aliased since JDK 6, have been removed:

CMSParPromoteBlocksToClaim, ParCMSPromoteBlocksToClaim, ParallelGCOldGenAllocBufferSize, ParallelGCToSpaceAllocBufferSize, UseGCTimeLimit, CMSPermGenSweepingEnabled, ResizeTLE, PrintTLE, TLESize, UseTLE, MaxTLERatio, TLEFragmentationRatio, TLEThreadRatio

In addition to this, these internal flags have been deprecated:

CMSMarkStackSizeMax, ParallelMarkingThreads, ParallelCMSThreads, CMSMarkStackSize, G1MarkStackSize


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 ```


G1 now collects unreachable Humongous objects during young collections

G1 now tries to collect humongous objects of primitive type (char, integer, long, double) with few or no references from other objects at any young collection. During young collection, G1 checks if any remaining incoming references to these humongous objects are current. G1 will reclaim any humongous object having no remaining incoming references.

Three new experimental JVM options to control this behavior that have been added with this change:

  1. G1EagerReclaimHumongousObjects - This option controls whether G1 makes any attempt to reclaim unreachable humongous objects at every young GC. Default is enabled.
  2. G1EagerReclaimHumongousObjectsWithStaleRefs - When this option is enabled G1 attempts to reclaim humongous objects that may have a few stale incoming references at every young GC. Default is enabled.
  3. G1TraceEagerReclaimHumongousObjects - This option enables printing of some information about the collection of humongous objects at every young GC. Default is disabled.


Change default GC to G1

In JDK 9, the default garbage collector is G1 when a garbage collector is not explicitly specified. G1 provides a better overall experience for most users when compared to a throughput-oriented collector such as the Parallel GC, which was previously the default.

The options to configure the G1 collector are documented in the java command page (link). See also JEP 248 for more information on this change.


Various GC combinations have now been removed

The GC combinations that were deprecated in JDK 8 have now been removed. This means that the following GC combinations no longer exist: * DefNew + CMS * ParNew + SerialOld * Incremental CMS The "foreground" mode for CMS has also been removed.

The command line flags that were removed are: -Xincgc, -XX:+CMSIncrementalMode, -XX:+UseCMSCompactAtFullCollection, -XX:+CMSFullGCsBeforeCompaction and -XX:+UseCMSCollectionPassing.

The command line flag -XX:+UseParNewGC no longer has any effect. ParNew can only be used with CMS and CMS requires ParNew. Thus, the -XX:+UseParNewGC flag has been deprecated and will likely be removed in a future release.


Deprecate the flag -XX:ExplicitGCInvokesConcurrentAndUnloadsClasses

The flag -XX:ExplicitGCInvokesConcurrentAndUnloadsClasses has been deprecated and will be removed in a future release. A user can enable the same functionality by setting the two flags -XX:+ExplicitGCInvokesConcurrent and -XX:+ClassUnloadingWithConcurrentMark.


AutoGCSelectPauseMillis has been deprecated

This option was deprecated in JDK 9, following the deprecation of the -XX:+UseAutoGCSelectPolicy option.

UseAutoGCSelectPolicy has been deprecated

This option was deprecated in JDK 9, along with the -XX:AutoGCSelectPauseMillis option.


New PerfCounters for STW Phases on Concurrent GC Are Available

A new GC performance counter has been added for pauses during the concurrent phase. This counter will be listed by jstat under the CGC (concurrent GC) heading. This information is only available for GCs with a concurrent phase and is GC specific: * G1 includes remark and cleanup pauses * CMS includes initial mark and remark pauses

For CMS, these pauses were previously included in the time listed by jstat under the FGC (full GC) heading.

The information is also available via the jcmd by using PerfCounter.print.


Issue Description

Compiler will emit a warning if deprecated javadoc tag is used without @Deprecated annotation

If the javadoc deprecated tag is used on an element without it also being deprecated using the @Deprecated annotation, the compiler will by default produce a new warning to this effect.

The new warning can be suppressed either by adding the command line option -Xlint:-dep-ann to the javac command line or by using @SuppressWarnings("dep-ann") annotation (as with any other warning-suppressing annotation, it is always a good practice to add such an annotation as close to the member being deprecated as possible).

In a future version of Java SE, the compiler may no longer treat @deprecated javadoc tag as indicating formal deprecation.


Update class file version to 53.0

When generating class files in conjunction with -target 9 (specified either explicitly or implicitly), javac will generate class files with a major version number of 53. For details of version 53 class files, see the Java Virtual Machine Specification.

The JDK classes themselves mostly use version 53 class files.

Tools or libraries that rely on ASM or other bytecode manipulation libraries may need updated versions of these libraries to work with version 53 class files.


Javac incorrectly allows receiver parameters in annotation methods

javac was erroneously accepting receiver parameters in annotations methods. This implies that tests cases like the one below were being accepted: ` @interface MethodRun { int value(MethodRun this); } The JLS 8, see JLS8 9.6.1, doesn't allow any formal parameter in annotation methods, this extends to receiver parameters. More specifically, the grammar for annotation types does not allow arbitrary method declarations, instead allowing only AnnotationTypeElementDeclarations. The allowed syntax is: `` AnnotationTypeElementDeclaration: {AnnotationTypeElementModifier} UnannType Identifier ( ) [Dims] [DefaultValue]; ``` Note that nothing is allowed between the parentheses.


javac creates output directories as needed.

Output directories required by javac, specified with the -d, -s, -h options, will be created if they do not already exist.


Missing error in qualified default super call

Javac was not in sync with JLS 8 §15.12.1, specifically:

If the form is TypeName . super . [TypeArguments] Identifier, then: ... - Otherwise, TypeName denotes the interface to be searched, I.

Let T be the type declaration immediately enclosing the method invocation. It is a compile-time error if I is not a direct superinterface of T, or if there exists some other direct superclass or direct superinterface of T, J, such that J is a subtype of I.

So javac was not issuing a compiler error for cases like: ``` interface I { default int f(){return 0;} }

class J implements I {}

class T extends J implements I { public int f() { return I.super.f(); } } ``` The compiler had some checks for method invocations of the form:

TypeName . super . [TypeArguments] Identifier

but there was one issue. If TypeName is an interface I and T is the type declaration immediately enclosing the method invocation, the compiler must issue a compile-time error if there exists some other direct superclass or superinterface of T, let's call it J such that J is a subtype of I, as in the example above.


Changes in the way javac handles wildcards and capture type variables

The javac compiler's behavior when handling wildcards and "capture" type variables has been improved for conformance to the language specification. This improves type checking behavior in certain unusual circumstances. It is also a source-incompatible change: certain uses of wildcards that have compiled in the past may fail to compile because of a program's reliance on the javac bug.


Add compile-time check for invalid or out-of-range ConstantValue attributes

The classfile format (see JVMS section 4.7.2) defines an attribute called ConstantValue which is used to describe the constant value associated with a given (constant) field. The layout of this attribute is as follows:

` ConstantValue_attribute { u2 attribute_name_index; u4 attribute_length; u2 constantvalue_index; } Historically,javachas never performed any kind of range validation of the value contained in the constant pool entry atconstantvalue_index. As such, it is possible for a constant field of type e.g.booleanto have a constant value other than0or1(the only legal values allowed for a boolean). Starting from <version>,javacwill start detecting ill-formedConstantValue` attributes, and report errors if out-of-range values are found.


implement eager resolution of return types

The compiler specification, see JLS8 18.5.2, modified the treatment of nested generic method invocations for which the return type is an inference variable. The compiler has been adapted to implement the new logic. This is important to minimize incompatibility with the javac 7 inference algorithm. Three cases are considered: - The return type needs to be captured - The return type needs to have unchecked conversion - The return type needs to be unboxed

The compiler update implies an eager resolution for generic method invocations, provided that the return type is an inference variable.


Missing unchecked warnings when checking method reference return types

javac does not generate unchecked warnings when checking method reference return types.

``` import java.util.function.; import java.util.;

class Test { void m() { IntFunction[]> sls = List[]::new; //warning Supplier> sls = this::l; //warning }

List l() { return null; } } ```

Starting from , javac will emit a warning when unchecked conversion is required for a method reference to be compatible with a functional interface target.

This change brings the compiler in sync with JLS section 15.13.2:

A compile-time unchecked warning occurs if unchecked conversion was necessary for the compile-time declaration to be applicable, and this conversion would cause an unchecked warning in an invocation context.


A compile-time unchecked warning occurs if unchecked conversion was necessary for the return type R', described above, to be compatible with the function type's return type, R, and this conversion would cause an unchecked warning in an assignment context.


Several incorporation steps are silently failing when an error should be reported

Reporting previously silent errors found during incorporation, JLS 8 §18.3, was supposed to be a clean-up with performance only implications. But consider the test case: ``` import java.util.Arrays; import java.util.List;

class Klass { public static List> foo(List... lists) { return foo(Arrays.asList(lists)); }

public static <B> List<List<B>> foo(List<? extends List<? extends B>> lists) {
    return null;

} ``` This code was not accepted before the patch for [1], but after this patch the compiler is accepting it. Accepting this code is the right behavior as not reporting incorporation errors was a bug in the compiler.

While determining the applicability of method: ` <B> List<List<B>> foo(List<? extends List<? extends B>> lists) For which we have the constraints: `` b <: Object t <: List t<: Object List <: t ``` First, inference variable b is selected for instantiation: ``` b = CAP1 of ? extends A ``` so this implies that: ``` t <: List t<: Object List <: t ``` Now all the bounds are checked for consistency. While checking if List is a subtype of List a bound error is reported. Before the compiler was just swallowing it. As now the error is reported while inference variable b is being instantiated, the bound set is rolled back to it's initial state, 'b' is instantiated to Object, and with this instantiation the constraint set is solvable, the method is applicable, it's the only applicable one and the code is accepted as correct. The compiler behavior in this case is defined at JLS 8 §18.4

This fix has source compatibility impact, right now code that wasn't being accepted is now being accepted by the javac compiler. Currently there are no reports of any other kind of incompatibility.



Remove support for 1.5 and earlier source and target options

The javac command no longer supports -source or-target values for releases before 6/1.6. However, older class files are still readable by javac. Source code for older release can be ported to a newer source level. To generate class files usable by releases older than JDK 6, a javac from a JDK 6, 7, or 8 release family can be used.

JEP 182 documents the policy for retiring old -source and -target options.


Issue Description

Revamping the pretty print feature for Transformer and LSSerializer

The JAXP library through the Transformer and LSSerializer supports a pretty print feature that can format the output by adding whitespaces and newlines to produce a more readable form of an XML document. As of the JDK 9 release, this feature has been enhanced to generate a format similar to that of the major web browsers. In addition, the xml:space attribute as defined in the XML specification ( is now supported.

The Pretty-Print feature does not define the actual format. The output format can change over time or vary from implementation to implementation, and therefore should not be relied on for exact text comparison. It is recommended that such applications turn off the Pretty-Print feature and perform an XML to XML comparison.


Issue Description

Default locale in java.util.Formatter related classes.

The specification of the default locales used in Formatter related classes has been clarified to designate the default locale for formatting (Locale.Category.FORMAT).


Properties loadFromXML/storeToXML methods do not support all encodings

java.util.Properties defines the loadFromXML and storeToXML methods for Properties stored in XML documents. XML specifications only require XML processors to read entities in UTF-8 and UTF-16 and the API docs for these methods only require an implementation to support UTF-8 and UTF-16. The implementation of these methods has changed in JDK 9 to use a smaller XML parser which may impact applications that have been using these methods with other encodings. The new implementation does not support all encodings that the legacy implementation had support for, in particular it does not support UTF-32/UCS-4, IBM or x-IBM- encodings. For maximum portability, applications are encouraged to use UTF-8 and UTF-16.


java.util.UUID#fromString(String) now throws IllegalArgumentException if the parameter is too long

As part of the fix for JDK-8006627, a check of the String parameter of java.util.UUID.fromString(String) was added which will result in an IllegalArgumentException being thrown if the length of the parameter is greater than 36.


java.util.prefs.Preferences now disallows the use of any String containing the null control character

The specification of the class java.util.prefs.Preferences was modified to disallow the use of any String containing the null control character, code point U+0000, in any String used as the key or value parameter in any of the abstract put(), get(), and remove methods. If such a character is detected, an IllegalArgumentException shall be thrown.

The specification of the class java.util.prefs.AbstractPreferences was modified according to the corresponding change in its superclass java.util.prefs.Preferences to disallow the use of any String containing the null control character, code point U+0000, in any String used as the key or value parameter in any of the put(), get(), and remove() method implementations. These method implementations were modified to throw an IllegalArgumentException upon encountering such a character in a key or value String in these contexts. Also, the class specification was modified to correct the erroneous reference to the flush() and sync() methods as returning a boolean value when they are in fact void.


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

JShell -- New tool and API for interactive Java

Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality. Adds Read-Eval-Print Loop (REPL) functionality for Java.

The jshell tool accepts "snippets" of Java code, evaluating them and immediately displaying the results. Snippets include variable and method declarations without enclosing class. An expression snippet immediately shows its value. The jshell tool also accepts commands for displaying and controlling snippets.

The jshell tool is built on the JShell API, making the evaluation of snippets of Java code available any Java program.

See: - jshell tool User's Guide - jshell tool Reference - JShell API Specification - JShell module specification


Issue Description

VP6 video and FXM/FLV container are deprecated

Support for VP6 video encoding format and FXM/FLV container are deprecated in JavaFX Media and it will be removed in a future release. Users encouraged to use H.264/AVC1 in MP4 container or HTTP Live Streaming instead.


Issue Description

Support for serialized applets removed

Support for serialized applets has been removed. The "OBJECT" attribute of the <APPLET> tag and "object" and "java_object" applet parameter tags will no longer be recognized during applet launching, and will be ignored.


AppleScript scripting engine has been removed

The AppleScript engine implementing javax.script engine API has been removed without replacement. The AppleScript engine has worked inconsistently. The services configuration (META-INF/services) file was missing and only worked by accident when installing JDK 7 or JDK 8 on systems that had Apple's version of AppleScriptEngine.jar already on the system.


Issue Description

Remove the JDK-Internal name service provider interface and default implementation

Previous JDK releases documented how to configure to use the JNDI DNS service provider as the name service. This mechanism, and the system properties to configure it, have been removed in JDK 9

A new mechanism to configure the use of a hosts file has been introduced.

A new system property has been defined. When this system property is set, the name and address resolution calls of InetAddress, i.e getByXXX, retrieve the relevant mapping from the specified file. The structure of this file is equivalent to that of the /etc/hosts file.

When the system property is set, and the specified file doesn't exist, the name or address lookup will result in an UnknownHostException. Thus, a non existent hosts file is handled as if the file is empty.


The netdoc URL protocol Handler is removed

The netdoc protocol handler has been removed in JDK 9. Code that attempts to construct a with the netdoc protocol, for example "netdoc:" will throw a MalformedURLException.

The netdoc protocol was used to point to network documents either on the local file system or externally through an HTTP URL. This capability is essentially defunct and is not supported by Safari, Firefox, and other major browsers.


The lib/ file has been removed

The lib/ file has been removed from the Java run-time image. The lib/ file contained the default MIME content-types table used to map content type to file extension, etc, and is used primarily by the URLConnection API. The lib/ file was never intended to be user editable. Instead there is a system property, content.types.user.table, that allows one to define their own content types.

See JDK-8039362, for further details on the use of content.types.user.table.


Platforms without multicasting support

In Java SE 9 the requirement to support multicasting has been somewhat relaxed, in order to support a small number of platforms where multicasting is not available. The specification for the and the java.nio.channels.MulticastChannel::join methods has been updated to indicate that an UnsupportedOperationException will be thrown if invoked on a platform that does not support multicasting.

There is no impact to Oracle JDK platforms, since they do support multicasting.


Modified HttpURLConnection behavior when no suitable proxy is found

The behavior of HttpURLConnection when using a ProxySelector has been modified with this JDK release. HttpURLConnection used to fall back to a DIRECT connection attempt if the configured proxy(s) failed to make a connection. This release introduces a change whereby no DIRECT connection will be attempted in such a scenario. Instead, the HttpURLConnection.connect() method will fail and throw an IOException which occurred from the last proxy tested.

Modified HttpURLConnection Behavior When a Suitable Proxy Is Not Found

The behavior of HttpURLConnection when using ProxySelector has been modified in this JDK release. HttpURLConnection used to fall back to a direct connection attempt if the configured proxy(s) failed to make a connection. Beginning with this release, the default behavior has been changed to no longer use a direct connection when the first proxy connection attempt fails.

A new system property,, can be set to a value of "true" should an application need to fall back to the old behavior (fall back to a direct connection when the first proxy connection attempt fails).


Allow use of SIO_LOOPBACK_FAST_PATH on Microsoft Windows

Applications running on server editions of Microsoft Windows that make heavy use of loopback connections may see latency and performance improvements if SIOLOOPBACKFASTPATH is enabled. The system property "" controls whether the JDK enables SIOLOOPBACKFASTPATH on Microsoft Windows. It is disabled by default but can be enabled by setting the system property on the command line with or


Issue Description

jhat tool removed.

The experimental/unsupported jhat tool has been removed.


Running jps as root does not show all information

After the fix of [] (fixed in 8u31, 7u75 and 6u91), running jps as root did not show all the information from Java processes started by other users on some systems. This has now been fixed.


management-agent.jar is removed.

management-agent.jar has been removed. Tools that have been using the Attach API to load this agent into a running VM should be aware that the Attach API has been updated in JDK 9 to define two new methods for starting a management agent: * agentProperties) *


Issue Description

Agent JAR added to app class loader rather than system class loader when running with -Djava.system.class.loader

When running a java application with the options "-javaagent:myagent.jar -Djava.system.classloader=MyClassLoader", myagent.jar is added to the custom system class loader rather than the application class loader.

In addition, the java.lang.instrument package description has a small update making it clear that a custom system class loader needs to define appendToClassPathForInstrumentation in order to load the agent at startup. Before custom system class loaders were required to implement this method only if the agents are started in the live phase (Agent_OnAttach).


Issue Description

JavaFX impl_* methods have been removed

Several deprecated and undocumented "impl_*" methods have been removed from JDK 9.

In prior releases, many public JavaFX classes in exported packages had public or protected implementation methods that were named with "impl_*" in the name, marked as "@Deprecated" with the stated intention of removing them, and hidden from the API documentation with the "@treatAsPrivate" javadoc tag.

These methods were never supported and were not intended to be used by applications. JavaFX applications that were using these undocumented methods will need to stop calling them.


Issue Description

IANA Data 2016a

JDK contains IANA time zone data version 2016a. For more information, refer to Timezone Data Versions in the JRE Software.


Provide a better migration path for ResourceBundleControlProvider

In releases through JDK 8, SPI implementations of java.util.spi.ResourceBundleControlProvider were loaded using Java Extension Mechanism. In JDK 9, this mechanism is no longer available. Instead, SPI implementations may be placed on an application's class path.


JDK 9 supports CLDR version 29

The locale data based on the Unicode Consortium's CLDR (Common Locale Data Registry) has been upgraded in JDK 9 to release release 29. See for more detail.


Use CLDR locale data by default

In JDK 9, the default locale data uses data derived from the Unicode Consortium's Common Locale Data Repository (CLDR). As a result, users may see differences in locale sensitive services behavior and/or translations. For example, CLDR does not provide localized display names for most 3-letter time zone IDs, thus the display names may be different from JDK 8 and older. The JDK continues to ship with the legacy JRE locale data and the system property java.locale.providers can be used to configure the lookup order. To enable behavior compatible with JDK 8, the system property can be set with:


For more detail, refer to the JEP 252.


SPI based locale sensitive services need to be explicitly specified

The default locale data provider lookup does not load SPI based locale sensitive services. If it is needed, the system property "java.locale.providers" needs to designate "SPI" explicitly. For more detail, refer to LocaleServiceProvider.


Locale sensitive SPI and Input Method SPI implementations are now loaded from application's classpath

Prior to JDK 9, SPI implementations of, java.text.spi, and java.util.spi packages used the Java Extension Mechanism. In JDK 9, this mechanism has been removed. SPI implementations should now be deployed on the application class path or as module on the module path.


UTF-8 based Properties Files

Properties files in UTF-8 encoding are now supported by ResourceBundle, with automatic fall back to ISO-8859-1 encoding if needed. For more detail, refer to PropertiyResourceBundle class description.


Issue Description

Phantom references are automatically cleared as soft and weak references

This enhancement changes phantom references to be automatically cleared by the garbage collector as soft and weak references.

An object becomes phantom reachable after it has been finalized. This change may cause the phantom reachable objects to be GC'ed earlier - previously the referent is kept alive until PhantomReference objects are GC'ed. This potential behavioral change might only impact existing code that would depend on PhantomReference being enqueued rather than when the referent be freed from the heap.


Deprecate Object.finalize

The java.lang.Object.finalize method has been deprecated. The finalization mechanism is inherently problematic and can lead to performance issues, deadlocks, and hangs. The java.lang.ref.Cleaner and java.lang.ref.PhantomReference provide more flexible and efficient ways to release resources when an object becomes unreachable. For further information, please see the java.lang.Object.finalize method specification.


java.lang.ref.Reference.enqueue method clears the reference object before enqueuing

java.lang.ref.Reference.enqueue method clears the reference object before it is added to the registered queue. When the enqueue method is called, the referent is cleared and get() method will return null in JDK 9.

Typically when a reference object is enqueued, it is expected that the referent is no longer referenced and is cleared explicitly via the clear method to avoid memory leak. In other words the get method is expected not to be called in common cases once the enqueuemethod is called. In the case when the get method from an enqueued reference object and existing code attempts to access members of the referent object, NullPointerException may be thrown. Such code will need to be updated.


Spec update of ClassLoader.getResourceXXXXX() : @throws NPE

The spec of the following java.lang.ClassLoader methods for locating a resource by name are updated to throw NullPointerException when the specified name is null: ` getResource(String) getResourceAsStream(String) getResources(String) ` Custom class loader implementations that override these methods should be updated accordingly to conform to this spec.


Change SecurityManager checkTopLevelWindow, checkSystemClipboard, checkAccessAwtEventQueueAccess to check AllPermission

The deprecated checkTopLevelWindow, checkSystemClipboard, and checkAccessAwtEventQueueAccess in java.lang.SecurityManager have been changed to check AllPermission, they no longer check AWTPermission. Libraries that invoke these SecurityManager methods to do permission checks may require users of the library to change their policy files.


Deprecation of Boxed Primitive Constructors

Classes Boolean, Byte, Short, Character, Integer, Long, Float, and Double are "box" classes that correspond to primitive types. The constructors of these classes have been deprecated.

Given a value of the corresponding primitive type, it is generally unnecessary to construct new instances of these box classes. The recommended alternatives to construction are autoboxing or the valueOf static factory methods. In most cases, autoboxing will work, so an expression whose type is a primitive can be used in locations where a box class is required. This is covered in the Java Language Specification, section 5.1.7, "Boxing Conversion." For example, given List<Integer> intList, the code to add an Integer might be as follows: ` intList.add(new Integer(347)); This can be replaced with: `` intList.add(347); ` Autoboxing should not be used in places where it might affect overload resolution. For example, there are two overloads of the `List.remove` method: List.remove(int i) // removes the element at index i List.remove(Object obj) // removes an element equal to obj `` The code to remove the Integer value 347 might be as follows: ` intList.remove(new Integer(347)); If this code is changed in an attempt to use autoboxing: `` intList.remove(347); `` This will not remove theInteger` value 347, but instead it will resolve to the other overloaded method, and it will attempt to remove the element at index 347.

Autoboxing cannot be used in such cases. Instead, code should be changed to use the valueOf static factory method: ` intList.remove(Integer.valueOf(347)); `

Autoboxing is preferable from a readability standpoint, but a safer transformation is to replace calls to the box constructors with calls to the valueOf static factory method.

Using autoboxing or the valueOf method reduces memory footprint compared to the constructors, as the integral box types will generally cache and reuse instances corresponding to small values. The special case of Boolean has static fields for the two cached instances, namely Boolean.FALSE and Boolean.TRUE.

With the exception of Character, the box classes also have constructors that take a String argument. These parse and convert the string value and return a new instance of the box class. A valueOf overload taking a String is the equivalent static factory method for this constructor. Usually it's preferable to call one of the parse methods (Integer.parseInt, Double.parseDouble, etc.) which convert the string and return primitive values instead of boxed instances.

Deprecation Warnings Introduced

Several APIs have been deprecated in Java SE 9. This will cause javac to emit a variety of warnings during compilation. A deprecation warning will be emitted at the use site of an API deprecated with forRemoval=false. A removal warning will be emitted at the use site of an API deprecated with forRemoval=true.

A deprecation or removal warning is a recommendation that code be migrated away from the deprecated API. A removal warning is particularly strenuous, as it is an indication that the deprecated API will generally be removed from the next major release of the platform. However, it is not always practical to migrate code immediately. Therefore, two mechanisms have been provided for controlling the warnings that are emitted by javac: command-line options and annotations in source code.

The javac command-line options -Xlint:deprecation and -Xlint:removal will enable the respective warning types, and -Xlint:-deprecation and -Xlint:-removal will disable the respective warning types. Note that removal warnings are enabled by default.

The other mechanism is to add the @SuppressWarnings("deprecation") or @SuppressWarnings("removal") annotation to the source code. This annotation can be added at the declaration of a module, class, method, field, or local variable to suppress the respective warning types emitted within that declaration.

For further information about deprecation, see JEP 277 and the documentation for the java.lang.Deprecated annotation type.


Deprecation of Boxed Primitive Constructors

Classes Boolean, Byte, Short, Character, Integer, Long, Float, and Double are "box" classes that correspond to primitive types. The constructors of these classes have been deprecated.

Given a value of the corresponding primitive type, it is generally unnecessary to construct new instances of these box classes. The recommended alternatives to construction are autoboxing or the valueOf static factory methods. In most cases, autoboxing will work, so an expression whose type is a primitive can be used in locations where a box class is required. This is covered in the Java Language Specification, section 5.1.7, "Boxing Conversion." For example, given List<Integer> intList, the code to add an Integer might be as follows: ` intList.add(new Integer(347)); This can be replaced with: `` intList.add(347); ` Autoboxing should not be used in places where it might affect overload resolution. For example, there are two overloads of the `List.remove` method: List.remove(int i) // removes the element at index i List.remove(Object obj) // removes an element equal to obj `` The code to remove the Integer value 347 might be as follows: ` intList.remove(new Integer(347)); If this code is changed in an attempt to use autoboxing: `` intList.remove(347); `` This will not remove theInteger` value 347, but instead it will resolve to the other overloaded method, and it will attempt to remove the element at index 347.

Autoboxing cannot be used in such cases. Instead, code should be changed to use the valueOf static factory method: ` intList.remove(Integer.valueOf(347)); `

Autoboxing is preferable from a readability standpoint, but a safer transformation is to replace calls to the box constructors with calls to the valueOf static factory method.

Using autoboxing or the valueOf method reduces memory footprint compared to the constructors, as the integral box types will generally cache and reuse instances corresponding to small values. The special case of Boolean has static fields for the two cached instances, namely Boolean.FALSE and Boolean.TRUE.

With the exception of Character, the box classes also have constructors that take a String argument. These parse and convert the string value and return a new instance of the box class. A valueOf overload taking a String is the equivalent static factory method for this constructor. Usually it's preferable to call one of the parse methods (Integer.parseInt, Double.parseDouble, etc.) which convert the string and return primitive values instead of boxed instances.


JEP 254: Compact Strings

In JDK 9 the internal character storage of the java.lang.String, StringBuilder and StringBuffer classes has been changed from a UTF-16 char array to a byte array plus a one-byte encoding-flag field. The new storage representation stores/encodes the characters either as ISO-8859-1/Latin-1 (one byte per character), or as UTF-16 (two bytes per character), based upon the contents of the string. The newly added encoding flag field indicates which encoding is used. This feature reduces, by 50%, the amount of space required for String objects to store the characters if the String object only contains single-byte/ latin-1 characters.

A new jvm option -XX:-CompactStrings has been introduced in JDK 9 to disable this feature, which might be worth considering when - It is known that the String objects used in jvm/application will be overwhelmingly multi-byte character Strings. - In the unexpected event where a severe performance regression is observed in migrating from JDK 8 to JDK 9 and the analysis concludes the Compact String representation is the reason.


Unicode 8 support

The JDK 9 release includes support for Unicode 8.0. Since the release of JDK 8, which supported Unicode 6.2.0, the Unicode 8.0 introduced the following new features that are now included in JDK 9:

  • 10,555 new characters

  • 42 new blocks

  • 29 scripts

  • 10,555 new characters; Includes Georgian Lari currency symbol. Two newly adopted currency symbols: Manat, used in Azerbaijan & Ruble, used in Russia and other countries.

  • 29 new scripts : Ahom Anatolian Hieroglyphs Bassa Vah Caucasian Albanian Duployan Elbasan Grantha Hatran Khojki Khudawadi Linear A Mahajani Manichaean Mende Kikakui Modi Mro Multani Nabataean Old Hungarian Old North Arabian Old Permic Pahawh Hmong Palmyrene Pau Cin Hau Psalter Pahlavi Siddham Sutton SignWriting Tirhuta Warang Citi

  • 42 new blocks which includes 29 blocks for the new scripts listed above and 13 blocks for the following existing scripts: Cherokee Supplement CJK Unified Ideographs Extension E Combining Diacritical Marks Extended Coptic Epact Numbers Early Dynastic Cuneiform Geometric Shapes Extended Latin Extended-E Myanmar Extended-B Ornamental Dingbats Shorthand Format Controls Sinhala Archaic Numbers Supplemental Arrows-C Supplemental Symbols and Pictographs


Issue Description

New default -sigalg and -keysize for jarsigner and keytool

Default signature algorithms for jarsigner and keytool are determined by both the algorithm and the key size of the private key which makes use of comparable strengths as defined in Tables 2 and 3 of NIST SP 800-57 Part 1-Rev.4. Specifically, for a DSA or RSA key with a key size greater than 7680 bits, or an EC key with a key size greater than or equal to 512 bits, SHA-512 will be used as the hash function for the signature algorithm. For a DSA or RSA key with a key size greater than 3072 bits, or an EC key with a key size greater than or equal to 384 bits, SHA-384 will be used. Otherwise, SHA-256 will be used. The value may change in the future.

For DSA keys, the default key size for keytool has changed from 1024 bits to 2048 bits.

There are a few potential compatibility risks associated with these changes:

  1. If you use jarsigner to sign JARs with the new defaults, previous versions (than this release) might not support the stronger defaults and will not be able to verify the JAR. jarsigner -verify on such a release will output the following error: ` jar is unsigned. (signatures missing or not parsable) If you thejarsignercommand line, the cause will be output: `` jar: processEntry caught: SHA256withDSA Signature not available `` If compatibility with earlier releases is important, you can, at your own risk, use the-sigalgoption ofjarsigner` and specify the weaker SHA1withDSA algorithm.

  2. If you use a PKCS11 keystore, the SunPKCS11 provider may not support the SHA256withDSA algorithm. jarsigner and some keytool commands may fail with the following exception if PKCS11 is specified with the -storetype option, ex:

    ` keytool error: No installed provider supports this key:$P11PrivateKey A similar error may occur if you are using NSS with the SunPKCS11 provider. The workaround is to use the-sigalgoption ofkeytool` and specify SHA1withDSA.

  3. If you have a script that uses the default key size of keytool to generate a DSA keypair but then subsequently specifies a specific signature algorithm, ex: ` keytool -genkeypair -keyalg DSA -keystore keystore -alias mykey ... keytool -certreq -sigalg SHA1withDSA -keystore keystore -alias mykey ... it will fail with one of the following exceptions, because the new 2048-bit keysize default is too strong for SHA1withDSA: `` keytool error: The security strength of SHA-1 digest algorithm is not sufficient for this key size keytool error: DSA key must be at most 1024 bits ```

    You will see a similar error if you use jarsigner to sign JARs using the new 2048-bit DSA key with -sigalg SHA1withDSA set.

    The workaround is to remove the -sigalg option and use the stronger SHA256withDSA default or, at your own risk, use the -keysize option of keytool to create new keys of a smaller key size (1024).

See JDK-8057810, JDK-8056174 and JDK-8138766 for more details.


Issue Description

Marlin Renderer in JDK 8u

Starting from version 8u311, the Marlin graphics rasterizer and its artifacts will be built and distributed as a part of the JDK/JRE bundles. It is not the default rendering engine, however there is an option to enable it by setting the following system property:



Remove the com.sun.image.codec.jpeg package

com.sun.image.codec.jpeg has been shipped as a non-standard API since JDK 1.2. It was always advertised as a stop-gap measure until a proper standard equivalent was provided. That replacement (javax.imageio) has been there since JDK 1.4. As a result JDK 9 finally removes the long deprecated com.sun.image.codec.jpeg API which has been flagged as intended for removal for several releases. Applications which still depend on it will need to be re-coded in order to run on JDK9.


Value of java.awt.font.OpenType.TAG_OPBD is incorrect

The value of the static final int field java.awt.font.OpenType.TAG_OPBD was incorrect

It was erroneously using the same value as TAG_MORT 0x6D6F7274UL and it has been changed to the correct 0x6F706264UL

Although this is strictly an incompatible binary change the likelihood of any practical impact on applications is near zero. The opbd table is used only in AAT fonts: and as such is likely to be extremely rare in the wild as they are natively understood only by MacOS and iOS. This table is not critical to rendering of text by Java or anything else. As such nothing goes looking for the table and nothing inside JDK utilises any part of this class.

The JDK does not provide a way to directly utilize these values. No Java API currently exists that accepts them and the class can not become useful unless an additional Java API is added.

Even if an application were to use it by passing the Java field's value to some custom native code to look up a table then it is likely to return "null" both before and afterward since: 1) the opbd table is extremely rare. 2) the "mort" table that the old value located is already replaced in all fonts on OSX by the "morx" table.

A representative sampling of 6 OS X fonts found none of them to have either table


Issue Description

Message digest algorithms are now enabled by default for SunPKCS11 provider on Solaris

SunPKCS11 provider has re-enabled support for various message digest algorithms such as MD5, SHA1, and SHA2 on Solaris. If you are using Solaris 10 and experience a CloneNotSupportedException or PKCS11 error CKRSAVEDSTATE_INVALID, you should verify and apply the following patches or newer versions of them: 150531-02 on sparc 150636-01 on x86


Issue Description

Binary format for HPROF updated

When dumping the heap in binary format, HPROF format 1.0.2 is always used now. Previously, format 1.0.1 was used for heaps smaller than 2GB. HPROF format 1.0.2 is also used by jhsdb jmap for the serviceability agent.


Issue Description

'jsadebugd' command has been replaced by 'jhsdb debugd' command.

The jsadebugd command to start remote debug server can now be launched from the common SA launcher jhsdb .

The new command to start remote debug server is jhsdb debugd .


SA-JDI has been removed

The Serviceability Agent (SA) Core and PID debugger Connectors have been removed in this release. It is no longer possible to use a Java Debugger to attach to a core file or process with the SA mechanism.


Issue Description

References to java.awt.peer and java.awt.dnd.peer packages were removed from the public API

All methods that refer to types defined in the java.awt.peer and java.awt.dnd.peer packages (the "peer types") were removed from the Java API in Java SE 9 . Application code which calls any such method which accepts or returns a type defined in these packages will no longer link. This is a BINARY incompatible change.

Additional information is provided here:


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


New ManagementAgent.status diagnostic command added.

A new ManagementAgent.status diagnostic command is introduced for querying the JMX agent's status.

The status will be relayed to the user in the following form: ``` Agent: ( ConnectionType: Protocol: Host: URL: ( Properties: ( = )+ )? )+

Where: means an arbitrary value | means 'or' ( and ) denote a block + block repeats one or more times ? block appears at most once ```


Define ConstructorParameters annotation type for MXBeans

A new annotation in the module is introduced.

The newly introduced annotation will be 1:1 copy of @java.beans.ConstructorProperties. Constructors annotated by @java.beans.ConstructorProperties will still be recognized and processed.

In case a constructor is annotated by both and @java.beans.ConstructorProperties only the will be used.


Issue Description

Enforce format checks for NameAndType strings

This change enforces the unqualified name format checks for NameAndType strings as outlined in the JVM specification sections 4.4.6 and 4.2.2, meaning that some illegal names and descriptors that users may be utilizing in their classfiles will now be caught with a Class Format Error. This includes format checking for all strings under non-referenced NameAndType's. Users will see a change if they (A) are using Java classfile version 6 or below and have an illegal NameAndType descriptor with no Methodref or Fieldref reference to it; or (B) are using any Java classfile version and have an illegal NameAndType name with no Methodref or Fieldref reference to it.

In both (A) and (B) the users will now receive a ClassFormatError for those illegal strings, which is an enforcement of unqualified name formats as delineated in JVMS 4.2.2.


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"


Deprecate FlatProfiler

The VM Option "-Xprof" is deprecated in JDK 9 and will be removed in a future release. The option provides some profiling data for code being executed to standard output. Better data can be gathered with other tools such as Java Flight Recorder and therefore "-Xprof" will no longer be available in a future release.


Stack overflow can cause segfaults on Linux

Some linux kernel versions (including, but not limited to 3.13.0-121-generic and 4.4.0-81-generic) are known to contain an incorrect fix for a linux kernel stack overflow issue (See CVE-2017-1000364). The incorrect fix can trigger crashes in the Java Virtual Machine. Upgrading the kernel to a version that includes the corrected fix addresses the problem.


os::set_native_thread_name() cleanups

On platforms that support the concept of a thread name on their native threads, the java.lang.Thread.setName() method will also set that native thread name. However, this will only occur when called by the current thread, and only for threads started through the java.lang.Thread class (not for native threads that have attached via JNI). The presence of a native thread name can be useful for debugging and monitoring purposes. Some platforms may limit the native thread name to a length much shorter than that used by the java.lang.Thread, which may result in some threads having the same native name.


Additional consistency checks for JVM_CONSTANT_Methodref and JVM_CONSTANT_InterfaceMethodref

The JVM has been fixed to check that the constant pool types JVMCONSTANTMethodref or JVMCONSTANTInterfaceMethodref are consistent with the type of method referenced. These checks are made during method resolution and are also checked for methods that are referenced by JVMCONSTANTMethodHandle.

If consistency checks fail an IncompatibleClassChangeError is thrown.

javac has never generated inconsistent constant pool entries, but some bytecode generating software may. In many cases, if ASM is embedded in the application, upgrading to the latest version ASM 5.1 resolves the exception. After upgrading ASM, be sure to replace all uses of deprecated functions with calls to the new functions, particularly new functions that pass a boolean whether the method is an interface method: visitMethodInsn and Handle.


Make -Xshare:auto the default for server VM

We expect CDS to be widely used with the Server VM. However, the current default CDS setting for Server VM is -Xshare:off. This makes it cumbersome to use CDS.

We should change the default to -Xshare:auto, so as long as a CDS archive exists in the JDK, CDS will be automatically used without specifying extra flags.

In JDK 8 and before, RewriteBytecodes was disabled when CDS was enabled. This caused performance degradation in the Server Compiler (aka C2). However this has been fixed in JDK-8074345 since JDK 9, so there's no longer need to disable CDS by default with the Server VM.

The proposed change is to remove this block of code


// Shared spaces work fine with other GCs but causes bytecode rewriting // to be disabled, which hurts interpreter performance and decreases // server performance. When -server is specified, keep the default off // unless it is asked for. Future work: either add bytecode rewriting // at link time, or rewrite bytecodes in non-shared methods. if (isservercompilationmodevm() && !DumpSharedSpaces && !RequireSharedSpaces && (FLAGISDEFAULT(UseSharedSpaces) || !UseSharedSpaces)) { nosharedspaces("COMPILER2 default: -Xshare:auto | off, have to manually setup to on."); }



New JVM Options: ExitOnOutOfMemoryError and CrashOnOutOfMemoryError

Two new JVM flags have been added:

ExitOnOutOfMemoryError When you enable this option, the JVM exits on the first occurrence of an out-of-memory error. It can be used if you prefer restarting an instance of the JVM rather than handling out of memory errors.

CrashOnOutOfMemoryError If this option is enabled, when an out-of-memory error occurs, the JVM crashes and produces text and binary crash files (if core files are enabled).


Update JNI Version Number

The current version of the Java Native Interface (JNI) needs to be updated due to the addition of new application programmatic interfaces to support Jigsaw. JNI_VERSION_9 was added with a value of 0x00090000 to the available versions and CurrentVersion was changed to this new value.


Removal of rarely used sun.misc.Unsafe methods

The methods monitorEnter, monitorExit and tryMonitorEnter on sun.misc.Unsafe are removed in JDK 9. These methods are not used within the JDK itself and are very rarely used outside of the JDK.


JNIDetachReleasesMonitors is obsolete

The -XX:-JNIDetachReleasesMonitors flag requested that the VM run in a pre-JDK 6 compatibility mode with regard to not releasing monitors when a JNI attached thread detaches. This option is obsolete in JDK 9, and is ignored, as the VM always conforms to the JNI Specification and releases monitors. Use of this option will result in a warning being issued in JDK 9 and it may be removed completely in a future release.


VM Options "-Xoss", "-Xsqnopause", "-Xoptimize" and "-Xboundthreads" are obsolete

The VM Options "-Xoss", "-Xsqnopause", "-Xoptimize" and "-Xboundthreads" are obsolete in JDK 9 and are ignored. Use of these options will result in a warning being issued in JDK 9 and they may be removed completely in a future release.

The VM Options "-Xoss", "-Xsqnopause", "-Xoptimize" options were already silently ignored for a long time.

The VM Option "-Xboundthreads" was only needed on Solaris 8/9 (when using the T1 threading library).


VM Options AdjustConcurrency and PrintJVMWarnings are removed

The VM Options -XX:AdjustConcurrency and -XX:PrintJVMWarnings are removed from JDK 9.

The VM option -XX:AdjustConcurrency was only needed on Solaris 8/9 (when using the T1 threading library).

The VM option -XX:PrintJVMWarnings was a development option only used by unimplemented VM functions that have themselves been removed in JDK 9.

VM Options AdaptiveSizePausePolicy and ParallelGCRetainPLAB are obsolete

The VM Options -XX:AdaptiveSizePausePolicy and -XX:ParallelGCRetainPLAB are obsolete in JDK 9 and are ignored. Use of these options will result in a warning being issued in JDK 9 and they may be removed completely in a future release.

The VM Option -XX:AdaptiveSizePausePolicy has been unused for some time.

The VM Option -XX:ParallelGCRetainPLAB was a diagnostic flag relating to garbage collector combinations that no longer exist.


Issue Description

LogManager.readConfiguration will no longer propagate IllegalArgumentException directly when the logging configuration property file contains invalid unicode escape sequences.

LogManager.readConfiguration calls Properties.load, which may throw IllegalArgumentException if it encounters an invalid unicode escape sequence in the input stream. In previous versions of the JDK, the IllegalArgumentException was simply propagated to the caller. This was however in violation of the specification, since LogManager.readConfiguration is not specified to throw IllegalArgumentException. Instead, it is specified to throw IOException ''if there are problems reading from the stream''. In Java SE 9, LogManager.readConfiguration will no longer propagate such IllegalArgumentException directly, but will wrap it inside an IOException in order to conform to the specification.


Precision of time stamps in java.util.logging.LogRecord has been increased

LogRecord now stores the event time in the form of a java.time.Instant. XMLFormatter DTD is upgraded to print the new higher time resolution.

In Java SE 9 java.util.logging is updated to use java.time instead of System.currentTimeMillis() and java.util.Date. This allows for higher time stamp precision in LogRecord.

As a consequence, the implementation of the methods getMillis() and setMillis(long) in java.util.logging.LogRecord has been changed to use java.lang.Instant, and the method setMillis(long) has been deprecated in favor of the new method LogRecord.setInstant(java.time.Instant). The java.util.logging.SimpleFormatter has been updated to pass a java.time.ZonedDateTime object instead of java.util.Date to String.format. The java.util.logging.XMLFormatter has been updated to print a new optional <nanos> XML element after the <millis> element. The <nanos> element contains a nano seconds adjustment to the number of milliseconds printed in the <millis> element. The XMLFormatter will also print the full java.time.Instant in the <date> field, using the java.time.format.DateTimeFormatter.ISO_INSTANT formatter.

Compatibility with previous releases:

The LogRecord serial form, while remaining fully backward/forward compatible, now contains an additional serial nanoAdjustment field of type int, which corresponds to a nano seconds adjustment to the number of milliseconds contained in the serial millis field. If a LogRecord is serialized and transmitted to an application running on a previous release of the JDK, the application will simply see a LogRecord with a time truncated at the millisecond resolution. Similarly, if a LogRecord serialized by an application running on a previous release of the JDK, is transmitted to an application running on Java SE 9 or later, only the millisecond resolution will be available.

Applications that parse logs produced by the XMLFormatter, and which perform validation, may need to be upgraded with the newer version of the logger.dtd, available in the appendix A of the Logging Overview. In order to mitigate the compatibilty risks, the XMLFormatter class (and subclasses) can be configured to revert to the old XML format from Java SE 8 and before. See the java.util.logging.XMLFormatter API documentation for more details.

There could also be an issue if a subclass of LogRecord overrides getMillis/setMillis without calling the implementation of the super class. In that case, the event time as seen by the formatters and other classes may be wrong, as these have been updated to no longer call getMillis() but use getInstant() instead.


Loggers with handlers configured from the configuration file will not be garbage collected until LogManager.reset is called.

When a logger has a handler configured in the logging configuration file (using the <logger>.handlers property), a reference to that logger will be internally kept by the LogManager until LogManager.reset() is called, in order to ensure that the associated handlers are properly closed on reset. As a consequence, such loggers won't be garbage collected until LogManager.reset() is called. An application that needs to allow garbage collection of these loggers before reset is called can revert to the old behaviour by additionally specifying <logger>.handlers.ensureCloseOnReset=false in the logging configuration file. Note however that doing so will reintroduce the resource leak that JDK-8060132 is fixing. Such an application must therefore take the responsibility of keeping the logger alive as long as it is needed, and close any handler attached to it before the logger gets garbage collected. See LogManager API documentation for more details.


A new configurable property in java.util.logging.FileHandler.maxLocks

A new "java.util.logging.FileHandler.maxLocks" configurable property is added to java.util.logging.FileHandler.

This new logging property can be defined in the logging configuration file and makes it possible to configure the maximum number of concurrent log file locks a FileHandler can handle. The default value is 100.

In a highly concurrent environment where multiple (more than 101) standalone client applications are using the JDK Logging API with FileHandler simultaneously, it may happen that the default limit of 100 is reached, resulting in a failure to acquire FileHandler file locks and causing an IO Exception to be thrown. In such a case, the new logging property can be used to increase the maximum number of locks before deploying the application.

If not overridden, the default value of maxLocks (100) remains unchanged. See java.util.logging.LogManager and java.util.logging.FileHandler API documentation for more details.

System Property Controls the java.util.logging.FileHandler's MAX_LOCKS Limit

A new JDK implementation specific system property jdk.internal.FileHandlerLogging.maxLocks has been introduced to control the java.util.logging.FileHandler MAXLOCKS limit. The default value of the current MAXLOCKS (100) is retained if this new system property is not set or an invalid value is provided to the property. Valid values for this property are integers ranging from 1 to Integer.MAX_VALUE-1.


Remove LogManager addPropertyChangeListener and removePropertyChangeListener methods

The deprecated addPropertyListener and removePropertyListener methods have been removed from java.util.logging.LogManager. Code that relies on a listener to be invoked when logging configuration changes should use the new addConfigurationListener and removeConfigurationListener methods instead.


java.util.logging.Formatter::formatMessage API specification has been clarified, and its implementation fixed.

java.util.logging.Formatter.formatMessage API specification specified that MessageFormat would be called if the message string contained "{0". In practice MessageFormat was called if the message string contained either "{0", "{1", "{2" or "{3".

In Java SE 9, the specification and implementation of this method have been changed to call MessageFormat if the message string contains "{<digit>", where <digit> is in [0..9].

In practice, this should be transparent for calling applications.

The only case where an application might see a behaviour change is if the application passes a format string that does not contain any formatter of the form "{0", "{1", "{2" or "{3", but contains "{<digit>" with <digit> within [4..9], along with an array of parameters that contains at least <digit>+1 elements, and depends on MessageFormat not to be called. In that case the method will return a formatted message instead of the format string.


Issue Description

Attach API cannot be used to attach to the current VM by default

The implementation of Attach API has changed in JDK 9 to disallow attaching to the current VM by default. This change should have no impact on tools that use the Attach API to attach to a running VM. It may impact libraries that mis-use this API as a way to get at the java.lang.instrument API. The system property jdk.attach.allowAttachSelf may be set on the command line to mitigate any compatibility with this change.


Module System

Java SE and the JDK have been significantly updated by the introduction of the Java Platform Module System (JSR 376) and using the module system to modularize the Java SE Platform and the JDK. The compatibility issues due to the changes are documented in the "Risks and Assumptions" section of JEP 261 and also summarized here.

  • All JDK internal classes are now encapsulated at compile-time. Using javac to compile source code with references to JDK internal classes will now fail. This differs to previous releases where javac emitted warnings of the form "XXX is an internal proprietary API and may be removed in a future release". JEP 261 documents the --add-exports option which may be used as a temporary workaround to compile source code with references to JDK internal classes.

  • All JDK internal classes are also encapsulated at run-time but most remain accessible to applications and libraries on the class path. Specifically, all public classes in JDK internal packages that existed in JDK 8 remain accessible to code on the class path. Furthermore, these JDK internal packages, and the standard packages in Java SE 8, are open in JDK 9 for so-called deep reflection by code on the class path. This allows existing code on the class path that relies on the use of setAccessible to break into JDK internals, or to do other illegal access on members of classes in these packages, to work as per previous releases. A future JDK release will change this policy so that these packages will not be open and illegal access to members of classes in these packages will be denied. To help identify code that needs to be fixed, the JDK emits a warning to standard error on the first use of core reflection that performs an illegal access. The warning is not suppressible.

    Developers of applications that observe "illegal access" warnings caused by code in libraries that they use are encouraged to submit bugs to the library maintainers.

    Developers of libraries using core reflection that may rely on illegal access are encouraged to test with --illegal-access=warn or --illegal-access=debug to identify code in their library that may need updating.

    All developers are encouraged to use the jdeps tool to identify any static references to JDK internal classes. The jdeps tool was introduced in JDK 8 and has many significant improvements in JDK 9.

    In preparation for a JDK release that denies illegal access, applications and libraries should be tested with --illegal-access=deny. As documented in JEP 261, running with -Dsun.reflect.debugModuleAccessChecks=access may help to locate code that silently ignores IllegalAccessException or InaccessibleObjectException.

  • As detailed in JEP 261, the default set of root modules for applications on the class path is the module rather than the module. Applications and libraries that make use of classes in module java.xml.bind (JAXB), module (JAX-WS), module java.corba (CORBA), or other modules shared between Java SE and Java EE may need changes to how they are compiled and deployed. Furthermore, these modules have been deprecated in Java SE 9 for removal in a future release so applications and libraries using these APIs will need to eventually migrate to using the standalone releases of these modules. The JDK 9 Migration Guide details the options for applications and libraries using these APIs.

  • As documented in JEP 261, if a package is defined in both a named module and on the class path then the package on the class path will be ignored. This may impact applications that have (perhaps unknowingly) added classes to Java SE or JDK packages by means of the class path.

  • The boot class path has been mostly removed in this release. The java -Xbootclasspath and -Xbootclasspath/p options have been removed. The javac -bootclaspath option can only be used when compiling to JDK 8 or older. The system property sun.boot.class.path has been removed. Deployments that rely on overriding platform classes for testing purposes with -Xbootclasspath/p will need to changed to use the --patch-module option that is documented in JEP 261. The -Xbootclasspath/a option is unchanged.

  • The application class loader is no longer an instance of (an implementation detail that was never specified in previous releases). Code that assumes that ClassLoader::getSytemClassLoader returns a URLClassLoader object will need to be updated. Note that Java SE and the JDK do not provide an API for applications or libraries to dynamically augment the class path at run-time.

  • The classes in many non-core modules are now defined to the platform class loader rather than the boot class loader. This may impact code that creates class loaders with null as the parent class loader and assumes that all platform classes are visible to the parent class loader. Such code may need to be changed to use the platform class loader as the parent class loader (see java.lang.ClassLoader::getPlatformClassLoader). Tool agents that add supporting classes to the boot class path may also assume that all platform classes are visible to the boot class loader. The java.lang.instrument package description provides more information on this topic for maintainers of java agents.

  • The java.lang.Package API has been updated to represent a run-time package. The Class::getPackage method returns a Package object whose name is an empty string for a class in the unnamed package. This may impact code that expects Class::getPackage to return null for a class in the unnamed package. In addition, Package::getPackages and ClassLoader::getPackages may return an array with more than one Package object of the same package name, each defined by a different class loader in the class loader hierarchy. This differs to previous releases that only one Package object of a package name will be included in the returned array.

  • The java.lang.Package objects created by the built-in class loaders for packages in named modules do not have specification or implementation versioning information. This differs to previous releases where specification and implementation versioning information was read from the main manifest of rt.jar. This change may impact code that invokes getPackage on a platform class and expects the Package::getSpecificationXXX or Package::getImplementationXXX methods to return non-null values.

  • The Class::getResource and Class::getResourceAsStream methods have been updated in Java SE 9 so that invoking them on a Class in a named module will only locate the resource in the module. This may impact code that invokes these methods on platform classes on the assumption that the class path will be searched. Code that needs to search the class path for a resource should be changed to use ClassLoader::getSystemResource or ClassLoader::getSystemResourceAsStream.

  • JDK internal resources, other than class files, in the standard and JDK modules can no longer be located with the ClassLoader::getResourceXXX APIs. This may impact code that relies on using these APIs to get at JDK internal properties files or other resources. The Class::getResourceXXX APIs will continue to locate JDK internal resources in packages that are open for illegal access (see above). A further change to these APIs is that the permission needed, when running with a security manager, to locate resources in the run-time image has changed. The permission needed to locate resources in modules in the run-time image is RuntimePermission("accessSystemModules") and so different to previous releases where permission to read ${java.home}/lib/rt.jar was needed.

  • Stack traces have been updated to include module names in the stack trace elements for classes in named modules. Code that parses stack traces may need to be updated.

  • The JDK may not start (meaning java -version fails) in some unsupported configurations. In particular, if the system property file.encoding is set on the command line with the name of a charset that is not in the java.base module then startup will fail with an error message to indicate that the charset is not supported.

  • In previous releases, the "double equals" syntax could be used when setting the security policy to override the JDK security policy file (e.g. This has changed in JDK 9 so that it augments the permissions granted to the standard and JDK modules. This change means that application servers that override the JDK policy file do not need to copy the permissions granted to standard and JDK modules. More details on this issue can be found in JDK-8159752.

  • Maintainers of JVM TI agents to instrument or profile code that executes early in VM startup should review the changes in JEP 261 and the changes in the JVM TI specification. The default behavior has changed so that the ClassFileLoadHook event is not sent during the primordial phase, and the VMStart event (to signal the beginning of the start phase) is delayed until the module system is initialized. The JVM TI specification has been updated to define new capabilities for agents that need events for code that is executed before the VM is fully initialized.

Source Compatibility Issues

  • Java SE 9 adds the Module class to the java.lang package which is implicitly imported on demand (i.e., import java.lang.*). If code in an existing source file imports some other package on demand, and that package declares a Module type, and the existing code refers to that type, then the source file will not compile without changing it to use a single-type-import declaration (i.e., import otherlib.Module).

  • Java SE 9 adds two abstract methods to java.lang.instrument.Instrumentation. This interface isn't intended to be implemented outside of the java.instrument module but if there are implementations they will not compile with JDK 9 until they are updated to implement the new methods added in Java SE 9.

  • Java SE 9 adds a six-parameter transform method to java.lang.instrument.ClassFileTransformer as a default method. This means that ClassFileTransformer is no longer a functional interface (JLS 9.8). Existing source code that uses the pre-existing five-parameter transform method as a functional interface will no longer compile.


Issue Description

List.spliterator should optimize for RandomAccess lists

Previously the default implementation of List.spliterator derived a Spliterator from the List's iterator, which is poorly splitting and that affects the performance of a parallel stream returned by List.parallelStream. The default implementation of List.spliterator now returns an optimal splitting Spliterator implementation for List implementations that implement java.util.RandomAccess. As a result parallel stream performance may be improved for third-party List implementations, such as those provided by Eclipse collections, that do not override List.spliterator for compatibility across multiple major versions of the Java platform. This enhancement is a trade-off. It requires that the List.get method, of such lists implementing RandomAccess, have no side-effects, ensuring safe concurrent execution of the method when parallel stream pipeline is executed.


Collections.asLifoQueue(null) now throws NPE as specified

Before the JDK 9 release, invocation of the method Collections.asLifoQueue with a null argument value would not throw a NullPointerException as specified by the class documentation. Instead a NullPointerException would be thrown when operating on the returned Queue. The JDK 9 release corrects the implementation of Collections.asLifoQueue to conform to the specification. Behavioral compatibility is not preserved but it is expected that the impact will be minimal given analysis of existing usages.


Arrays.asList().toArray() returns Object[]

The Arrays.asList() API returns an instance of List. Calling the toArray() method on that List instance is specified always to return Object[], that is, an array of Object. In previous releases, it would sometimes return an array of some subtype. Note that the declared return type of Collection.toArray() is Object[], which permits an instance of an array of a subtype to be returned. The specification wording, however, clearly requires an array of Object to be returned.

The toArray() method has been changed to conform to the specification, and it now always returns Object[]. This may cause code that was expecting the old behavior to fail with a ClassCastException. An example of code that worked in previous releases but that now fails is the following: ` List<String> list = Arrays.asList("a", "b", "c"); String[] array = (String[]) list.toArray(); If this problem occurs, rewrite the code to use the one-arg formtoArray(T[]), and provide an instance of the desired array type. This will also eliminate the need for a cast. `` String[] array = list.toArray(new String[0]); ```


Issue Description

Java Packager '-makeall' argument deprecated

The '-makeall' argument of the Java Packager's command line interface has been deprecated. Use of '-makeall' will result in a warning. In lieu of the '-makeall' command, independent commands should be issued to perform compilation, createjar, and deploy, steps.


Issue Description

New defaults for DSA keys in jarsigner and keytool

For DSA keys, the default signature algorithm for keytool and jarsigner has changed from SHA1withDSA to SHA256withDSA and the default key size for keytool has changed from 1024 bits to 2048 bits.

Users wishing to revert to the previous behavior can use the -sigalg option of keytool and jarsigner and specify SHA1withDSA and the -keysize option of keytool and specify 1024.

There are a few potential compatibility risks associated with this change:

  1. If you have a script that uses the default key size of keytool to generate a DSA keypair but then subsequently specifies a specific signature algorithm, ex: ` keytool -genkeypair -keyalg DSA -keystore keystore -alias mykey ... keytool -certreq -sigalg SHA1withDSA -keystore keystore -alias mykey ... it will fail with one of the following exceptions, because the new 2048-bit keysize default is too strong for SHA1withDSA: `` keytool error: The security strength of SHA-1 digest algorithm is not sufficient for this key size keytool error: DSA key must be at most 1024 bits `` The workaround is to remove the-sigalgoption and use the stronger SHA256withDSA default or, at your own risk, use the-keysizeoption ofkeytool` to specify a smaller key size (1024).

  2. If you use jarsigner to sign JARs with the new defaults, previous versions (than this release) of JDK 6 and 7 do not support the stronger defaults and will not be able to verify the JAR. jarsigner -verify on an earlier release of JDK 6 or 7 will output the following error: ` jar is unsigned. (signatures missing or not parsable) If you thejarsignercommand line, the cause will be output: `` jar: processEntry caught: SHA256withDSA Signature not available `` If compatibility with earlier releases is important, you can, at your own risk, use the-sigalgoption ofjarsigner` and specify the weaker SHA1withDSA algorithm.

  3. If you use a PKCS11 keystore, the SunPKCS11 provider does not support the SHA256withDSA algorithm. jarsigner and some keytool commands may fail with the following exception if PKCS11 is specified with the -storetype option, ex:

    ` keytool error: No installed provider supports this key:$P11PrivateKey A similar error may occur if you are using NSS with the SunPKCS11 provider. The workaround is to use the-sigalgoption ofkeytool` and specify SHA1withDSA.


Deprecate security APIs that have been superseded

The classes and interfaces in the and packages have been superseded by replacements for a long time and are deprecated in JDK 9. Two methods and are also deprecated since they return the type.


Issue Description

Class.getMethod and Class.getMethods more accurately follow inheritance rules

The javadoc for the Class.getMethod and Class.getMethods refer to the definition of inheritance in the Java Language Specification. Java SE 8 changed these rules in order to support default methods and reduce the number of redundant methods inherited from superinterfaces (see JLS 8, 8.4.8).

Class.getMethod and Class.getMethods were not updated with the 8 release to match the new inheritance definition (both may return non-inherited superinterface methods). The implementation has now been changed to filter out methods that are not members of the class.


Annotation toString output not reusable for source input

The exact toString output of an annotation is deliberately not specified; from java.lang.annotation.Annotation.toString():

Returns a string representation of this annotation. The details of the representation are implementation-dependent [...]

Previously, the toString format of an annotation did not output certain information in a way that would be usable for a source code representation of an annotation, string values were not surrounded by double quote characters, array values were surrounded by brackets ("[]") rather than braces ("{}"), etc.

As a behavioral change, the annotation output has been updated to be faithful to a source code representation of the annotation.


javac no longer marks anonymous classes 'static'

Prior to JDK 9, javac set the 'static' modifier on anonymous classes declared in a static context, e.g., in static methods or static initialization blocks. This contradicts the Java Language Specification, which states that anonymous classes are never static. In JDK 9, javac does not mark anonymous classes 'static', whether they are declared in a static context or not.


Executable.getAnnotatedReceiverType() is sensitive to the kind of Executable

The behavior of getAnnotatedReceiverType() has been clarified to return an empty AnnotatedType object only for a method/constructor which could conceptually have a receiver parameter but does not have one at present. (Since there is no receiver parameter, there are no annotations to return.) In addition, the behavior of getAnnotatedReceiverType() has been clarified to return null for a method/constructor which cannot ever have a receiver parameter (and therefore cannot have annotations on the type of a receiver parameter): static methods, and constructors of non-inner classes. Incompatibility: Behavioral


Default methods affect the result of Class.getMethod and Class.getMethods

The javadoc for the Class.getMethod and Class.getMethods refer to the definition of inheritance in the Java Language Specification. Java SE 8 changed these rules in order to support default methods and reduce the number of redundant methods inherited from superinterfaces (see JLS 8, 8.4.8).

Class.getMethod and Class.getMethods were not updated with the 8 release to match the new inheritance definition (both may return non-inherited superinterface methods). Typically, the distinction is of no consequence; and for compatibility, it is preferred that the identity and number of returned methods match Java SE 7 as closely as possible. However, when the overriding method is a default method, it is important to filter out other overridden methods. As of 8u20, the implementation has been changed to perform this filtering step when the overrider is a default method.


Updates to java.lang.reflect.Field.get(), Field.get{primitive}() and java.lang.reflect.Method.invoke()

java.lang.reflect.Field.get(), Field.get{primitive}() and java.lang.reflect.Method.invoke() have been updated to use the primitive wrapper classes' valueOf() (for example Integer.valueOf()) instead of always creating new wrappers with "new" (for example new Integer()) after the reflection libraries have (potentially) optimised the Field/Method instance. This can affect applications that depended on two wrappers being != while still being .equals().


Issue Description

IANA Data 2016f

JDK contains IANA time zone data version 2016f. For more information, refer to Timezone Data Versions in the JRE Software.


Return unmodifiable set of zone IDs to optimize ZoneIdPrinterParser

The performance of is improved by returning an unmodifiable set of zone ids; previously the set was modifiable.


IANA Data 2016i

JDK contains IANA time zone data version 2016i. For more information, refer to Timezone Data Versions in the JRE Software.


The implementation of the clock returned by system factory methods in java.time.Clock has increased the resolution

The Java SE 8 specification for java.time.Clock states that ''The system factory methods provide clocks based on the best available system clock. This may use System.currentTimeMillis(), or a higher resolution clock if one is available.'' In JDK 8 the implementation of the clock returned was based on System.currentTimeMillis(), and thus has only a millisecond resolution. In JDK 9, the implementation is based on the underlying native clock that System.currentTimeMillis() is using, providing the maximum resolution available from that clock. On most systems this can be microseconds, or sometimes even tenth of microseconds.

An application making the assumption that the clock returned by these system factory methods will always have milliseconds precision and actively depends on it, may therefore need to be updated in order to take into account the possibility of a greater resolution, as was stated in the API documentation. It is also worth noting that a new Clock.tickMillis(zoneId) method has been added to allow time to be obtained at only millisecond precision - see:


Changing the boundaries specified by ChronoField.EPOCH_DAY

Boundaries specified by java.time.temporal.ChronoField.EPOCH_DAY have been corrected to match the epoch day of LocalDate.MIN and LocalDate.MAX


IANA Data 2016d

JDK contains IANA time zone data version 2016d. For more information, refer to Timezone Data Versions in the JRE Software.


IANA Data 2016j

JDK contains IANA time zone data version 2016j. For more information, refer to Timezone Data Versions in the JRE Software.


Issue Description

JAXP library updated with selected Xerces 2.11.0 updates

The JAXP library in JDK 9 has been updated to Xerces-J 2.11.0 release in the following areas: - Datatypes - DOM Level 3 serialization - XPointer - XML Schema Validation

This update includes improvement and bug fixes in the above areas up to the Xerces-J 2.11.0 release, but not the experimental support for XML Schema 1.1 features. Refer to Xerces-J 2.11.0 Release Notes for more details.


XML Catalog API

Java SE 9 introduces a standard XML Catalog API that supports the OASIS XML Catalogs version 1.1 standard. The API defines catalog and catalog-resolver abstractions that can be used as an intrinsic or external resolver with the JAXP processors that accept resolvers.

Existing libraries or applications that use the internal catalog API shall consider migrating to the new API in order to take advantage of the new features.


Issue Description

The jdk.Exported annotation has been removed

The JDK-specific annotation @jdk.Exported has been removed in JDK 9. The information that @jdk.Exported conveyed is now recorded in the exports declarations of modules. Tools that scan for this annotation should be updated to make use of the new API support in javax.lang.model and java.lang.module.


Extend the search path for the org.omg.CORBA.ORB file

org.omg.CORBA.ORB specifies the search order to locate an ORB's file, and this includes searching ${java.home}/lib. The JDK 9 release will include a ${java.home}/conf directory as the location for properties files. As such, the ORB.init processing has been amended, to include ${java.home}/conf directory in its search path for an file. Thus, the preferred approach is to use the ${java.home}/conf directory, in preference to the ${java.home}/lib directory, as a location for an file.


Issue Description

Visual VM removed in JDK 9

Visual VM is a tool that provides information about code running on a Java Virtual Machine. It was provided with Oracle JDK 6, Oracle JDK 7, and Oracle JDK 8.

Starting from JDK 9, the tool (jvisualvm) is no longer included in Oracle JDK. Users can still download the tool from the official project website at


Issue Description

Updated Java Cryptography Jurisdiction Policy File Mechanism

This release introduces several changes to the JCE Jurisdiction Policy files.

Previously, to allow unlimited cryptography in the JDK, separate JCE Jurisdiction Policy files had be be downloaded and installed. The download and install steps are no longer necessary.

  1. Both the strong but "limited" (traditional default) and the "unlimited" policy files are included in this release.

  2. A new Security property (crypto.policy) was introduced to control which policy files are active. The new default is "unlimited".

  3. The files are now user-editable to allow for customized Policy configuration.

Please see the Java Cryptography Architecture (JCA) Reference Guide for more information.

Also see:

JDK-8186093: configuration file still says that "strong but limited" is the default value


Unlimited cryptography enabled by default

The JDK uses the Java Cryptography Extension (JCE) Jurisdiction Policy files to configure cryptographic algorithm restrictions. Previously, the Policy files in the JDK placed limits on various algorithms. This release ships with both the limited and unlimited jurisdiction policy files, with unlimited being the default. The behavior can be controlled via the new crypto.policy Security property found in the <java-home>/lib/ file. Refer to that file for more information on this property.


Remove the ExemptionMechanism.finalize() method

The javax.crypto.ExemptionMechanism.finalize() method has been removed from both the specification and the implementation.


Support DHE sizes up to 8192-bits and DSA sizes up to 3072-bits

Enhance the JDK security providers to support 3072-bit DiffieHellman and DSA parameters generation, pre-computed DiffieHellman parameters up to 8192 bits and pre-computed DSA parameters up to 3072 bits.


MSCAPI KeyStore can handle same named certificates

Java SE KeyStore does not allow certificates that have the same aliases.

However, on Windows, multiple certificates stored in one keystore are allowed to have non-unique friendly names.

The fix for JDK-6483657 makes it possible to operate on such non-uniquely named certificates through the Java API by artificially making the visible aliases unique.

Please note, this fix does not enable creating same-named certificates with the Java API. It only allows you to deal with same-named certificates that were added to the keystore by 3rd party tools.

It is still recommended that your design not use multiple certificates with the same name. In particular, the following sentence will not be removed from the Java documentation: "In order to avoid problems, it is recommended not to use aliases in a KeyStore that only differ in case."


Issue Description

The SecurityException throws clauses of the java.nio.file.Files methods newBufferedWriter() and write() now indicate that the exception might arise from a "delete" permission check

The sentence

"The SecurityManager.checkDelete(String) method is invoked to check delete access if the file is opened with the DELETE_ON_CLOSE option."

was appended to the verbiage of the SecurityException throws clause in the specifications of the newBufferedWriter() and write() methods of java.nio.file.Files.


java.nio.channels.FileLock constructors don't throw NPE if the channel argument is null

The java.nio.channels.FileLock constructors will now throw a NullPointerException if called with a null Channel parameter. To avoid an unexpected behavior change, subclasses of FileLock should therefore ensure that the Channel they pass to the superclass constructor is non-null.

JDK-8142872 removed

The poll based SelectorProvider has been removed in JDK 9. It has been superseded for several releases by improved or higher performance implementations on all supported platforms.


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.


Allow use of TransmitFile on Microsoft Windows

Applications running on server editions of Microsoft Windows that make heavy use of java.nio.channels.FileChannel.transferTo may see performance improvements if the implementation uses TransmitFile. TransmitFile makes use of the Windows cache manager to provide high-performance file data transfer over sockets. The system property "jdk.nio.enableFastFileTransfer" controls whether the JDK uses TransmitFile on Microsoft Windows. It is disabled by default but can be enabled by setting the system property on the command line with -Djdk.nio.enableFastFileTransfer or -Djdk.nio.enableFastFileTransfer=true.


Issue Description

JFR reports abnormally high machine CPU consumption on Linux

On Linux kernels 2.6 and later, the JDK would include time spent waiting for IO completion as "CPU usage". During periods of heavy IO activity, this could result in misleadingly high values reported as CPU consumption in various tools like Flight Recorder and performance counters. This issue has been resolved.


Issue Description

Introduced a new window ordering model

On the OS X platform, the AWT framework used native services to implement a parent-child relationship for windows. That caused some negative visual effects especially in multi-monitor environments. To get rid of disadvantages of such an approach, the new window ordering model, which is fully implemented at JDK layer, was introduced. Its main principles are listed below: - A window should be placed above its nearest parent window. - If a window has several child windows, all child windows should be located at the same layer and the window from the active window chain should be ordered above its siblings. - Ordering should not be performed for a window that is in an iconified state or when the transition to iconified state is in progress.

These rules are applied to every frame or dialog from the window hierarchy which contains the currently focused window.


Issue Description

Modular Run-Time Images

The JDK and JRE run-time images have been restructured as documented in JEP 220. The compatibility issues due to the changes are documented in the "Risks and Assumptions" section of the JEP and also summarized here.

  • Tools and libraries that rely on the existence of the jre directory, rt.jar, or tools.jar may need to be updated to work with the new layout and/or may need to be updated to use the jrt file system provider to access class files and other resources in the runtime image.

  • All user-editable configuration files are now located in the JDK/JRE conf directory. This includes the security policy file and other properties files. Scripts or procedures that rely on the old location of these files may need to be updated.

  • On Linux and Solaris, is now located in the JDK/JRE lib directory (it was located in lib/$ARCH in previous releases). Applications that use the JNI invocation API to create the VM may need to be updated to locate in its new location.

  • has moved from the top-level directory to the lib directory and now includes both the JDK and JavaFX source files in module directories. IDEs or tools that open this zip file may need to be updated.

  • The deprecated Endorsed-Standards Override Mechanism has been removed in this release. The runtime will refuse to start if ${java.home}/lib/endorsed exists or the system property java.endorsed.dirs is specified on the command line. The javac compiler will only accept the -endorseddirs option when compiling to JDK 8 or older. Applications that rely on this mechanism should migrate to the upgradeable modules mechanism, documented in JEP 261.

  • The deprecated Extensions Mechanism has been removed. The runtime will refuse to start if ${java.home}/lib/ext exists or the system property java.ext.dirs is specified on the command line. The javac compiler will only accept the -extdirs option when compiling to JDK 8 or older. The rmic compiler will no longer accept the -extdirs options. Applications that rely on this mechanism should consider deploying the libraries on the class path or as modules on the module path.


Issue Description

Tab key should move to focused button in a button group

The focus behavior of Swing toggle button controls (JRadioButton and JCheckBox) changed when they belonged to a button group. Now, if the input focus is requested to any toggle button in the group through either focus traversal or window activation, the currently selected toggle button is focused regardless of the focus traversal policy used in the container. If the selected toggle button is not eligible to be a focus owner, the focus is set according to the focus traversal policy.


JFrame.EXIT_ON_CLOSE was removed in favour of WindowConstants.EXIT_ON_CLOSE

The public static constant JFrame.EXITONCLOSE was removed in favour of WindowConstants.EXITONCLOSE.


Trackpad scrolling of text on OS X 10.12 Sierra is very fast

The MouseWheelEvent.getWheelRotation() method returned rounded native NSEvent deltaX/Y events on Mac OS X. The latest macOS Sierra 10.12 produces very small NSEvent deltaX/Y values so rounding and summing them leads to the huge value returned from the MouseWheelEvent.getWheelRotation(). The JDK-8166591 fix accumulates NSEvent deltaX/Y and the MouseWheelEvent.getWheelRotation() method returns non-zero values only when the accumulated value exceeds a threshold and zero value. This is compliant with the MouseWheelEvent.getWheelRotation() specification:

Returns the number of "clicks" the mouse wheel was rotated, as an integer. A partial rotation may occur if the mouse supports a high-resolution wheel. In this case, the method returns zero until a full "click" has been accumulated.

For the precise wheel rotation values, use the MouseWheelEvent.getPreciseWheelRotation() method instead.


No longer possible to create System L&F via reflection

Some applications have used core reflection to instantiate JDK internal Swing L&Fs, i.e system L&Fs such as The Windows L&F : Class.forName("")

These classes are internal to the JDK and applications should have always treated them as such.

As of JDK 9 whether these are accessible to applications depends on the configuration of the Java Platform Module System and the value of the --illegal-access setting. By default in JDK 9 its value is "permit", but this is expected to change to "deny" in a future release.

Applications which need to create a system L&F must migrate to use the new method : javax.swing.UIManager.createLookAndFeel(String name).


Closing the ProgressMonitor dialog

The ProgressMonitor dialog can be closed in following ways : 1. 'Cancel' button is pressed 2. Dialog Close button is pressed 3. Escape key is pressed

If the ProgressMonitor dialog is closed, ProgressMonitor.isCanceled() method used to return 'true' in only cases (1) and (2) above. This fix corrects the behavior where ProgressMonitor.isCanceled() method will return 'true' in case the ProgressMonitor dialog is closed by pressing Escape key.

There is low compatibility impact of this fix : This change may impact user code that (incorrectly) assumes ProgressMonitor.isCanceled() will return false even if the ProgressMonitor dialog is closed as a result of pressing Escape key. Also, with this change, now there is no way to get the ProgressMonitor dialog out of way whilst having progress continue.


Issue Description

Remove pathname canonicalization from FilePermission

Prior to JDK 9, creating a FilePermission object canonicalized its pathname, and the implies and equals methods were based on this canonicalized pathname. For example, if "file" and "/path/to/current/directory/file" point to the same file in the file system, two FilePermission objects from these pathnames are equal and imply each other if their actions are also the same.

In JDK 9, the pathname will not be canonicalized by default. This means two FilePermission objects will not equal each other if one uses an absolute path and the other a relative path, or one uses a symbolic link and the other the target, or one uses a Windows long name and the other a DOS-style 8.3 name, even if they point to the same file in the file system.

A compatibility layer has been added to ensure that granting a FilePermission for a relative path will still permit applications to access the file with an absolute path (and vice versa). This works for the default Policy provider and the limited doPrivileged ( calls. For example, although a FilePermission on a file with a relative pathname of "a" no longer implies a FilePermission on the same file with an absolute pathname of "/pwd/a" (suppose "pwd" is the current working directory), granting code a FilePermission to read "a" allows that code to also read "/pwd/a" when a Security Manager is enabled. This compatibility layer does not cover translations between symbolic links and targets, or Windows long names and DOS-style 8.3 names, or any other different name forms that can be canonicalized to the same name.

A system property named has been introduced. When it is set to "true", FilePermission will canonicalize its pathname as it did before JDK 9. The default value of this property is "false".

Another system property named has also been introduced. When set to "true", the compatibility layer described above will also apply to third-party Policy implementations. The default value of this property is "false".


CharArrayReader, PushbackReader, and StringReader may now block in close()

The classes CharArrayReader, PushbackReader, and StringReader might now block in close() if there is another thread holding the Reader.lock lock.

The read() method of these classes could previously throw a NullPointerException if the internal state of the instance had become inconsistent. This was caused by a race condition due to close() not obtaining a lock before modifying the internal state of the Reader. This lock is now obtained which can result in close() blocking if another thread simultaneously holds the same lock on the Reader.


Issue Description

OS_VERSION property in `release` file removed

OS_VERSION property is no longer present in the release file. Scripts or tools that read the release file may need to be updated to handle this change.


Issue Description

Restrict javax.imageio.spi.ServiceRegistry to ImageIO types

Since Java SE 1.4 javax.imageio.spi.ServiceRegistry provided a facility roughly equivalent to the Java SE 1.6 java.util.ServiceLoader. This image i/o facility is now restricted to supporting SPIs defined as part of javax.imageio. Applications which use it for other purposes need to be re-coded to use ServiceLoader.


Issue Description

Changes in logging interface in MXBean

In Java SE 9 the java.util.logging.LoggingMXBean interface is deprecated in favor of the interface. The java.util.logging.LogManager.getLoggingMXBean() method is also deprecated in favor of java.lang.mangement.ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class).

The concrete implementation of the logging MXBean registered in the MBeanServer and obtained from the ManagementFactory will only implement, and no longer java.util.logging.LoggingMXBean. It must be noted that PlatformLoggingMXBean and LoggingMXBean attributes are exactly the same. The PlatformLoggingMXBean interface has all the methods defined in LoggingMXBean, and so PlatformLoggingMXBean by itself provides the full management capability of logging facility.

This should be mostly transparent to remote and local clients of the API.


Calls to ManagementFactory.newPlatformMXBeanProxy(MBeanServerConnection, ObjectName, java.util.logging.LoggingMXBean.class) and calls to JMX.newMXBeanProxy(MBeanServerConnection, ObjectName, java.util.logging.LoggingMXBean.class) will continue to work as before.

Remote clients running any version of the JDK should see no changes, except for the interface name in MBeanInfo, and the change in isInstanceOf reported in 1. and 2. below.

The behavioral change and source incompatibility due to this change are as follows:

  1. ManagementFactory.getPlatformMBeanServer().isInstanceOf(ObjectName, "java.util.logging.LoggingMXBean") will now return 'false' instead of 'true'.
    If an application depends on this, then a workaround is to change the source of the calling code to check for instead.

  2. The Logging MXBean MBeanInfo will now report that its management interface is instead of the non standard$LoggingMXBean name it used to display.
    The new behavior has the advantage that the reported interface name is now a standard class.

  3. Local clients which obtain an instance of the logging MXBean by calling ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class) will no longer be able to cast the result to java.util.logging.LoggingMXBean.
    PlatformLoggingMXBean already has all the methods defined in LoggingMXBean, therefore a simple workaround is to change the code to accept PlatformLoggingMXBean instead - or change it to use the deprecated LogManager.getLoggingMXBean() instead.


Priority Bug Summary
P1 JDK-8051618 JEP 200: The Modular JDK
P1 JDK-8051619 JEP 201: Modular Source Code
P1 JDK-8061971 JEP 220: Modular Run-Time Images
P1 JDK-8061493 JEP 223: New Version-String Scheme
P1 JDK-8132928 JEP 260: Encapsulate Most Internal APIs
P1 JDK-8061972 JEP 261: Module System
P3 JDK-8075621 JEP 279: Improve Test-Failure Troubleshooting


Priority Bug Summary
P1 JDK-8046245 JDK 9 client build failure on Solaris
P2 JDK-8136427 [macosx 10.11] There is no title for the Dialog
P2 JDK-8078654 CloseTTFontFileFunc callback should be removed
P2 JDK-8172500 Create test for SwingSet SliderDemo
P2 JDK-8154539 Examine the desktop module's use of sun.misc.SoftCache
P2 JDK-8143177 Integrate harfbuzz opentype layout engine per JEP 258
P2 JDK-8134721 NPE in SwingUtilities2.drawChars after JDK-6302464
P2 JDK-8064468 ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method
P2 JDK-8165234 Provide a way to not close toggle menu items on mouse click on component level
P2 JDK-8074763 Remove API references to java.awt.dnd.peer
P2 JDK-8074028 Remove API references to java.awt.peer
P2 JDK-8037739 Remove API references to java.awt.peer and java.awt.dnd.peer packages in the JDK 9 timeframe
P2 JDK-8074757 Remove java.awt.Toolkit methods which return peer types
P2 JDK-8154546 Retire sun.misc.GThreadHelper
P2 JDK-8148886 SEGV in sun.java2d.marlin.Renderer._endRendering
P2 JDK-8156217 Selected text is shifted on HiDPI display
P2 JDK-8063066 Some look and feels ignores the JSlider.PaintTrack property
P2 JDK-8138959 SQE testing according to test plan
P2 JDK-8171845 The bold font doesn't change when switch "Dialog","Serif" and "Monospaced".
P2 JDK-8143256 The build is broken after JDK-8081411
P2 JDK-8160160 The menu displayed nothing with the option"-server -d64 -Xmixed".
P2 JDK-8085895 The Textfield can't be shown after clicking "Show Textfield" button.
P3 JDK-8040279 [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor
P3 JDK-8160893 [macosx] JMenuItems in JPopupMenu are not accessible
P3 JDK-8075244 [macosx] The fix for JDK-8043869 should be reworked
P3 JDK-8059944 [OGL] Metrics for a method choice copying of texture should be improved
P3 JDK-8144023 [PIT] failure of text measurements in javax/swing/text/html/parser/Parser/6836089/
P3 JDK-8168992 Add floating point implementation for new BasicGraphicsUtils text related methods use floating point API
P3 JDK-8029979 Allow multiple calls to DropTargetDropEvent.acceptDrop()
P3 JDK-8155071 AppletViewer should print the deprecation warning that the Applet API is deprecated
P3 JDK-8154213 clean up uses of boxed primitive constructors in the java.desktop module
P3 JDK-8028212 Custom cursor HiDPI support
P3 JDK-8129116 Deadlock with multimonitor fullscreen windows.
P3 JDK-8160248 Dragged internal frame leaves artifacts for floating point ui scale
P3 JDK-8135160 Endless Loop in RiffReader
P3 JDK-8150998 Fix module dependences in java/lang tests
P3 JDK-8071630 Fix remaining doclint warnings in the jdk repo
P3 JDK-8165619 Frame is not repainted if created in state=MAXIMIZED_BOTH on Unity
P3 JDK-8077982 GIFLIB upgrade
P3 JDK-8145174 HiDPI splash screen support on Linux
P3 JDK-8143064 Icons are not properly rendered with Windows L&F on HiDPI display
P3 JDK-8168899 java.nio.file.InvalidPathException if click button in JFileChooser demo of SwingSet2
P3 JDK-8169887 javax/swing/JEditorPane/8080972/, javax/swing/text/View/8080972/ are failing
P3 JDK-8149502 JEP 289: Deprecate the Applet API
P3 JDK-8151015 JTextArea.insert() does not behave as expected with invalid position
P3 JDK-8161407 Provide a javadoc description for the java.desktop module
P3 JDK-8143914 Provide Mac-specific fullscreen support
P3 JDK-8081722 Provide public access to methods which are required for implementing javax.swing.JFileChooser
P3 JDK-8173801 Remove non-client demos and samples.
P3 JDK-8147544 Remove sun.misc.ManagedLocalsThread from java.desktop
P3 JDK-8048891 Remove unused JObjC from jdk repository
P3 JDK-8055705 Rename UnixPrintServiceLookup and Win32PrintServiceLookup as a platform neutral class name
P3 JDK-8162531 needs updating
P3 JDK-8133677 Specification of AudioFileReader should be clarifed
P3 JDK-8069361 SunGraphics2D.getDefaultTransform() does not include scale factor
P3 JDK-8168316 Suppress deprecation warnings for Applet classes in java.desktop
P3 JDK-8066616 Suppress deprecation warnings in jdk libraries
P3 JDK-8179596 Update java.desktop to be HTML-5 friendly
P3 JDK-8058726 Update regtests using sun.awt.OSInfo, part 1
P4 JDK-8157476 -Wlogical-not-parentheses warnings in JRSUIConstantSync.m
P4 JDK-8081315 8077982 giflib upgrade breaks system giflib builds with earlier versions
P4 JDK-8143054 [macosx] KeyEvent modifiers do not contain information about mouse buttons
P4 JDK-8042087 [macosx] LWCToolkit.inokeAndWait is relying on main AppContext
P4 JDK-8036757 [macosx] Space menu accelerator not rendered correctly
P4 JDK-8134947 [macosx] Various memory leaks in Aqua look and feel
P4 JDK-8028618 [TEST BUG] javax/swing/JScrollBar/bug4202954/ fails
P4 JDK-6963359 [TEST_BUG] The FileDialog window is different from the case KeyboardInteractionTest.html description.
P4 JDK-8155742 [Windows] robot.keyPress(KeyEvent.VK_ALT_GRAPH) throws java.lang.IllegalArgumentException in windows
P4 JDK-8043805 Allow using a system-installed libjpeg
P4 JDK-8081019 Check peer to null in CPlatformWindow.checkZoom() method
P4 JDK-8046589 clean up doclint warnings for block tags in javax/swing source
P4 JDK-8044460 Cleanup new Boolean and single character strings
P4 JDK-8078279 Closed tests should not use getPeer method
P4 JDK-8160650 Couple awt and swing tests have wrong require jtreg arguments
P4 JDK-8129822 Define "headful" jtreg keyword
P4 JDK-8133134 docs: replace tags (obsolete in html5) for java.desktop
P4 JDK-8140620 Find and load default.sf2 as the default soundbank on Linux
P4 JDK-8032733 Fix cast lint warnings in client libraries
P4 JDK-8072905 Fix copyright year for test from JDK-8071705
P4 JDK-8046590 fix doclint issues in swing classes, part 1 of 4
P4 JDK-8046597 fix doclint issues in swing classes, part 4 of 4
P4 JDK-8044613 Fix finally lint warnings in jdk libraries
P4 JDK-8155874 Fix java.desktop deprecation warnings about Class.newInstance
P4 JDK-8031082 Fix non-missing doclint problems in client libraries
P4 JDK-8046270 Fix overrides lint warnings jdk libraries
P4 JDK-8039096 Fix raw and unchecked lint warnings in jdk libraries
P4 JDK-8035686 Fix serial lint warnings in closed code
P4 JDK-8032976 Fix serial lint warnings in jdk libraries
P4 JDK-8035692 Fix serial lint warnings in mac-specific code
P4 JDK-8037174 Fix serial lint warnings in sun.applet
P4 JDK-8074807 Fix some tests unnecessary using internal API
P4 JDK-8032047 Fix static lint warnings in client libraries
P4 JDK-8055326 Fix typos in client-related packages
P4 JDK-8035287 gcc warnings compiling various libraries files
P4 JDK-8161483 Implement AccessibleAction interface in JList.AccessibleJList.AccessibleJListChild
P4 JDK-8061832 J2DBench can be improved
P4 JDK-8028241 Java Access Bridge: F key shortcuts not working if Ctrl, Alt, Shift modifier used
P4 JDK-8133807 java.desktop docs: replace some invalid "@returns" tags
P4 JDK-8059219 javax.print.PrintServiceLookup allows to register null service
P4 JDK-8151750 Mark as intermittently failing
P4 JDK-8074092 Newly introduced unnecessary dependencies on internal API in client regtests
P4 JDK-8081547 Prepare client libs regression tests for running in a concurrent, headless jtreg environment
P4 JDK-8068619 remove internal layout function to match ICU
P4 JDK-8073373 Remove redundant imports from sun/applet/
P4 JDK-8067207 Replace concat String to append in StringBuilder parameters (client)
P4 JDK-8176046 Replace package.html files with in the java.desktop module
P4 JDK-8049893 Replace uses of 'new Integer()' with appropriate alternative across client classes
P4 JDK-8137059 Run blessed-modifier-order script on client demos and misc. sources
P4 JDK-8136783 Run blessed-modifier-order script on java.desktop
P4 JDK-8066621 Suppress deprecation warnings in java.desktop module
P4 JDK-8081447 System JPEG builds include in-tree jpeglib.h, resulting in build failure
P4 JDK-8169900 The code which use Applets should be deprecated
P4 JDK-8166673 The new implementation of Robot.waitForIdle() may hang
P4 JDK-8135122 The SwingUtilities2.COMPONENT_UI_PROPERTY_KEY can be removed
P4 JDK-8135088 Typo in AuFileReader
P4 JDK-8147443 Use Common Cleaner in Marlin OffHeapArray
P5 JDK-8138838 docs cleanup for java.desktop
P5 JDK-8144301 Regression test for clipboard paste in javascript
P5 JDK-8157322 Several typos in javadoc
P5 JDK-8077036 swing docs: fix some tidy warnings
P5 JDK-8028050 Typo correction needed s/Classlaoder/Classloader/


Priority Bug Summary
P1 JDK-8162545 Mac build failure
P1 JDK-8037868 The build is broken after the JDK-8035630
P2 JDK-8037743 2d nightly: wrong class cast to DigraphNode
P2 JDK-7145508 [embedded] java.awt.GraphicsDevice.get/setDisplayMode behavior is incorrect when no display is present
P2 JDK-8181192 [macos] javafx.print.PrinterJob.showPrintDialog() hangs on macOS
P2 JDK-7162125 [macosx] A font has different behaviour for ligatures depending on its creation mode
P2 JDK-8147002 [macosx] Arabic character cannot be rendered on MacOS X
P2 JDK-8041900 [macosx] Java forces the use of discrete GPU
P2 JDK-8065373 [macosx] jdk8, jdk7u60 Regression in Graphics2D drawing of derived Fonts
P2 JDK-8023794 [macosx] LCD Rendering hints seems not working without FRACTIONALMETRICS=ON
P2 JDK-8162796 [macosx] LinearGradientPaint and RadialGradientPaint are not printed on OS X.
P2 JDK-8166034 [macosx] Non-AA Serif font always displays as regular - no bold or oblique.
P2 JDK-8167102 [macosx] PrintRequestAttributeSet breaks page size set using PageFormat
P2 JDK-8176287 [macosx] The print test crashed with Nimbus L&F
P2 JDK-8041644 [OGL] clip is ignored during surface->sw blit
P2 JDK-8079652 Could not enable D3D pipeline
P2 JDK-8170578 CUPS Printing is broken with Ubuntu 16.10 (CUPS 2.2)
P2 JDK-8137106 EUDC (End User Defined Characters) are not displayed on Windows with Java 8u60+
P2 JDK-6477756 GraphicsDevice.getConfigurations() is slow taking 3 or more seconds
P2 JDK-8144858 HBShaper.c does not compiler with VS2010
P2 JDK-8134986 Incorrect use of ConcurrentHashMap.contains in
P2 JDK-8138771 java.awt.image.AbstractMultiResolutionImage needs customized spec for methods of Image which it implements
P2 JDK-8057940 JCK test api/java_awt/Image/renderable/ParameterBlock fails with StackOverflowError
P2 JDK-8167523 JDK 9 build failure on MacOS due to unhandled cases in switch statement
P2 JDK-8162488 JDK should be updated to use LittleCMS 2.8
P2 JDK-8176530 JDK support for JavaFX modal print dialogs
P2 JDK-8131760 JEP 265: Marlin Graphics Renderer
P2 JDK-8149338 JVM Crash caused by Marlin renderer not handling NaN coordinates
P2 JDK-8076529 Marlin antialiasing renderer integration
P2 JDK-8144828 Marlin renderer causes unaligned write accesses
P2 JDK-8159902 OGL surfaces are not HiDPI compatible on Linux/Solaris
P2 JDK-8165947 One more page printed before the test page with OpenJDK
P2 JDK-8038106 PIT: access problem to a PrinterJob on OS X
P2 JDK-8178708 Regtest failure: java/awt/Color/
P2 JDK-8144526 Remove Marlin logging use of deleted internal API
P2 JDK-8177393 Result of RescaleOp for 4BYTE_ABGR images may be 25% black
P2 JDK-8069348 SunGraphics2D.copyArea() does not properly work for scaled graphics in D3D
P2 JDK-4497648 TextLayout equals method is not implemented
P2 JDK-8175025 The copyright section in the test/java/awt/font/TextLayout/ should be updated
P2 JDK-8038838 Totally remove all vestiges of com.sun.image.codec.jpeg from JDK 9
P2 JDK-8171456 Upgrade harfbuzz in JDK 9 to v1.4.1
P3 JDK-8151590 "ALL" radio button is not selected in printDialog when we call DefaultSelectionType.ALL in windows
P3 JDK-8041768 2D FontStyleTest fails because of empty resultsDir
P3 JDK-8044788 [D3D] clip is ignored during surface->sw blit
P3 JDK-8059941 [D3D] The fix for JDK-8029253 should be ported to d3d pipeline
P3 JDK-8169202 [macos] Font substitution does not work for supplementary characters
P3 JDK-8130737 [macosx] AffineTransformOp can't handle child raster with non-zero x-offset
P3 JDK-8015100 [macosx] Applet graphics corrupted when applet width/height exceeds screen dimensions
P3 JDK-8151725 [macosx] ArrayIndexOOB exception when displaying Devanagari text in JEditorPane
P3 JDK-8023213 [macosx] closed/java/awt/FontClass/ fails on MacOS X 10.9 and passes on MacOs X 10.8
P3 JDK-8168364 [macosx] Delete unused class NSPrintinfo
P3 JDK-8172967 [macosx] Exception while working with layout for text containing unmappable character
P3 JDK-8089573 [macosx] Incorrect char to glyph mapping printing on OSX 10.10
P3 JDK-8139176 [macosx] java.awt.TextLayout does not handle correctly the bolded logical fonts (Serif)
P3 JDK-8040617 [macosx] Large JTable cell results in a OutOfMemoryException
P3 JDK-8064833 [macosx] Native font lookup uses family+style, not full name/postscript name
P3 JDK-8042713 [macosx] Print dialog does not update attribute set with page range
P3 JDK-8040635 [macosx] Printing a shape filled with a texture doesn't work under Mac OS X
P3 JDK-8017472 [macosx] Transparency demo is not correctly dragged on the second monitor
P3 JDK-8170552 [macosx] Wrong rendering of diacritics on macOS
P3 JDK-8061831 [OGL] "java.lang.InternalError: not implemented yet" during the blit of VI to VI in xor mode
P3 JDK-8039774 [OGL] Image painting is broken if 'sun.java2d.accthreshold' is set to 0
P3 JDK-8061456 [OGL] Incorrect clip is used during sw->surface blit in xor mode
P3 JDK-8041129 [OGL] surface->sw blit is extremely slow
P3 JDK-8144015 [PIT] failures of text layout font tests
P3 JDK-8166111 [PIT] possible regression: java/awt/font/GlyphVector/
P3 JDK-8145808 [PIT] test java/awt/Graphics2D/MTGraphicsAccessTest/ hangs on Win. 8
P3 JDK-8085948 [Regression] Few Swing, AWT and 2D case fails with Decoder isn't implemented for WingDings Charset error on Windows
P3 JDK-8071710 [solaris] libfontmanager should be linked against headless awt library
P3 JDK-8133309 [win10] Some unicode characters do not display any more after upgrading to Windows 10
P3 JDK-8162591 All existing gradient paint implementations have issues with coordinates/sizes larger than Short.MAX_VALUE (exactly) on any Linux systems
P3 JDK-6334602 Animated GIFs created from opaque PNG image frames appear transparent when loaded with Toolkit APIs
P3 JDK-8041480 ArrayIndexOutOfBoundsException when JTable contains certain string
P3 JDK-8012351 Bold fonts everywhere in GTK L&F on Ubuntu with JDK 7
P3 JDK-8040647 bold fonts when using java 7 which shouldn't be bold
P3 JDK-7175487 Cannot customize font configuration on Linux
P3 JDK-8074562 CID keyed OpenType fonts are not supported by T2K
P3 JDK-8032227 ClassCastException in UnixPrintJob for ipp printer
P3 JDK-8144703 ClassCastException: sun.font.CompositeFont cannot be cast to PhysicalFont
P3 JDK-8056213 Clean up unix/native/common/sun/awt
P3 JDK-8039271 CMM profile files (cmm/*) should not be in ${java.home}/lib
P3 JDK-7107905 ColorModel subclasses are missing hashCode() or equals() or both methods
P3 JDK-8132985 Crash in freetypescaler.c due to double free
P3 JDK-8172999 Crash on Windows getting FontMetrics since JDK 9 b96
P3 JDK-6801613 Cross-platform pageDialog and printDialog top margin entry broken
P3 JDK-8029339 Custom MultiResolution image support on HiDPI displays
P3 JDK-6789804 D3D: Remarkable performance loss in update 10>
P3 JDK-8036022 D3D: rendering with XOR composite causes InternalError.
P3 JDK-8059942 Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl
P3 JDK-7067052 Default printer media is ignored
P3 JDK-8035301 Eliminate dependency on sun.text from font code
P3 JDK-8164752 Extraneous debugging printf in
P3 JDK-8139803 Fix for 8132985 breaks OpenJDK build on windows.
P3 JDK-8163177 Fix for 8152971 breaks builds with VS2010
P3 JDK-8039273 Font related files should not be modified in ${java.home}/lib
P3 JDK-8013564 Font rendering anti-aliasing in translucent BufferedImages broken
P3 JDK-8072682 getBounds call on graphics.getDeviceConfiguration() returning cached information
P3 JDK-8144938 Handle properly coordinate overflow in Marlin Renderer
P3 JDK-8148127 IllegalArgumentException thrown by JCK test api/java_awt/Component/FlipBufferStrategy/indexTGF_General in opengl pipeline
P3 JDK-8062164 Incorrect color conversion, when bicubic interpolation is used
P3 JDK-8173028 Incorrect processing of supplementary-plane characters in text fields
P3 JDK-8168759 Incorrect vertical positioning of diacritics
P3 JDK-8167103 Intermittent font loading failure on macOS with JFXPanel application
P3 JDK-8170913 Java "1.8.0_112" on Windows 10 displays different characters for EUDCs from ones created in eudcedit.exe.
P3 JDK-8046007 Java app receives javax.print.PrintException: Printer is not accepting job.
P3 JDK-8073001 Java's system LnF on OS X: editable JComboBoxes are being rendered incorrectly
P3 JDK-6357905 java.awt.JobAttributes.getFromPage() and getToPage() always returns "1".
P3 JDK-8132850 java.lang.ArrayIndexOutOfBoundsException during text rendering with many fonts installed
P3 JDK-8145584 java/awt/font/TextLayout/ fails on Linux
P3 JDK-8062163 java/awt/geom/AffineTransform/ test fails
P3 JDK-8028486 java/awt/Window/WindowsLeak/ fails
P3 JDK-8032693 javax.print.PrintService does not find any CUPS-Printers on Linux
P3 JDK-8015368 javax/print/attribute/ fails on solaris with Connection timed out
P3 JDK-8165345 JDK macro definition re-defined by MacOS core framework
P3 JDK-8046010 JEP 251: Multi-Resolution Images
P3 JDK-8064530 JEP 258: HarfBuzz Font-Layout Engine
P3 JDK-8138817 JNI warnings loading fonts on MacOSX
P3 JDK-8160664 JVM crashed with font manager on Solaris 12
P3 JDK-8137571 Linux HiDPI Graphics support
P3 JDK-8058316 lookupDefaultPrintService returns null on Solaris 11 when default printer is set using lpoptions command
P3 JDK-8139207 Minecraft crashed at [ig4icd32.dll+0x44960]
P3 JDK-8150233 Missing copyright headers in XSurfaceData/ExtendedKeyCodes
P3 JDK-8056210 Move libawt file to windows directory
P3 JDK-8149371 multi-res. image: -Dsun.java2d.uiScale does not work for Window icons (some ambiguity for Window.setIconImages()?)
P3 JDK-8079067 New version string scheme - Java2D
P3 JDK-8170954 non-ASCII characters in lcms and harfbuzz break Windows builds on some locales
P3 JDK-8087201 OGL: rendering of lcd text is slow
P3 JDK-7064425 PageFormat Dialog has no owner window to reactivate.
P3 JDK-8076419 Path2D copy constructors and clone method propagate size of arrays from source path
P3 JDK-8078464 Path2D storage growth algorithms should be less linear
P3 JDK-8140266 Performance loss between jdk8 and jdk9 on Maskfill
P3 JDK-8163922 Print-to-file is disabled for SERVICE_FORMATTED docflavor in linux
P3 JDK-8067059 PrinterJob.pageDialog() with DialogSelectionType.NATIVE returns a PageFormat when cancelled.
P3 JDK-8067364 Printing to Postscript doesn't support dieresis
P3 JDK-8034239 PrintServiceLookup.lookupPrintServices() returns different amount of services in comparison with lpstat -v
P3 JDK-8169339 Provide internal API to JavaFX to locate JDK fonts
P3 JDK-8164818 Reg. test java/awt/font/TextLayout/ fails
P3 JDK-8152680 Regression in GlyphVector.getGlyphCharIndex behaviour
P3 JDK-8023990 Regression: postscript size increase from 6u18
P3 JDK-8056216 Remove "sun" directory layer from libawt and common
P3 JDK-8178457 Remove link to 2D guide from Line2D javadoc
P3 JDK-8056209 Remove unused files for libawt
P3 JDK-8038876 Remove use of ServiceLoader in finding class implementing sun.java2d.cmm.CMMServiceProvider
P3 JDK-8038875 Remove use of ServiceLoader in finding class implementing sun.java2d.pipe. RenderingEngine
P3 JDK-8155753 Removing a monitor in the OS dispaly configuration causes assertion fails under Windows if D3D is on
P3 JDK-8074829 Resolve disabled warnings for libawt_headless
P3 JDK-8074827 Resolve disabled warnings for libjavajpeg
P3 JDK-8074843 Resolve disabled warnings for libmlib_image and libmlib_image_v
P3 JDK-8138749 Revisited: PrinterJob.printDialog() does not support multi-mon, always displayed on primary
P3 JDK-8166981 RGBColorConvertTest has wrong @run line
P3 JDK-8014212 Robot captures black screen
P3 JDK-8160693 uses bitwise AND instead of logical AND
P3 JDK-8158356 SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees
P3 JDK-8073400 Some Monospaced logical fonts have a different width
P3 JDK-8039412 Stack overflow on Linux using DialogTypeSelection.NATIVE
P3 JDK-8039345 Strange behaviour of per-pixel translucency on linux
P3 JDK-8054991 sun.font.GlyphList uses broken double-checked locking
P3 JDK-8039444 Swing applications not being displayed properly
P3 JDK-8130136 Swing window sometimes fails to repaint partially when it becomes exposed
P3 JDK-8147839 Synthetically Bolded Fonts are Stretched Vertically under rotation.
P3 JDK-8059848 Test java/awt/GraphicsDevice/ causes JVM crash in OEL 7.0
P3 JDK-8020448 Test closed/java/awt/font/JNICheck/ fails on Solaris 11 since 7 FCS
P3 JDK-8058969 Test closed/sun/java2d/cmm/ fails
P3 JDK-8130400 Test java/awt/image/DrawImage/ fails with ClassCastException
P3 JDK-8047066 Test test/sun/awt/image/ fails with ClassCastException
P3 JDK-8166068 test/java/awt/font/GlyphVector/ does not compile
P3 JDK-8172813 test/java/awt/font/JNICheck/ fails on Linux
P3 JDK-8170950 Text is displayed in bold when fonts are installed into symlinked folder
P3 JDK-8132890 Text Overlapping on Dot Matrix Printers
P3 JDK-8076545 Text size is twice bigger under Windows L&F on Win 8.1 with HiDPI display
P3 JDK-8042199 The build of J2DBench via makefile is broken after the JDK-8005402
P3 JDK-8145542 The case failed automatically and thrown java.lang.ArrayIndexOutOfBoundsException exception.
P3 JDK-8167310 The graphics clip is incorrectly rounded for some fractional scales
P3 JDK-6232267 TrueType Fonts which have only Apple platform names cannot be loaded
P3 JDK-8036930 Type1 font not loaded by java.awt.Font.createFont
P3 JDK-8139932 Typo in makefile changes for 8043805 [Allow using a system-installed libjpeg]
P3 JDK-8056122 Upgrade JDK to use LittleCMS 2.6
P3 JDK-8078331 Upgrade JDK to use LittleCMS 2.7
P3 JDK-8163238 Upgrade to harfbuzz 1.3.0 in JDK 9
P3 JDK-8165212 VolatileImage should not be compatible with GraphicsConfiguration which transform is changed
P3 JDK-8041902 When printing, polylines are not rendered as joined
P3 JDK-8146035 Windows - With LCD antialiasing, some glyphs are not rendered correctly
P3 JDK-8073320 Windows HiDPI Graphics support
P3 JDK-8142966 Wrong cursor position in text components on HiDPI display
P3 JDK-8078382 Wrong glyph is displayed for a derived font
P3 JDK-7063986 Wrong JNi method call in font scaler
P3 JDK-8033277 Wrong scaling when printing in Canon Pixma ip100
P3 JDK-7172749 Xrender: Class cast exception in 2D code running an AWT regression test
P3 JDK-8054638 xrender: text drawn after setColor(Color.white) is actually black
P4 JDK-8152971 -Xcheck:jni - WARNING in native method
P4 JDK-8037506 [javadoc] broken link in
P4 JDK-8039418 [macosx] Calling JNI functions in the scope of Get/ReleasePrimitiveArrayCritical
P4 JDK-8061258 [macosx] PrinterJob's native Print Dialog does not reflect specified Copies or Page Ranges
P4 JDK-7185221 [macosx] Regtest should not throw exception if a suitable display mode found
P4 JDK-8160888 [PIT] What to expect of updated java/awt/print/PrinterJob/
P4 JDK-7148531 [TEST_BUG] [macosx] In test, the window does not have time to resize before make a screenshot
P4 JDK-8033673 [TEST_BUG] java/awt/image/ fails
P4 JDK-7131835 [TEST_BUG] Test does not consider that the rounded edges of the window in Mac OS 10.7
P4 JDK-8065195 [Win10] JAVA Print is not working with ReportCat API on Windows 10 Platform
P4 JDK-8146324 Add sun.font.FontUtilities.isComplexCharCode or related method to public API
P4 JDK-8153727 AIX jdk build broken after 8145174
P4 JDK-8155236 AIX: fix detection of Xrender extension
P4 JDK-8145077 AIX: fix harfbuzz support
P4 JDK-8034218 AIX: Provide a better file
P4 JDK-8075942 ArrayIndexOutOfBoundsException at sun.java2d.pisces.Dasher.goTo(
P4 JDK-8144446 Automate the Marlin crash test
P4 JDK-8160721 Avoid deoptimizations in Font.equals.
P4 JDK-6575247 Banner checkbox in PrinterJob print dialog doesn't work
P4 JDK-8134476 Broken Hyperlink in JDK 8 java.awt.Font javadocs
P4 JDK-8066132 BufferedImage::getPropertyNames() always returns null
P4 JDK-8158495 CCE: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.opengl.OGLSurfaceData
P4 JDK-8081886 CGGlyphImages.m no longer builds with xcode 4.x
P4 JDK-8132408 Check before os.version in SunGraphicsEnvironment constructor
P4 JDK-8162429 Clean up obsolete font preferences for JDS.
P4 JDK-8162432 Clean up references in font code to old Solaris releases.
P4 JDK-8156894 Cleanup of sun.java2d.pipe.Region
P4 JDK-8130507 closed/java/awt/font/JNICheck/ test reports some warnings
P4 JDK-4957035 Code given in api is not compilable: docs/api/javax/print/package-summary.html
P4 JDK-8039394 Compiler warnings about C++ exceptions in windows printing code
P4 JDK-8072433 copy/paste duplicated tests in some condition statements
P4 JDK-8140530 Creating a VolatileImage with size 0,0 results in no longer working g2d.drawString
P4 JDK-6353518 Creation of a WritableRaster with a custom DataBuffer causes erroneous Exception
P4 JDK-8048328 CUPS Printing does not report supported printer resolutions.
P4 JDK-8048583 CustomMediaSizeName class matching to standard media is too loose
P4 JDK-8129457 Disposer.pollRemove may fail to dispose
P4 JDK-6212751 DOC: ServiceUI.printDialog() need to enhance the description for X,Y coordinates
P4 JDK-8139183 drawImage misses background's alpha channel
P4 JDK-8168288 Dubious FontMetrics values from NullFontScaler
P4 JDK-6966350 Empty pages when printing on Lexmark E352dn PS3 with "1200 IQ" setting
P4 JDK-8028539 Endless loop in native code of sun.java2d.loops.ScaledBlit
P4 JDK-8159093 Fix coding conventions in Marlin renderer
P4 JDK-8031736 Fix doclint issue in javax.print
P4 JDK-8039862 Fix fallthrough lint warnings in 2d
P4 JDK-8044694 Fix finally lint warnings in sun.print
P4 JDK-8161923 Fix free in awt_PrintControl.
P4 JDK-8042090 Fix invalid variable names in sun/java2d/loops/ProcessPath.c
P4 JDK-8033716 Fix raw and unchecked lint warnings in com.sun.imageio
P4 JDK-8034998 Fix raw and unchecked lint warnings in javax.imageio
P4 JDK-8048980 Fix raw and unchecked lint warnings in platform-specific sun.font files
P4 JDK-8044396 Fix raw and unchecked lint warnings in platform-specific sun.java2d.*
P4 JDK-8033624 Fix raw and unchecked lint warnings in sun.font
P4 JDK-8044861 Fix raw and unchecked warnings in closed client libs
P4 JDK-8042864 Fix raw and unchecked warnings in javax.print
P4 JDK-8039342 Fix raw and unchecked warnings in sun.awt.*
P4 JDK-8038644 Fix raw and unchecked warnings in sun.java2d.*
P4 JDK-8042870 Fix raw and unchecked warnings in sun.print
P4 JDK-8034050 Fix serial lint warnings in javax.print
P4 JDK-8037139 Fix serial lint warnings in sun.print
P4 JDK-8033223 Fix serial lint warnings in sun.{font, java2d[.*]}
P4 JDK-8075934 Fix some tidy warnings/errors for javax/imageio
P4 JDK-8057986 freetype code to get glyph outline does not handle initial control point properly
P4 JDK-8035371 gcc compiler warnings in closed source code
P4 JDK-8155682 Get rid of legacy Windows Flags for DX
P4 JDK-8160695 getHBScriptCode script code validation
P4 JDK-6789262 getPageFormat doesn't apply PrintRequestAttributeSet specified
P4 JDK-6591280 getting IPP connection causes disabling jar caches
P4 JDK-7160052 GlyphVector.setGlyphPosition can throw an exception on valid input
P4 JDK-6587251 Import declaration not used in sun.java2d.*
P4 JDK-8159638 Improve array caches and renderer stats in Marlin renderer
P4 JDK-8144654 Improve Marlin logging
P4 JDK-6587235 Incorrect javadoc: "no parameter" in 2d source code
P4 JDK-8143849 Integrate Marlin renderer per JEP 265
P4 JDK-6529030 Java Printing: Print range > Selection gets enabled
P4 JDK-8043509 java.awt.Font gets initialized with the wrong font name for some Locales
P4 JDK-8054878 javadoc issues in javax.imageio
P4 JDK-8054877 javadoc issues in javax.print
P4 JDK-6509729 javax.print.ServiceUI.printDialog Border/Margin Evaluation is bugged
P4 JDK-8143848 JDK-8076529 changeset was pushed with wrong attributions
P4 JDK-8151110 libfontmanager should free memory with delete[] if it was allocated with new[]
P4 JDK-6601097 Margins are not reset to hardware margins when width/height is 0 or -ve alongwith x,y
P4 JDK-8144445 Maximum size checking in Marlin ArrayCache utility methods is not optimal
P4 JDK-8081313 tidy warnings
P4 JDK-8158072 Need a test for JDK-7172749
P4 JDK-8055463 Need public API allowing full access to font collections in Font.createFont()
P4 JDK-8139216 Non-ASCII characters in CUPS printer names are not properly displayed
P4 JDK-8154218 Non-usage of owner Frame when Frame object is passed to getPrintJob()
P4 JDK-6427331 NullPointerException in LookupOp.filter(Raster, WritableRaster)
P4 JDK-8085910 OGL text renderer: gamma lut cleanup
P4 JDK-8062497 Open up some AffineTransform tests
P4 JDK-8038723 Open up some PrinterJob tests
P4 JDK-8017773 OpenJDK7 returns incorrect TrueType font metrics
P4 JDK-8048782 OpenJDK: PiscesCache : xmax/ymax rounding up can cause RasterFormatException
P4 JDK-8177628 Opensource unit/regression tests for ImageIO
P4 JDK-5080098 Page Range must be disabled on the common print dlg for Non serv-formatted flvrs
P4 JDK-4885375 Page Ranges 'To Page' field must be populated based on Pageable
P4 JDK-8144718 Pisces / Marlin Strokers may generate invalid curves with huge coordinates and round joins
P4 JDK-8024168 Print dialog doesn't reflect default page size on Linux
P4 JDK-8061392 PrinterJob NPE when drawing translucent image with null user clip
P4 JDK-6197099 PrinterJob.getUserName() throws a security exception when permission is not given
P4 JDK-8061267 PrinterJob: Specified Page Ranges not displayed in Windows Native Print Dialog
P4 JDK-6218397 Printing to file does not throw a PrinterException if the file cannot be created
P4 JDK-5049012 PrintToFile option is not disabled for flavors that do not support destination
P4 JDK-8163362 Reconsider reflection usage in java.awt.font.JavaAWTFontAccessImpl class
P4 JDK-8072436 Refactor X11FontManager
P4 JDK-6345095 regression test EmptyClipRenderingTest fails
P4 JDK-8162433 Remove files for older Linuxes
P4 JDK-8047931 Remove unused medialib code
P4 JDK-7128051 Rendering artifacts with X11 rendering pipeline
P4 JDK-6357887 selected printertray is ignored under linux
P4 JDK-5080830 SheetCollate is not handled properly by the cross platform print dlg
P4 JDK-8160294 Some client libraries cannot be built with GCC 6
P4 JDK-6842011 StackOverflowError printing landscape with scale and transform.
P4 JDK-4882305 StreamPrintServ.getSupportedAttributeValues returns null for Orientation attr
P4 JDK-6948907 sun.print.DialogOwner does not support Dialogs as DialogOwner
P4 JDK-8040139 Test closed/javax/print/attribute/ fails with NullpointerException
P4 JDK-7102282 TEST_BUG: sun/java2d/OpenGL/ should be modified
P4 JDK-8081491 The case print incomplete.
P4 JDK-8170352 The collate option is not checked
P4 JDK-6921664 The number of copies and the job name are not passed to a 3rd party PrintService
P4 JDK-8037511 Tidy warnings cleanup for java.awt - 2d part
P4 JDK-6185114 Undefined Exception in SampleModel, method createCompatibleSampleModel
P4 JDK-7116979 Unexpected pixel colour when converting images to TYPE_BYTE_INDEXED
P4 JDK-7107175 UnixPrintJob doesn't handle mediaName vs customTray correctly
P4 JDK-8178984 Unnecessary angle brackets in the Line2D::intersectsLine() javadoc.
P4 JDK-8164628 update copyright header in java.awt.font.JavaAWTFontAccessImpl class
P4 JDK-8057934 Upgrade to LittleCMS 2.6 breaks AIX build
P4 JDK-8144630 Use PrivilegedAction to create Thread in Marlin RendererStats
P4 JDK-8077584 Value of java.awt.font.OpenType.TAG_OPBD is incorrect
P4 JDK-8072678 Wrong exception messages in java.awt.color.ICC_ColorSpace
P5 JDK-8143150 DrawImagePipe can skip some unnecessary blits
P5 JDK-6479801 java.awt.font.LineBreakMeasurer code incorrect
P5 JDK-6975892 Javadoc typo in javax.print.attribute.standard.DialogTypeSelection
P5 JDK-8153363 Redundant check for number of components in PackedColorModel.equals() method
P5 JDK-6708093 Redundant unused native method declaration in
P5 JDK-6483118 TEST_BUG: test instruction need to be clarified
P5 JDK-8170579 The "Banner page" checkbox is disabled


Priority Bug Summary
P2 JDK-8167988 java.nio.file.InvalidPathException if click button in JFileChooser demo of SwingSet2
P3 JDK-8065081 Intermittent NPE in Java2Demo applet on Stop/Restart in appletviewer
P3 JDK-8080444 Update SwingSet2 to use installed L&Fs instead of hard-coded list.
P4 JDK-8158408 Font2DTest demo needs to use FontPanel resolution matching the screen
P4 JDK-8133514 Update NervousText demo to use java.version System property
P5 JDK-8026497 Font2DTest demo: unused resource files


Priority Bug Summary
P1 JDK-8051588 [headless] DataTransferer.getInstance throws ClassCastException in headless mode
P1 JDK-8074668 [macosx] Mac 10.10: Application run with splash screen has focus issues
P1 JDK-8165555 [macosx] VM crashes on second attempt to execute JCK interactive tests that use Robot (single JVM, agent)
P1 JDK-8144074 [PIT] Crash calling Toolkit.getScreenSize() on Windows.
P1 JDK-8081231 JDK9 client build broken on Windows
P1 JDK-8074921 OS X build broken by reference to XToolkit
P1 JDK-8170539 Test clashes with another test with a similar name
P1 JDK-8037377 Windows: compilation failed after the fix for 8033712
P2 JDK-8177137 8175293 breaks Windows build on VS 2010
P2 JDK-8033326 9 build failure after merge with dev
P2 JDK-8145547 [AWT/Swing] Conditional support for GTK 3 on Linux
P2 JDK-8145284 [Documentation] [TextField] Missing new line character handling
P2 JDK-8162959 [HiDPI] screenshot artifacts using AWT Robot
P2 JDK-8158230 [macosx] ActionEvent is not fired for menu item with option apple.laf.useScreenMenuBar
P2 JDK-8169589 [macosx] Activating a JDialog puts to back another dialog
P2 JDK-8132382 [macosx] Crash during JMC or JavaFX execution when NSApplication is controlled by SWT or JavaFX libraries
P2 JDK-8047061 [macosx] Crash when setting display mode
P2 JDK-8047288 [macosx] Endless loop in EDT on Mac
P2 JDK-8041572 [macosx] huge native memory leak in AWTWindow.m
P2 JDK-8167565 [macosx] Maximization of a dialog hides it
P2 JDK-8036917 [macosx] Native memory leaks.
P2 JDK-8029253 [macosx] Performance problems with Retina display on Mac OS X
P2 JDK-8163583 [macosx] Press "To Back" button on the Dialog,the Dialog moves behind the Frame
P2 JDK-8032595 [macosx] setResizable(false) makes a frame slide down
P2 JDK-8176490 [macosx] Sometimes NSWindow.isZoomed hangs
P2 JDK-8154088 [macosx] SWT does not work on JDK 9 since b65
P2 JDK-8158501 [macosx] The checkbox can't be checked via an event generate on the menu.
P2 JDK-8160623 [PIT] Exception running java/awt/event/KeyEvent/KeyChar/
P2 JDK-8072088 [PIT] NPE in DnD tests apparently because of the fix to JDK-8061636
P2 JDK-8161910 [PIT] regression: HW/LW mixing seems broken on Unity
P2 JDK-8155606 [PIT] Robot's createScreenCapture() broken on Linux
P2 JDK-8081371 [PIT] Test closed/java/awt/FullScreen/DisplayMode/ switches Linux to the single device mode
P2 JDK-8148109 [SWT] Provide a supported mechanism to use EmbeddedFrame
P2 JDK-8139581 AWT components are not drawn after removal and addition to a container
P2 JDK-8048265 AWT crashes inside CCombinedSegTable::In called from Java_sun_awt_windows_WDefaultFontCharset_canConvert
P2 JDK-8130525 Build fail on jdk9-client solaris-sparcv9
P2 JDK-8155784 Build failure on Linux arm64
P2 JDK-8023723 Can not paste and copy the text from the text area into the editor
P2 JDK-8148571 Curious failure of java/awt/Frame/SetMaximizedBounds/
P2 JDK-8177672 DataFlavor.imageFlavor is null when the java.desktop module is not resolved
P2 JDK-8065709 Deadlock in awt/logging apparently introduced by 8019623
P2 JDK-7155963 Deadlock in SystemFlavorMap.getFlavorsForNative and SunToolkit.awtLock
P2 JDK-8078053 Dialog windows invalid renders on Ubuntu 15.04
P2 JDK-8080317 Disable warning treated as error for signed/unsigned comparison in building splashscreen
P2 JDK-8160270 dual-screen issue with java.awt.Choice
P2 JDK-8035302 Eliminate dependency on jdk.charsets from 2D font code.
P2 JDK-8164536 enableSuddenTermination() - Not throws SecurityException if a security manager exists and it will not allow the caller to invoke System.exit
P2 JDK-8136858 Examine the usage of ThreadGroup.stop() in sun.awt.AppContext
P2 JDK-8173853 IllegalArgumentException in java.awt.image.ReplicateScaleFilter
P2 JDK-8147077 IllegalArgumentException thrown by api/java_awt/Component/FlipBufferStrategy/indexTGF_General
P2 JDK-8177919 java.awt.Desktop.setDefaultMenuBar​() should be specified to throw IllegalStateException
P2 JDK-8030100 java.awt.Desktop: Enable check for supported URI schemes on Linux
P2 JDK-8179365 JAWT (AWT Native Interface) specification needs to be updated for JDK 9
P2 JDK-8055212 JEP 263: HiDPI Graphics on Windows and Linux
P2 JDK-8048731 JEP 272: Platform-Specific Desktop Features
P2 JDK-8179014 JFileChooser with Windows look and feel crashes on win 10
P2 JDK-8043393 NullPointerException and no event received when clipboard data flavor changes
P2 JDK-8143227 Platform-specific desktop features
P2 JDK-8055746 plenty of clipboard/dnd tests fail and break X11
P2 JDK-8176528 Progress state for window is not displayed in taskbar
P2 JDK-8037485 Refactor java.awt.datatransfer to eliminate dependency on AWT
P2 JDK-8039752 Regression: Clipboard couldn't be used on linux
P2 JDK-8173409 Remove non-standard jdk.desktop module from JDK9
P2 JDK-8060137 Removing Text from TextField / TextArea is not possible after typing
P2 JDK-8056298 Separate java.awt.datatransfer from the desktop module
P2 JDK-8079965 Stop ignoring warnings for libawt_lwawt
P2 JDK-8038217 SunFontManager.initIDs NoSuchFieldError: lcdSubPixPos
P2 JDK-8159374 Taskbar.setIconBadge() spec omits mention of exception for ICON_BADGE_TEXT feature
P2 JDK-8166594 Taskbar.setWindowProgressValue() spec does not specify expected visual behavior of setWindowProgressValue()
P2 JDK-8149636 TextField flicker & over scroll when selection scrolls beyond the bounds of TextField.
P2 JDK-8144915 TextField throws NPE
P2 JDK-8160056 TextField.setText breaks the contract of EOL
P2 JDK-8176009 The awt robot use incorrect location in a multi-screen environment
P2 JDK-8157320 The CheckboxMenuItem can not be selected
P2 JDK-8130769 The new menu can't be shown on the menubar after clicking the "Add" button.
P2 JDK-8072775 Tremendous memory usage by JTextArea
P2 JDK-8178905 Undecorated frame is not painted on OEL7(Gnome3).
P2 JDK-8155691 Update GIFlib library to the latest up-to-date
P2 JDK-8143295 Validating issue in AWT
P2 JDK-8176097 Window set location to a display with different DPI does not properly work
P2 JDK-8037287 Windows build failed after JDK-8030787
P3 JDK-8039926 -spash: can't be combined with -xStartOnFirstThread since JDK 7
P3 JDK-8156020 8145547 breaks AIX and and uses RTLD_NOLOAD incorrectly
P3 JDK-6614519 [Doc] Description java.awt.dnd.DragSourceContext.getCursor() should be clarified
P3 JDK-8150844 [hidpi] [macosx] -Dsun.java2d.uiScale should be taken into account for OS X
P3 JDK-8163100 [hidpi] Linux: display-wise scaling factor issues
P3 JDK-8149115 [hidpi] Linux: display-wise scaling factor should probably be taken into account
P3 JDK-8161273 [hidpi] The frame insets size is wrong on Linux HiDPI because it is not scaled.
P3 JDK-8159168 [hidpi] Window.setShape() works incorrectly on HiDPI
P3 JDK-8150176 [hidpi] wrong resolution variant of multi-res. image is used for TrayIcon
P3 JDK-8049065 [JLightweightFrame] Support DnD for SwingNode
P3 JDK-8152492 [macosx swing] double key event actions when using Mac menubar
P3 JDK-8007220 [macosx] Setting popupmenu on TrayIcon do not work if done *after* adding TrayIcon
P3 JDK-8057788 [macosx] "Pinch to zoom" does not work since jdk7
P3 JDK-8024926 [macosx] AquaIcon HiDPI support
P3 JDK-8148984 [macosx] Chinese Comma cannot be entered using Pinyin Input Method on OS X
P3 JDK-8132503 [macosx] Chinese full stop symbol cannot be entered with Pinyin IM on OS X
P3 JDK-8163979 [macosx] Chinese text shows as Latin w/ openVanilla input method
P3 JDK-8071668 [macosx] Clipboard does not work with 3rd parties Clipboard Managers
P3 JDK-8032667 [macosx] Components cannot be rendered in HiDPI to BufferedImage
P3 JDK-8050478 [macosx] Cursor not updating correctly after closing a modal dialog
P3 JDK-8048549 [macosx] Disable usage of system menu bar if AWT is embedded in FX
P3 JDK-8156099 [macosx] Drag and drop of link from web browser, DataFlavor types application/x-java-url and text/uri-list, getTransferData returns null
P3 JDK-8035147 [macosx] Drag and Drop tests are failing with -Xchech:jni
P3 JDK-8031964 [macosx] Dragging images from the browser does not work
P3 JDK-8173876 [macosx] Fast precise scrolling and DeltaAccumulator fix for macOS Sierra 10.12.2
P3 JDK-8025130 [macosx] Frame setLocationByPlatform has no effect under Mac OS X
P3 JDK-8065739 [macosx] Frame warps to lower left of screen when displayed
P3 JDK-8024185 [macosx] Fullscreen button freezes application when started with -splash
P3 JDK-8033534 [macosx] Get MultiResolution image from native system
P3 JDK-8154057 [macosx] getPrintJob doesn't throw NPE if Frame is null AND type is COMMON.
P3 JDK-8049198 [macosx] Incorrect thread access when showing splash screen
P3 JDK-8080729 [macosx] java 7 and 8 JDialogs on multiscreen jump to parent frame on focus
P3 JDK-8136763 [macosx] java always returns only one value for "text/uri-list" dataflavor even if several files were copied
P3 JDK-8038113 [macosx] JTree icon is not rendered in high resolution on Retina
P3 JDK-8041990 [macosx] Language specific keys does not work in applets when opened outside the browser
P3 JDK-8076264 [macosx] Launching app on MacOSX requires enclosing class
P3 JDK-8035069 [macosx] Loading resolution variants by demand
P3 JDK-8081787 [macosx] MalformedURLException is thrown during reading data for application/x-java-url; flavor
P3 JDK-8160570 [macosx] modal dialog can skip the activation/focus events
P3 JDK-8036882 [macosx] Native memory leak in Java_sun_lwawt_macosx_CImage_nativeGetNSImageRepresentationSizes
P3 JDK-8086038 [macosx] No available data flavors when copying from Microsoft Word for Mac
P3 JDK-8078165 [macosx] NPE when attempting to get image from toolkit
P3 JDK-8042752 [macosx] NSEvent instances leak throw JNI local references
P3 JDK-8160536 [macosx] Possible regression: com/apple/eawt/DefaultMenuBar/
P3 JDK-8158380 [macosx] Regression: java/awt/List/ActionEventTest/
P3 JDK-8129838 [macosx] Regression: NPE in java.awt.Choice
P3 JDK-8037840 [macosx] Rewrite CWarning window to eliminate the ExecutorService
P3 JDK-8155740 [macosx] robot.keyPress and robot.keyRelease do not generate key event for Alt-Graph key VK_ALT_GRAPH.
P3 JDK-8041987 [macosx] setDisplayMode crashes
P3 JDK-8131339 [macosx] setMaximizedBounds() doesn't work for undecorated Frame
P3 JDK-8032864 [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running
P3 JDK-8026869 [macosx] Support apple.awt.use-file-dialog-packages property
P3 JDK-8156460 [macosx] Test case javax/swing/JPopupMenu/6827786/ fails
P3 JDK-8037371 [macosx] Test closed/java/awt/dnd/ImageTransferTest/ImageTransferTest.html fails
P3 JDK-8144166 [macosx] Test java/awt/Component/CompEventOnHiddenComponent/ fails
P3 JDK-8144164 [macosx] Test java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest failed
P3 JDK-8049996 [macosx] test java/awt/image/ fails with NPE
P3 JDK-8042212 [macosx] Toolkit.getScreenResolution() can return incorrect resolution
P3 JDK-8151773 [macosx] TrayIcon.imageAutoSize property is ignored
P3 JDK-8156116 [macosx] two JNI locals to delete in AWTWindow.m, CGraphicsEnv.m
P3 JDK-8147841 [macosx] Updating TrayIcons popup menu does not work on Mac OSX
P3 JDK-8165717 [macosx] Various memory leaks in jdk9
P3 JDK-8017626 [OGL] Translucent VolatileImages don't paint correctly
P3 JDK-8153287 [PIT] [hidpi] java/awt/image/multiresolution/MultiresolutionIconTest failed (GTK+ and Nimbus L&F)
P3 JDK-8171363 [PIT] Four Windows-specific tests fail with InaccessibleObjectException when calling Field.setAccessible()
P3 JDK-8171909 [PIT] on Windows, failure of java/awt/Dialog/DialogAboveFrame/
P3 JDK-8168657 [PIT] Still, on Windows test always fails: java/awt/SplashScreen/MultiResolutionSplash/unix/
P3 JDK-8153274 [PIT] test always fails: java/awt/SplashScreen/MultiResolutionSplash/unix/
P3 JDK-8131752 [Regression] Test java/awt/GraphicsDevice/ fails
P3 JDK-8130471 [Regression] Test java/awt/Mouse/MouseModifiersUnitTest/ fails
P3 JDK-8151269 [TEST] add test covering getSource() method for multiresolution image
P3 JDK-8031765 [TEST] Child process error stream is not empty!
P3 JDK-8154328 [TEST_BUG] java/awt/TrayIcon/ActionEventTest/
P3 JDK-8058805 [TEST_BUG]Test java/awt/TrayIcon/SecurityCheck/NoPermissionTest/ fails
P3 JDK-8153526 [Unity] Taskbar.getTaskbar().setMenu(null) doesn't remove menu
P3 JDK-7195773 A Button pressed with a non-default keyboard layout grabs the window for events
P3 JDK-8022334 After calling frame.toBack() dialog goes to the back on Ubuntu 12.04
P3 JDK-8130390 Applet fails to launch on virtual desktop
P3 JDK-8059590 ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized
P3 JDK-8157163 AWT FileDialog does not inherit icon image from parent Frame
P3 JDK-8157827 AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK version when jdk.gtk.version=3
P3 JDK-8012224 AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell
P3 JDK-8140525 AwtFrame::WmShowWindow() may steal focus
P3 JDK-8059998 Broken link in java.awt.event Interface KeyListener
P3 JDK-8022810 Cannot list all the available display modes on Ubuntu linux in case of two screen devices
P3 JDK-8025815 Child FileDialog of modal dialog does not get focus on Gnome
P3 JDK-8134612 clipboard.getData(dataFlavor) can throw UnsupportedFlavorException for registered data flavor
P3 JDK-8047226 closed/java/awt/Component/GetScreenLocTest/GetScreenLocTest.html clicks on Unity's tool bar
P3 JDK-8058959 closed/java/awt/event/ComponentEvent/MovedResizedTwiceTest/ failed automatically
P3 JDK-7155957 closed/java/awt/MenuBar/MenuBarStress1/ hangs on win 64 bit with jdk8
P3 JDK-8175066 Compilation error due to tag in JDK-8162959
P3 JDK-8080993 Compilation errors with recent clang in awt_parseImage.c and splashscreen_sys.m
P3 JDK-8080395 consider making sun.awt.CausedFocusEvent functionality public
P3 JDK-8151975 Create some tests according to SQE Test Plan for Multi-Resolution Images
P3 JDK-8038631 Create wrapper for awt.Robot with additional functionality
P3 JDK-8173972 createScreenCapture not working as expected on multimonitor setup with different DPI scales.
P3 JDK-8024626 CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper
P3 JDK-8139192 Custom ImageFilters return blank images in Java 8(.45) while working in 7
P3 JDK-8130242 DataFlavorComparator transitivity exception
P3 JDK-8078606 Deadlock in awt clipboard
P3 JDK-8152683 Deadlock when resuming from sleep with different monitor setup
P3 JDK-8075516 Deleting a file from either the open or save java.awt.FileDialog hangs.
P3 JDK-8133453 Deprecate AWTKeyStroke.registerSubclass(Class) method
P3 JDK-8143077 Deprecate InputEvent._MASK in favor of InputEvent._DOWN_MASK
P3 JDK-8042103 Deserialization of empty java.awt.geom.Path2D will cause an exception
P3 JDK-8162840 Desktop. enableSuddenTermination() has no effect
P3 JDK-8155515 Desktop.moveToTrash() javadoc issue
P3 JDK-8167486 Device.getDisplayMode() doesn't report refresh rate on Linux in case of dual screen
P3 JDK-8169355 Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used
P3 JDK-8139218 Dialog that opens and closes quickly changes focus in original focusowner
P3 JDK-8077409 Drawing deviates when validate() is invoked on java.awt.ScrollPane
P3 JDK-8173890 Dual-screen linux: still no current mode in getDisplayModes()
P3 JDK-8028617 Dvorak keyboard mapping not honored when ctrl key pressed
P3 JDK-8134669 Empty screen insets in Gnome 3, OEL 7 in multiscreen mode
P3 JDK-8024061 Exception thrown when drag and drop between two components is executed quickly
P3 JDK-8062606 Fix a typo in java.awt.Robot class
P3 JDK-8061636 Fix for JDK-7079254 changes behavior of MouseListener, MouseMotionListener
P3 JDK-8075081 Fix missing doclint warnings in java.awt
P3 JDK-8073453 Focus doesn't move when pressing Shift + Tab keys
P3 JDK-8056915 Focus lost in applet when browser window is minimized and restored
P3 JDK-8020443 Frame is not created on the specified GraphicsDevice with two monitors
P3 JDK-8155772 gtk3_interface.c compilation error on Ubuntu 12.10
P3 JDK-8040007 GtkFileDialog strips user inputted filepath
P3 JDK-8071306 GUI perfomance are very slow compared java 1.6.0_45
P3 JDK-8158205 HiDPI hand cursor broken on Windows
P3 JDK-8145173 HiDPI splash screen support on Windows
P3 JDK-8144594 HiDPI: awt.Choice looks improperly (Win 8)
P3 JDK-8160696 IllegalArgumentException: adding a component to a container on a different GraphicsDevice
P3 JDK-8032788 ImageIcon constructor throws an NPE and hangs when passed a null String parameter
P3 JDK-8039269 images/cursors should not be in ${java.home}/lib
P3 JDK-8038999 In Java 8 java.awt.datatransfer.DataFlavor.equals is no longer symmetric
P3 JDK-8138764 In some cases the usage of TreeLock can be replaced by other synchronization
P3 JDK-8064934 Incorrect Exception message from
P3 JDK-8051449 Incorrect parsing of the default flavor mapping
P3 JDK-6815345 java.awt.Component.createImage(int width,int height) should remove behavioral optionality
P3 JDK-8066005 java.awt.event.KeyEvent.originalSource doesn't have "since" tag in Serialized Form
P3 JDK-8016313 java.awt.Headless exception has no spec since its creation
P3 JDK-8033936 java.awt.List events are not sent properly to handleEvent or ItemListener
P3 JDK-8075609 java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent
P3 JDK-8041734 JFrame in full screen mode leaves empty workspace after close
P3 JDK-8037575 JFrame on Windows doesn't animate when setting ICONIFIED state
P3 JDK-8170387 JLightweightFrame#syncCopyBuffer() may throw IOOBE
P3 JDK-6571600 JNI use results in UnsatisfiedLinkError looking for
P3 JDK-8156098 JRE 1.8 java.awt.Dialog setvisible method has some thread issue.
P3 JDK-8156723 JVM crash at
P3 JDK-8011616 JWindow.getLocation and JWindow.getLocationOnScreen return different values on Unity
P3 JDK-8046495 KeyEvent can not be accepted in quick mouse clicking
P3 JDK-6788138 leak in Java_sun_awt_X11_XlibWrapper_getStringBytes?
P3 JDK-8068283 Mac OS Incompatibility between JDK 6 and 8 regarding input method handling
P3 JDK-6980209 Make tracking SecondaryLoop.enter/exit methods easier
P3 JDK-8167652 Making a frame/dialog resizeble/unresizeble shifts its position on Unity.
P3 JDK-4953367 MAWT: Java should be more careful manipulating NLSPATH, XFILESEARCHPATH env variables
P3 JDK-8171836 memory leak in java.desktop/unix/native/common/awt/fontpath.c
P3 JDK-8146317 Memory leak in wcstombsdmp
P3 JDK-8066436 Minimize can cause window to disappear on osx
P3 JDK-8041928 MouseEvent.getModifiersEx gives wrong result
P3 JDK-8035169 Move ThreadGroupUtils from the sun.misc package
P3 JDK-4379403 Need to disable the "magic AWT dump key" (CTRL+SHIFT+F1)
P3 JDK-8066139 Null return from PrintJob.getGraphics() running closed/java/awt/PrintJob/HighResTest/
P3 JDK-8165838 NullPointerException thrown at at
P3 JDK-8159460 On Ubuntu Unity, problem with java/awt/Window/FindOwner/FindOwnerTest
P3 JDK-8155083 On Windows, usage of USER_ATTENTION_WINDOW depends on state setting order
P3 JDK-8154434 Open the request focus methods of the java.awt.Component which accept FocusEvent.Cause
P3 JDK-8077686 OperationTimedOut exception inside from XToolkit.syncNativeQueue call on Ubuntu 15.04
P3 JDK-8035159 PIT: On Linux encountered new fails in client-libs tests
P3 JDK-8131921 Pluggable EventQueue in modular JDK
P3 JDK-8131922 Pluggable Toolkit revisited in modular JDK
P3 JDK-4908075 Press shift and another key using robot does not trigger events properly - WinXP
P3 JDK-8073008 press-and-hold input method for accented characters works incorrectly on OS X
P3 JDK-8161531 Provide a javadoc description for the java.datatransfer module
P3 JDK-8056991 Provide OSInfo functionality to regression tests
P3 JDK-8164899 Provide package access to setComponentMixingCutoutShape
P3 JDK-8134152 Public API for java 8 DataFlavor fields do not have @since tag
P3 JDK-8069015 Re-examine Solaris/Linux java.desktop dependency on java.logging
P3 JDK-8047336 Read as resource
P3 JDK-7033533 realSync() doesn't work with Xfce
P3 JDK-8163261 regression on Linux: java/awt/LightweightDispatcher/
P3 JDK-8160421 Regression: JDK-8139192 causes NPE in java.awt.Toolkit.createCustomCursor()
P3 JDK-8058120 Rendering / caret errors with HTMLDocument
P3 JDK-8079595 Resizing dialog which is JWindow parent makes JVM crash
P3 JDK-8013116 Robot moves mouse to point which differs from set in mouseMove on Unity shell
P3 JDK-8021961 setAlwaysOnTop doesn't behave correctly in Linux/Solaris under certain scenarios
P3 JDK-8158918 setExtendedState(1) for maximized Frame results in state==7
P3 JDK-8025001 setFocusTraversalPolicy() to ContainerOrderFocusTraversalPolicy results in an infinite loop
P3 JDK-8036915 setLocationRelativeTo stopped working in Ubuntu 13.10 (Unity)
P3 JDK-8043610 Sorting columns in JFileChooser fails with AppContext NPE
P3 JDK-7081580 Specification for MouseInfo.getNumberOfButtons() doesn't contain info about "awt.mouse.numButtons"
P3 JDK-8056214 Stop including libjawt in libawt_xawt
P3 JDK-8056151 Switching to GTK L&F on-the-fly leads to X Window System error RenderBadPicture
P3 JDK-8072769 System tray icon title freezes java
P3 JDK-8153512 Taskbar support reported for Xfce4.
P3 JDK-8062738 Test java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug fails in Windows
P3 JDK-8031423 Test java/awt/dnd/DisposeFrameOnDragCrash/ fails by Timeout on Windows
P3 JDK-8075964 Test java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html fails intermittently with timeout error
P3 JDK-8058793 Test sun/awt/datatransfer/ fails with compilation error
P3 JDK-8058635 Test sun/awt/datatransfer/ fails with compilation error
P3 JDK-8040322 TextArea.replaceRange() and insert() are broken with setText(null)
P3 JDK-8055197 TextField deletes multiline strings
P3 JDK-8027324 The spec for Toolkit.setDynamicLayout() and Toolkit.isDynamicLayoutActive() needs to be clarified
P3 JDK-8117886 There is no tooltip while moving the mouse on the tray icon.
P3 JDK-8072069 Toolkit.getScreenInsets() doesn't update if insets change
P3 JDK-8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems
P3 JDK-8024858 Tooltip freezes entire application
P3 JDK-8156212 Typo in javadoc of java.awt.Taskbar, setIconBadge spec
P3 JDK-8046031 UI of Java Web Start app isn't updated when changing Windows theme
P3 JDK-8151787 Unify the HiDPI splash screen image naming convention
P3 JDK-8153522 Update JLightweightFrame to allow non-integer (and X/Y) scales
P3 JDK-8180326 Update the tables in java.desktop to be HTML-5 friendly
P3 JDK-6622944 Use instead of package.html within awt packages
P3 JDK-8139189 VK_OEM_102 dead key detected as VK_UNDEFINED
P3 JDK-8151998 VS2010 ThemeReader.cpp(758) : error C3861: 'round': identifier not found
P3 JDK-7157680 XAWT: Native components should not paint native part on UPDATE event
P3 JDK-8165232 XKeycodeToKeysym is deprecated and should be replaced
P4 JDK-8165269 (doc) Toolkit.isDynamicLayoutActive(): orphan ')' in first sentence
P4 JDK-8151385 [hidpi] JOptionPane-Icons only partially visible when using Windows 10 L&F
P4 JDK-8147648 [hidpi] multiresolution image: wrong resolution variant is used as icon in the Unity panel
P4 JDK-8026385 [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X
P4 JDK-7153700 [macosx] add support for MouseMotionListener to the TrayIcon
P4 JDK-8026252 [macosx] Change AWT_DEBUG_BUG_REPORT_MESSAGE for macosx platform
P4 JDK-8027561 [macosx] Cleanup "may not respond to selector" warnings in native code
P4 JDK-8037560 [macosx] Cleanup CClipboard.m
P4 JDK-7156316 [macosx] Ctrl+Space does generate Unknown keychar
P4 JDK-8035568 [macosx] Cursor management unification
P4 JDK-8076106 [macosx] Drag image of TransferHandler does not honor MultiResolutionImage
P4 JDK-8165680 [macosx] Enhance handling of UTF-8 characters in
P4 JDK-7159591 [macosx] In SetFontTest there's no space for the second button
P4 JDK-8043869 [macosx] java -splash does not honor @2x hi dpi notation for retina support
P4 JDK-7124255 [macosx] java.awt.List: method select(int) doesn't work before be visible
P4 JDK-8023148 [macosx] java.util.NoSuchElementException at java.util.LinkedList.getFirst
P4 JDK-7124410 [macosx] Lion HiDPI support
P4 JDK-8042219 [macosx] LWComponentPeer should not reference classes from sun.lwawt.macosx
P4 JDK-8031090 [macosx] LWToolkit should not depends from the macosx.
P4 JDK-8160266 [macosx] and tests does not run with current JDK codebase after taking the files from MACOSX_PORT
P4 JDK-7154841 [macosx] Popups appear behind taskbar
P4 JDK-7124271 [macosx] RealSync test failure
P4 JDK-8037099 [macosx] Remove all references to GC from native OBJ-C code
P4 JDK-8044516 [macosx] ScreenPopupFactory uses native method that could be avoided
P4 JDK-8032219 [macosx] Scrollbars looks bad under retina in Motif and Metal L&F
P4 JDK-8033940 [macosx] SetDisplayMode fails if graphics system has only display modes with unknown refresh rate
P4 JDK-7124365 [macosx] setMaximizedBounds() should be implemented
P4 JDK-7158615 [macosx] Some TrayIcon tests presume action trigger on BUTTON1
P4 JDK-8080504 [macosx] SunToolkit.realSync() may hang
P4 JDK-8150230 [macosx] Test java/awt/keyboard/FunctionKeyCode/ function keys F17, F18 and F19 returns 0 as key code
P4 JDK-8078149 [macosx] The text of the TextArea is not wrapped at word boundaries
P4 JDK-8038765 [macosx] Toolkit.sync should be implemented
P4 JDK-8031694 [macosx] TwentyThousandTest test intermittently hangs
P4 JDK-8042585 [macosx] Unused code in LWCToolkit.m
P4 JDK-8163160 [PIT][TEST_BUG] Some issues in java/awt/image/multiresolution/MultiResolutionIcon/
P4 JDK-8151714 [TEST] [hidpi] add a test for JOptionPane dialog multires. icons
P4 JDK-8147966 [TEST] add a test for multiresolution image properties
P4 JDK-8150724 [TEST] HiDPI: create a test for multiresolution icons
P4 JDK-8150258 [TEST] HiDPI: create a test for multiresolution menu item icons
P4 JDK-8151697 [TEST] minor update of test/java/awt/image/multiresolution/
P4 JDK-8046221 [TEST_BUG] Cleanup datatransfer tests
P4 JDK-8041464 [TEST_BUG] CustomClassLoaderTransferTest does not support OS X
P4 JDK-8044157 [TEST_BUG] Improve recently submitted AWT_Mixing tests
P4 JDK-8017456 [TEST_BUG] java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html: test frames remain after test execution
P4 JDK-7035459 [TEST_BUG] java/awt/Focus/TranserFocusToWindow/ failed
P4 JDK-8031422 [TEST_BUG] java/awt/Paint/ fails on Windows 7
P4 JDK-8030640 [TEST_BUG] java/awt/Toolkit/Headless/WrappedToolkitTest/ fails with exit code 2
P4 JDK-8041592 [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
P4 JDK-8044172 [TEST_BUG] Move regtests for 4523758 and AltPlusNumberKeyCombinationsTest to jdk
P4 JDK-8053657 [TEST_BUG] move some 5 tests related to undecorated Frame/JFrame to JDK
P4 JDK-8015900 [TEST_BUG] ScrollbarMouseWheelTest failed on ubuntu 12 with unity and unity 2D
P4 JDK-8068305 [TEST_BUG] Test java/awt/Mixing/ fails with GTKL&F
P4 JDK-6191390 Action Event triggered by list does not reflect the modifiers properly on win32
P4 JDK-8081332 AIX: fix charset dependenicies after 8035302:Eliminate dependency on jdk.charsets from 2D font code.
P4 JDK-6475361 Attempting to remove help menu from java.awt.MenuBar throws NullPointerException
P4 JDK-8058197 AWT fails on generic non-reparenting window managers
P4 JDK-8042440 awt_Plugin no longer needed
P4 JDK-8153184 BorderLayout javadoc says current version of JDK is 1.2
P4 JDK-8139754 Change Boolean constructor use to the use of Boolean factorymethods. For the macosx-port-dev area
P4 JDK-8152693 Changed behavior of java/awt/xembed/server/ test
P4 JDK-8164104 Cleanup of javaclient related mapfiles
P4 JDK-8180889 Cleanup of javadoc in java.datatransfer module
P4 JDK-8032435 Cleanup of package
P4 JDK-8033141 Cleanup of sun.awt.X11 package
P4 JDK-6744401 Consider removal of code disabling JIT in Toolkit.getDefaultToolkit
P4 JDK-8139508 Debug option does not work in appletviewer
P4 JDK-8080137 Dragged events for extra mouse buttons (4,5,6) are not generated on JSplitPane
P4 JDK-7124381 DragSourceListener.dragDropEnd() never been called on completion of dnd operation
P4 JDK-8039567 Duplicated code in DataTransferer
P4 JDK-8081485 EDT auto shutdown is broken in case of new event queue usage
P4 JDK-8032527 fix a couple doclint errors in java/awt/geom/Path2D
P4 JDK-8030845 Fix doclint missing issues in java.awt.event
P4 JDK-8031467 Fix doclint missing issues in java.awt.{dnd[.peer], datatransfer}
P4 JDK-8033181 Fix doclint missing issues in java.awt.{peer, im[.spi]}
P4 JDK-8043967 Fix doclint warnings for java.awt
P4 JDK-8039861 Fix fallthrough lint warnings in awt
P4 JDK-8039501 Fix fallthrough lint warnings in jdk libraries
P4 JDK-8039859 Fix fallthrough lint warnings in sun.awt.image.codec
P4 JDK-8067087 Fix mac-specific deprecation warnings in the java.desktop module
P4 JDK-8170525 Fix minor issues in AWT/ECC/PKCS11 coding
P4 JDK-8033712 Fix more serial lint warnings in sun.awt
P4 JDK-8031550 Fix overloads lint warnings in client code
P4 JDK-8044862 Fix raw and unchecked lint warnings in macosx specific code
P4 JDK-8044551 Fix raw and unchecked lint warnings in platform-specific sun.awt files
P4 JDK-8033526 Fix serial lint warnings in java.awt.*
P4 JDK-8033222 Fix serial lint warnings in sun.awt.*
P4 JDK-8075956 Fix some tidy warnings for java.awt
P4 JDK-8039109 Fix unchecked and raw lint warnings in java.awt
P4 JDK-8067093 Fix windows-specific deprecation warnings in the java.desktop module
P4 JDK-8163408 Fix wrong prototype of getNativeScaleFactor() in systemScale.h
P4 JDK-6624085 Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true
P4 JDK-8030093 Generify DataTrasfer classes
P4 JDK-6778087 getLocationOnScreen() always returns (0, 0) for mouse wheel events
P4 JDK-8058930 GraphicsEnvironment.getHeadlessProperty() does not work for AIX
P4 JDK-8025492 Hand cursor does not use Windows' system cursor
P4 JDK-8057574 inconsistent behavior for setBackground (Windows/Linux)
P4 JDK-8134603 Incorrect destination is used in CGLLayer surface
P4 JDK-8132355 Incorrect guard block in HPkeysym.h, awt_Event.h
P4 JDK-8043807 Incorrect StackTrace in IOException thrown from ClipboardTransferable
P4 JDK-4703110 java.awt.Canvas(GraphicaConfiguration): null reaction
P4 JDK-8074500 java.awt.Checkbox.setState() call causes ItemEvent to be filed
P4 JDK-8158178 java.awt.SplashScreen.getSize() returns incorrect size for high dpi splash screens
P4 JDK-6544871 java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html fails from jdk b09 on windows.
P4 JDK-8033128 Javadoc change is required for java.awt.Robot(GraphicsDevice screen) constructor
P4 JDK-8166313 JavaDoc mentions AppEvent subclasses as inner class of AppEvent
P4 JDK-8043646 libosxapp.dylib fails to build on Mac OS 10.9 with clang
P4 JDK-8049694 Migrate functional AWT_DesktopProperties/Automated tests to OpenJDK
P4 JDK-8055664 move 14 tests about setLocationRelativeTo to jdk
P4 JDK-8041915 Move 8 awt tests to OpenJDK regression tests tree
P4 JDK-8044429 move awt automated exclusion tests for AWT_Modality to OpenJDK repository
P4 JDK-8043126 move awt automated functional tests from AWT_Events/Lw and AWT_Events/AWT to OpenJDK repository
P4 JDK-8047367 move awt automated tests from AWT_Modality to OpenJDK repository - part 2
P4 JDK-8049617 move awt automated tests from AWT_Modality to OpenJDK repository - part 3
P4 JDK-8050885 move awt automated tests from AWT_Modality to OpenJDK repository - part 4
P4 JDK-8052012 move awt automated tests from AWT_Modality to OpenJDK repository - part 5
P4 JDK-8039279 Move awt tests to openjdk repository
P4 JDK-8048246 Move AWT_DnD/Clipboard/Automated functional tests to OpenJDK
P4 JDK-8047180 Move functional tests AWT_Headless/Automated to OpenJDK repository
P4 JDK-8044765 Move functional tests AWT_SystemTray/Automated to openjdk repository
P4 JDK-8043131 Move ShapedAndTranslucentWindows and GC functional AWT tests to regression tree
P4 JDK-8051440 move tests about maximizing undecorated to OpenJDK
P4 JDK-8147849 multiresolution image: some questions about selecting the proper image variant
P4 JDK-8132123 MultiResolutionCachedImage unnecessarily creates base image to get its size
P4 JDK-8004148 NPE in sun.awt.SunToolkit.getWindowDeactivationTime
P4 JDK-8062021 NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146
P4 JDK-8129894 NSApplicationAWT.m:343:72: error: comparison of constant 777 with expression of type 'NSEventSubtype'
P4 JDK-8051857 OperationTimedOut exception inside from XToolkit.syncNativeQueue call
P4 JDK-8071483 Possible case-folding collision for color/Color subdirectories of jdk/test/java/awt/
P4 JDK-4419271 Provide support for scrolling-mechanisms of non-mouse input-devices
P4 JDK-8130478 Reconsider "awt.toolkit" property usage in java.awt.Toolkit getDefaultToolkit() method
P4 JDK-6829245 Reg test: java/awt/Component/isLightweightCrash/ fails
P4 JDK-6734341 REGTEST fails: SelectionAutoscrollTest.html
P4 JDK-8130776 Remove EmbeddedFrame.requestFocusToEmbedder() method
P4 JDK-8047798 Remove EventQueueDelegate
P4 JDK-8049830 Remove reflection from ScreenMenuBar
P4 JDK-8134808 Remove support for serialized applets from java.desktop
P4 JDK-8154269 Remove unused or unnecessary Xm/Xt files and header includes
P4 JDK-8047799 Remove WindowClosingSupport
P4 JDK-8043972 Remove wrong copyright notice in jdk/test/java/awt/Frame/DecoratedExceptions/
P4 JDK-8075717 Replace INTERNAL_BUILD with DEBUG in awt
P4 JDK-8160146 Resolve disabled GCC warning 'deprecated-declarations' for libawt_xawt
P4 JDK-8030953 SelectionVisible test should test multiline selection in case of TextArea
P4 JDK-6961123 setWMClass fails to null-terminate WM_CLASS string
P4 JDK-8068275 Some tests failed after JDK-8063104
P4 JDK-8042806 Splashscreen uses libjpeg-internal macros
P4 JDK-8080695 splashscreen_png.c compile error with gcc 4.9.2
P4 JDK-8030987 sun_awt_X11_GtkFileDialogPeer.h can be removed
P4 JDK-8067086 Suppress mac-specific deprecation warnings in the java.desktop module
P4 JDK-8067092 Suppress windows-specific deprecation warnings in the java.desktop module
P4 JDK-8150954 Taking screenshots on x11 composite desktop produce wrong result
P4 JDK-8039267 Test closed/java/awt/Choice/ChoiceLocationTest/ChoiceLocationTest.html should be removed
P4 JDK-7112454 TEST_BUG: java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html failed
P4 JDK-7161320 TEST_BUG: java/awt/event/KeyEvent/SwallowKeyEvents/ fails (Invalid key code)
P4 JDK-8040081 Tidy warnings cleanup for java.applet
P4 JDK-8039259 Tidy warnings cleanup for java.awt
P4 JDK-8038242 Tidy warnings cleanup for java.awt.datatransfer, java.awt.dnd, java.awt.event
P4 JDK-8139152 Toolkit.createCustomCursor() provides no way to produce retina-quality cursors
P4 JDK-6384991 TrayIcon ActionListener called at wrong time
P4 JDK-8178971 Uncommon formatting and typos in java.desktop module
P4 JDK-8149151 Use local GraphicsEnvironment to get screen size in WToolkit
P4 JDK-8177461 Wrong references are used in the javadoc in the java.desktop module
P4 JDK-8003900 X11 dependencies should be removed from Mac OS X build.
P4 JDK-8158478 X11 keysym XK_topt maps to the wrong Unicode character
P4 JDK-8042416 X11GraphicsEnvironment.isDisplayLocal() throws NoSuchElementException if DISPLAY host has more IP addresses than a local interface
P5 JDK-8151136 [macosx] According to the description,the case is failed
P5 JDK-8035168 [macosx] Remove CThreading class
P5 JDK-8154016 [macosx] Some HiDPI code can be removed
P5 JDK-8137137 [macosx] The native dialog doesn't have 'close'(X) button on Mac OS.
P5 JDK-8138893 [tidy] a couple of new tidy warnings from java/awt/image
P5 JDK-8036103 Cleanup of java.awt and java.awt.peer packages
P5 JDK-8034068 Label.toString performance improvement
P5 JDK-8169043 The task bar icon color is not blue
P5 JDK-6690000 Typo's in DataFlavor Javadoc


Priority Bug Summary
P2 JDK-8136570 Stop changing user environment variables related to /usr/dt
P3 JDK-8031992 Add Kannada support to the JDK
P3 JDK-8154816 Caps Lock doesn't work as expected when using Pinyin Simplified input method
P3 JDK-8076455 IME Composition Window is displayed on incorrect position
P4 JDK-8019990 IM candidate window appears on the South-East corner of the display.
P4 JDK-8156662 Remove unused IM implementations (thaiim & indicim)
P4 JDK-7015696 The new currency symbols 20B9 (INDIAN RUPEE), 20BA (TURKISH LIRA), 20BD (RUBLE SIGN) not displayed


Priority Bug Summary
P2 JDK-8131754 AquaTreeUI.getCollapsedIcon() issue reported in java beans tests with a modular build
P2 JDK-8131926 java/beans/SimpleBeanInfo/LoadingStandardIcons/ failure with modular JDK
P2 JDK-8165263 Remove code in MetaData that hacks into private fields of Collections implementation classes
P2 JDK-4763438 Replace uses of @beaninfo with meta facility in core j2se
P2 JDK-8130937 Several methods in BeanProperty return null instead of boolean value
P3 JDK-8154756 @BeanProperty: invalid bean info in case of overloaded setter (varargs) - unstable behavior
P3 JDK-8132973 @BeanProperty: what is the correct output in case of repeating annotations?
P3 JDK-8051849 [TEST_BUG] Test java/beans/Introspector/7084904/ fails
P3 JDK-8129904 Add beans tests to tier 3
P3 JDK-8143346 Broken link in java.beans.XMLEncoder
P3 JDK-8040656 Classes with overriden methods with covariant returns return random read methods
P3 JDK-8132138 Create some tests according to SQE Test Plan for BeanInfo Annotations
P3 JDK-8039776 Introspector throws NullPointerException for subclasses' mismatched get/setter
P3 JDK-8030123 java/beans/Introspector/ fails
P3 JDK-8158281 fails with AssertionError
P3 JDK-8044826 JEP 256: BeanInfo Annotations
P3 JDK-8159898 Negative array size in java/beans/Introspector/
P3 JDK-8131347 new @BeanProperty annotation: inconsistent behavior for "enumerationValues"
P3 JDK-7179078 Remove @beaninfo processing from the makefiles
P3 JDK-8060027 Tests java/beans/XMLEncoder/ and java/beans/XMLEncoder/
P3 JDK-8066404 The case is failed automatically and thrown the "java.lang.IllegalStateException" exception
P3 JDK-8156043 Unstable behavior of PropertyDescriptor's getWriteMethod() in case of overloaded setters
P4 JDK-8154962 [TEST] @BeanProperty: add some tests for anonimous classes
P4 JDK-8131055 [TEST] bean annotations: add a test checking if a separate user-defined BeanInfo class is top-priority as compared with the annotations.
P4 JDK-8155021 [TEST] create one more inheritance test for @BeanProperty
P4 JDK-8044855 Add missing @since tag under java.beans.*
P4 JDK-8067657 Dead/outdated links in Javadoc of package java.beans
P4 JDK-8034085 Do not prefer indexed properties
P4 JDK-8031589 Fix doclint issues in java.beans.beancontext
P4 JDK-8032616 Fix non-deprecation warnings in com.sun.beans.*
P4 JDK-8042860 Fix raw and unchecked warnings in java.beans
P4 JDK-8034164 Introspector ignores indexed part of the property sometimes
P4 JDK-7084904 Introspector returns isX() from base package-private class that throws exception
P4 JDK-8159696 java.beans.MethodRef#get throws NullPointerException
P4 JDK-8146313 The java.beans.Statement.invoke() method handles 3-arg Class.forName incorrectly
P4 JDK-8038488 Tidy warnings cleanup for java.beans
P4 JDK-8156579 Two JavaBeans tests failed
P5 JDK-4058433 RFE: tool for creating BeanInfo template


Priority Bug Summary
P2 JDK-8053966 Add missing parts of Java Access Bridge and Accessibility Utilities to JDK
P2 JDK-8078408 Java version applet hangs with Voice over turned on
P2 JDK-8076249 NPE in AccessBridge while editing JList model
P2 JDK-8175915 NullPointerException from JComboBox and JList when Accessibility enabled
P2 JDK-8055160 Support loading of Assistive Technology from service provider
P3 JDK-8076554 [macosx] Custom Swing text components need to allow standard accessibility
P3 JDK-8166858 [macosx] Incorrect VoiceOver cursor behavior when selecting JList items
P3 JDK-8145207 [macosx] JList, VO can't access non-visible list items
P3 JDK-7124240 [macosx] Multi-select lists and trees are unusable by users who are blind
P3 JDK-8145984 [macosx] sun.lwawt.macosx.CAccessible leaks
P3 JDK-8166497 [macosx] VoiceOver can only navigate to first two items of a JList
P3 JDK-8061379 [OS X Accessibility] JComboBox works very strange with Voice Over
P3 JDK-8165829 Android Studio 2.x crashes with NPE at sun.lwawt.macosx.CAccessibility.getAccessibleIndexInParent
P3 JDK-8144761 Assistive Technology not found when installing NetBeans on Linux
P3 JDK-8167182 Exported elements referring to inaccessible types in jdk.accessibility
P3 JDK-8068518 IllegalArgumentException in JTree.AccessibleJTree
P3 JDK-8071334 Investigate JAB changes required to support the version string change
P3 JDK-8036819 JAB: mneumonics not read for textboxes
P3 JDK-8145228 Java Access Bridge, getAccessibleStatesStringFromContext doesn't wrap the call to getAccessibleRole
P3 JDK-8154069 Jaws reads wrong values from comboboxes when no element is selected
P3 JDK-8017112 JTabbedPane components have inconsistent accessibility tree
P3 JDK-8076182 Open Source Java Access Bridge - Create Patch for JEP C127 8055831
P3 JDK-8171808 Performance problems in dialogs with large tables when JAB activated
P3 JDK-8078335 Re-examine jdk.accessibility/share/classes/com/sun/java/accessibility/util location
P3 JDK-8167213 Re-examine the alternative to deliver include/bridge/AccessBridgeCalls.c
P4 JDK-8054157 Access Bridge; add definitions for bits 8 and 9 for for new accelerator support
P4 JDK-8044183 AccessBridge crashes if running Ferret and hover off a menu item
P4 JDK-8132249 Clean up JAB debugging code
P4 JDK-8044820 Consider removing externalization of GUIInitializedMulticaster and TopLevelWindowMulticaster
P4 JDK-4305452 Example source code comments are misleading and should be changed
P4 JDK-8044469 Fix fallthrough lint warning in accessibility
P4 JDK-8046272 Fix overrides lint warnings in accessibility
P4 JDK-8042861 Fix raw and unchecked warnings in
P4 JDK-8048022 Fix raw and unchecked warnings in javax.accessibility
P4 JDK-8036983 JAB:Multiselection Ctrl+CursorUp/Down and ActivateDescenderPropertyChanged event
P4 JDK-8032443 Java Access Bridge version strings need to be fixed
P4 JDK-8057977 Java Access Bridge, regression, NPE, occurs randomly
P4 JDK-8175831 Provide a javadoc description for jdk.accessibility module
P4 JDK-8009883 REGRESSION: test/closed/javax/swing/AbstractButton/4246045/ fails
P4 JDK-8069131 Suppress deprecation warning in oracle.accessbridge


Priority Bug Summary
P2 JDK-8143342 Integrate Java Image I/O support for TIFF per JEP 262
P2 JDK-8065682 JEP 262: TIFF Image I/O
P2 JDK-8148891 Multiple failing javax/imageio/plugins after client integration
P2 JDK-8068749 Restrict javax.imageio.spi.ServiceRegistry to ImageIO types
P2 JDK-8160943 skipImage() in JPEGImageReader class throws IIOException if we have gaps between markers in Jpeg image.
P3 JDK-8145014 "IIOException: Couldn't seek!" when calling TIFFImageReader.getNumImages()
P3 JDK-8144997 "IIOException: Field data is past end-of-stream" when calling
P3 JDK-8040277 [macosx] Multiple threads cause no garbage collection
P3 JDK-8074967 [macosx] JPEGImageReader incorrectly identifies YCbCr JPEGs as RGB in standard metadata
P3 JDK-8148454 [PIT] Failure of ReplaceMetadataTest on TIFF with IllegalStateException
P3 JDK-8144245 [PIT] javax/imageio/plugins/shared/
P3 JDK-8149558 [TEST] add regression test for JDK-8150154
P3 JDK-8149028 [TEST] add test for TIFFDirectory
P3 JDK-8154075 [TIFF] AIOOB Exception from TIFFLZWDecompressor
P3 JDK-8154058 [TIFF] ignoreMetadata parameter of TIFFImageReader's setInput() method affects TIFFImageReadParam in non-obvious way
P3 JDK-8154228 [TIFF] IIOException: "Insufficient data offsets or byte counts" when loading test image
P3 JDK-8154093 [TIFF] NPE when reading LZW-compressed image
P3 JDK-8150154 AIOOB Exception during sequential write of TIFF images
P3 JDK-8167278 ArrayIndexOutOfBoundsException when calling with RLE4 BMP
P3 JDK-6852563 ArrayOutOfBoundException when reading RLE8 compressed bitmap
P3 JDK-8148914 test fails
P3 JDK-8041465 BMPImageReader read error using ImageReadParam with set sourceRectangle
P3 JDK-8170142 Broken links in TIFF metadata format and usage notes
P3 JDK-8169725 cannot use TIFFField(TIFFTag tag, int value) for TIFF_LONG values greater than Integer.MAX_VALUE
P3 JDK-8152966 ClassCastException when adding IFD to the TIFFDirectory before the image write
P3 JDK-8165981 Consider making some classes in javax.imageio.plugins.tiff final
P3 JDK-8140229 Create some tests according to SQE Test Plan for TIFF Image I/O
P3 JDK-8145019 Exceptions from when loading bit depth test images
P3 JDK-8168498 ExifGPSTagSet and ExifTIFFTagSet should use string literals for String constants
P3 JDK-6294607 GIFWriter returns the same compression type twice
P3 JDK-8074954 ImageInputStreamImpl.readShort/readInt do not behave correctly at EOF
P3 JDK-7195572 ImageIO JPEG encoder fails due to missing in JRE
P3 JDK-8041501 ImageIO reader is not capable of reading JPEGs without JFIF header
P3 JDK-8154860 ImageIO.getImageReadersByFormatName() fails when jai_imageio is in the classpath
P3 JDK-8044289 In ImageIO.write() and null stream is not handled properly.
P3 JDK-6945174 IndexOutOfBoundsException calling on malformed PNG
P3 JDK-6967419 IndexOutOfBoundsException when drawing PNGs
P3 JDK-8152561 Is it allowed to have zero value for count in TIFFField.createArrayForType() for the rationals
P3 JDK-8145113 OutOfMemoryError when reading a 17KB corrupted TIFF image
P3 JDK-6488522 PNG writer should permit setting compression level and iDAT chunk maximum size
P3 JDK-8022640 ServiceRegistry (used by ImageIO) lack synchronization
P3 JDK-8156459 SimpleCMYKColorSpace serialVersionUID is inappropriate
P3 JDK-6379088 Suboptimal expression in javax.imageio.ImageTypeSpecifier.getBitsPerBand(int)
P3 JDK-8168367 Table in javax.imageio package description does not mention TIFF
P3 JDK-8080086 Test javax/imageio/plugins/png/ fails on Linux with G1 GC
P3 JDK-8164750 TIFF reading fails when ignoring metadata with BaselineTIFFTagSet removed
P3 JDK-8173064 Unexpected tag in javax/imageio/plugins/tiff/package.html
P3 JDK-8140314 Verify IIOMetadataFormat class on loading.
P3 JDK-8166685 We should unpin stream and pixel buffer in case of setjmp during writeImage in JPEG.
P4 JDK-8145609 6488522 was committed with incorrect author attribution.
P4 JDK-8145776 [TEST] add a test for multipage tiff creation
P4 JDK-8152183 [TEST] add test for TIFFField
P4 JDK-8145780 [TEST] create a simple test for TIFF tag sets
P4 JDK-8146881 [TEST] update some imageio tests to affect TIFF format
P4 JDK-8043693 A typo in the javadoc for javax.imageio.ImageReader
P4 JDK-4952954 abort flag is not cleared for every write operation for JPEG ImageWriter
P4 JDK-8132500 Add imageio test to tier 3
P4 JDK-7182758 BMPMetadata returns invalid PhysicalPixelSpacing
P4 JDK-8172153 Create workaround for failure to use ICC profile contained in a TIFF field
P4 JDK-6386906 Faulty rounding code in BMPImageReader.decodeRLE4()
P4 JDK-8035487 Fix raw and unchecked lint warnings in javax.imageio.spi
P4 JDK-8033616 Fix serial lint warnings in javax.imageio.*
P4 JDK-8163258 Getting NullPointerException from ImageIO.getReaderWriterInfo due to failure to check for null
P4 JDK-8152672 IIOException while getting second image properties for JPEG
P4 JDK-8167281 IIOMetadataNode bugs in getElementsByTagName and NodeList.item methods
P4 JDK-8144071 ImageIO does not reset stream if an exception is thrown
P4 JDK-8144744 ImageWriter.replacePixels() specification is incorrect regarding null ImageWriteParam
P4 JDK-8143562 JPEG reader returns null for getRawImageType()
P4 JDK-6243376 JPEGImageWriter corrupts color for non-JFIF images with differing sample factors
P4 JDK-4958064 JPGWriter does not throw UnsupportedException when canWriteSequence retuns false
P4 JDK-8156580 Make TIFFTagSet subclasses final
P4 JDK-8169728 Missing sign checks in TIFFField(TIFFTag tag, int type, int count, Object data) for TIFFTag.TIFF_LONG
P4 JDK-8168609 No link to BMP specification in javax.imageio package documentation
P4 JDK-8066904 NullPointerException when calling with corrupt BMP
P4 JDK-8145608 PNG writer should permit setting compression level and iDAT chunk maximum
P4 JDK-4991647 PNGMetadata.getAsTree() sets bitDepth to invalid value
P4 JDK-4924727 reader.abort() method does not work when called inside imageStarted for PNG
P4 JDK-7059970 Test case: javax/imageio/plugins/png/ is not closing a file
P4 JDK-8155960 TIFF javadoc contains HTML entities inside {@code} tags
P4 JDK-8149562 TIFFField#createFromMetadataNode javadoc should provide information about sibling/child nodes that should be part of parameter node
P4 JDK-8153208 TIFFImageReadParam: should "contains()" check be appropriate for addAllowedTagSet() method?
P4 JDK-8164931 Verify if writer.abort() works properly for all writers in IIOWriteProgressListener.
P5 JDK-8149593 Change foo to {@code foo} in TIFF plugin classes


Priority Bug Summary
P2 JDK-8068412 [macosx] Initialization of Cocoa hangs if CoreAudio was initialized before
P2 JDK-8148915 Intermittent failures of
P2 JDK-8168751 Two "Direct Clip" threads are created to play the same "AudioClip" object, what makes clip sound corrupted
P3 JDK-8013586 audioInputStream.close() does not release the resource
P3 JDK-8148983 Fix extra comma in changes for JDK-8148916
P3 JDK-8160217 JavaSound should clean up resources better
P3 JDK-6729836 JavaSound treats large file sizes as negative and cannot read or skip
P3 JDK-8168881 javax/sound/sampled/Clip/ fails
P3 JDK-8134632 Mark javax/sound/midi/Devices/ as headful
P3 JDK-8180452 Mark as failing intermittently
P3 JDK-8074831 Resolve disabled warnings for libjsound
P3 JDK-8074832 Resolve disabled warnings for libjsoundalsa
P3 JDK-8058115 Some of MidiDeviceProviders do not follow the specification
P3 JDK-8054431 Some of the input validation in the javasound is too strict
P3 JDK-8156169 Some sound tests rarely hangs because of incorrect synchronization
P3 JDK-8159783 sound/javax_sound_midi/MidiDeviceTests/test520 fails on Windows 10
P3 JDK-8178685 Update links to guide in javax sound package javadoc
P4 JDK-8177560 @headful key can be removed from the tests for JavaSound
P4 JDK-8134554 Add sound tests to tier 3
P4 JDK-8166288 Au file format can be validated better
P4 JDK-6459818 Audio A-law and law decoder skip() method not implemented
P4 JDK-8131974 AudioFileReader incorrectly handle EOFException
P4 JDK-8038139 AudioInputStream.getFrameLength() returns wrong value for floating-point WAV
P4 JDK-8064800 AudioSystem/WaveFileWriter can't write PCM_FLOAT, but writes it anyway
P4 JDK-8143909 Behavior of null arguments not specified in javax.sound.midi.spi
P4 JDK-8135100 Behavior of null arguments not specified in javax.sound.sampled.spi
P4 JDK-8163949 Cleanup of classes which are related to JavaSound
P4 JDK-8039863 Fix fallthrough lint warnings in sound
P4 JDK-8170798 Fix minor issues in java2d and sound coding.
P4 JDK-8042256 Fix raw and unchecked lint warnings in
P4 JDK-8044553 Fix raw and unchecked lint warnings in javax.sound.*
P4 JDK-8042871 Fix raw and unchecked warnings in
P4 JDK-8034046 Fix serial lint warnings in javax.sound
P4 JDK-8037173 Fix serial lint warnings in
P4 JDK-8167435 IllegalArgumentException is not thrown by,byte[], int, int)
P4 JDK-8149958 Implementation/documantation of should be updated
P4 JDK-8059743 Incorrect assumtion in javax\sound\midi\Gervill\SoftProvider\
P4 JDK-8146144 Incorrect behaviour of AudioSystem.getTargetFormats/getTargetEncodings/isConversionSupported
P4 JDK-8168998 Incorrect implementation of equals in Encoding and Type in JavaSound
P4 JDK-8050852 Javadoc cleanup of javax.sound.midi package
P4 JDK-8043979 Javadoc cleanup of javax.sound.sampled package
P4 JDK-8042007 Javadoc cleanup of javax.sound.sampled.spi package
P4 JDK-7076354 JavaSoundAudioClip stop() Method sequencer.addMetaEventListener(this); wrong?
P4 JDK-7109623 javax/sound/sampled/DirectAudio/ failed
P4 JDK-8039901 jdk/src/share/classes/com/sun/media/sound/services/ appear not to be used
P4 JDK-8148916 Mark as intermittently failing
P4 JDK-8170139 still fails
P4 JDK-8167615 Opensource unit/regression tests for JavaSound
P4 JDK-8129511 PlatformMidi.c:83 uses malloc without malloc header
P4 JDK-8142898 Prefer isFile()/isDirectory() over exists() in SoftSynthesizer
P4 JDK-8147407 Provide support of WaveExtensible sound format
P4 JDK-8050465 Remove package
P4 JDK-8132782 RIFFReader does not support WAVE-Files greater than 2 GiB
P4 JDK-8072665 SoundLibraries.gmk and SoundDefs.h: remove isSigned8() dead code
P4 JDK-8167028 can be removed
P4 JDK-8146239 Support of PCM_FLOAT for the AU file format
P4 JDK-6574989 TEST_BUG: javax/sound/sampled/Clip/ fails sometimes
P4 JDK-7058700 Unexpected exceptions and timeouts in SF2 parser code
P4 JDK-7058697 Unexpected exceptions in MID parser code
P4 JDK-8083664 Update AudioFileWriter to generate working @see reference
P4 JDK-8178383 Validation of FileIO in the tests for JavaSound should be stricter
P5 JDK-8037117 Javadoc cleanup of javax.sound.midi.spi package
P5 JDK-8169332 The fix JDK-8083664 in AudioFileWriter can be reverted
P5 JDK-8156583 Typo in the spec of javax.sound.sampled.AudioFormat.Encoding.toString()


Priority Bug Summary
P1 JDK-8046239 Build failure in 9-client on all non-Windows platforms
P2 JDK-8051359 [headless] JPopupMenu creation in headless mode with JDK9b23 causes NPE
P2 JDK-8147602 [hidpi] two-display configuration: issues with mouse events when moving a Swing app to the 2nd display
P2 JDK-8166591 [macos 10.12] Trackpad scrolling of text on macOS 10.12 Sierra is very fast (Trackpad, Retina only)
P2 JDK-8178996 [macos] JComboBox doesn't display popup in mixed JavaFX Swing Application on 8u131 and Mac OS 10.12
P2 JDK-8176448 [macos] Popups in JCombobox and Choice have incorrect location in multiscreen systems
P2 JDK-8160879 [PIT] CloseOnMouseClickPropertyTest fails with AA hint:Nonantialiased rendering mode exception
P2 JDK-8098835 [PIT] Endless loop in JEditorPane
P2 JDK-8179665 [Windows] java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
P2 JDK-8136366 Add a public API to create a L&F without installation
P2 JDK-8055254 Address source incompatability of JSlider generification
P2 JDK-8057770 api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform
P2 JDK-8150225 api/javax_swing/text/AbstractWriter/index_indent failed
P2 JDK-8177625 apple.laf.JRSUIConstants.getConstantName(int) checks for THUMB_START twice
P2 JDK-8017284 Aqua LaF: memory leak when HTML is used for JTabbedPane tab titles
P2 JDK-8174845 Bad scaling on Windows with large fonts with Java 9ea
P2 JDK-8058305 BadLocationException is not thrown by javax.swing.text.View.getNextVisualPositionFrom() for invalid positions
P2 JDK-8176883 Enable antialiasing for Metal L&F icons on HiDPI display
P2 JDK-8149879 Examine UIDefaults::addResourceBundle(String bundleName) with resource encapsulation
P2 JDK-8046391 Hang displaying JFileChooser with Windows L&F
P2 JDK-8147440 HiDPI (Windows): Swing components have incorrect sizes after changing display resolution
P2 JDK-8028616 Htmleditorkit parser doesn't handle leading slash (/)
P2 JDK-8158694 IOOBE in DefaultRowSorter.convertRowIndexToModel
P2 JDK-8175301 Java GUI hangs on Windows when Display set to 125%
P2 JDK-8177450 javax.swing.text.html.parser.Parser parseScript ignores a character after comment end
P2 JDK-8057184 JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris run
P2 JDK-8179027 JComboBox too small under Windows LAF
P2 JDK-8055059 JDK9b22 public API exposes package private classes
P2 JDK-8061319 JDK9b28: no CCC for removing final modifier from javax.swing.event.SwingPropertyChangeSupport.isNotifyOnEDT
P2 JDK-8158734 JEditorPane.createEditorKitForContentType throws NPE after 6882559
P2 JDK-8154365 JFrame.setDefaultCloseOperation is prohibited in jtreg
P2 JDK-8058870 Mac: JFXPanel deadlocks in jnlp mode
P2 JDK-8144170 NEED_TEST to cover JDK-8029196
P2 JDK-8057819 No CCC approving removing final modifier from javax.swing.SwingUtilities.isRectangleContainingRectangle static method
P2 JDK-8158566 Provide a Swing property to not close toggle menu items on mouse click
P2 JDK-8164937 Remove code from SortingFocusTraversalPolicy that hacks into non-public Arrays.legacyMergeSort
P2 JDK-8059297 Test api/javax_swing/interactive/JInternalFrameTests.html#JInternalFrame [JInternalFrameTest0007] fails with MotifLookAndFeel
P2 JDK-8171074 Test api/javax_swing/UIManager/index.html\#Methods is failing
P2 JDK-8176177 The new SwingContainer annotation can be removed from javax.accessibility.AccessibleContext
P2 JDK-8159068 The rendering of JTable is broken
P2 JDK-8175293 Window size is not updated after setting location to display with different DPI
P3 JDK-8156121 "Fail forward" fails for GTK3 if no GTK2 available
P3 JDK-8149849 [hidpi] DnD issues (cannot DnD from JFileChooser to JEditorPane or other text component) when scale > 1
P3 JDK-8147600 [hidpi] invalid rendering of Swing UI controls (radiobuttons, choice etc.)
P3 JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/ fails
P3 JDK-8029455 [JLightweightFrame] support scaled painting
P3 JDK-8076164 [JTextField] When input too long Thai character, cursor's behavior is odd
P3 JDK-8168022 [macos] Double click and modifier clicks from external mouse not recognized on macOS Sierra
P3 JDK-8151303 [macosx] [hidpi] JButton's low-res. icon is visible when clicking on it
P3 JDK-8152677 [macosx] All files filter can't be selected in JFileChooser
P3 JDK-8148555 [macosx] An uncaught exception was raised entering Emoji into JTextArea
P3 JDK-8059943 [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance
P3 JDK-8032872 [macosx] Cannot select from JComboBox in a JWindow
P3 JDK-8068040 [macosx] Combo box consuming ENTER key events
P3 JDK-8076062 [macosx] Erratic behavior of JScrollPane in case of drag pause
P3 JDK-8038125 [macosx] Exception in thread "AppKit Thread" java.lang.NullPointerException
P3 JDK-8156182 [macosx] HiDPI/Retina icons do not work for disabled JButton/JMenuItem etc.
P3 JDK-8040291 [macosx] Http-Images are not fully loaded when using ImageIcon
P3 JDK-8147521 [macosx] Internal API Usage: setPopupType used to force creation of heavyweight popup
P3 JDK-8048506 [macosx] javax.swing.PopupFactory issue with null owner
P3 JDK-8016665 [macosx] JComponent behaviour doesn't comply API documentation (setComponentOrientation method), Aqua LAF
P3 JDK-8146321 [macosx] JInternalFrame frame icon in wrong position on Mac L&F if icon is not ImageIcon
P3 JDK-7124250 [macosx] JOptionPane dialogs show wrong icons
P3 JDK-8134917 [macosx] JOptionPane doesn't receive mouse events when opened from a drop event
P3 JDK-8147994 [macosx] JScrollPane jitters up/down during trackpad scrolling on MacOS/Aqua
P3 JDK-8133919 [macosx] JTable grid lines are incorrectly positioned on HiDPI display
P3 JDK-8072676 [macosx] Jtree icon painted over label when scrollbars present in window
P3 JDK-8072900 [macosx] Mouse events are captured by the wrong menu in OS X
P3 JDK-8058193 [macosx] Potential incomplete fix for JDK-8031485
P3 JDK-8158390 [macosx] Regression: javax/swing/JMenuItem/8139169/
P3 JDK-8037776 [macosx] Swing app fails to exit after last window is disposed when security manager is enabled
P3 JDK-8041894 [macosx] Test javax/swing/JSpinner/8008657/ failed on Mac
P3 JDK-8133108 [PIT] Container size is wrong in JEditorPane
P3 JDK-8159135 [PIT] javax/swing/JMenuItem/8152981/ always fail
P3 JDK-8163167 [PIT] javax/swing/JTextArea/ScrollbarFlicker/ always fail
P3 JDK-8132136 [PIT] RTL orientation in JEditorPane is broken
P3 JDK-8160977 [PIT] Typo in
P3 JDK-8064575 [TEST_BUG] javax/swing/JEditorPane/6917744/ 100 times press keys and never releases
P3 JDK-8064573 [TEST_BUG] javax/swing/text/AbstractDocument/6968363/ is asocial pressing VK_LEFT and not releasing.
P3 JDK-8081484 [TEST_BUG]Test javax/swing/plaf/basic/6866751/ fails
P3 JDK-8081411 Add an API for painting an icon with a SynthContext
P3 JDK-8134116 Add more comprehensive fix and regression test for JDK-8133897
P3 JDK-8075314 All the InternalFrames will be maximized after maximizing only one of the InternalFrame with the special options "-client -Xmixed".
P3 JDK-8154431 Allow source and target based validation for the focus transfer between two JComponents
P3 JDK-8078483 Apparent endless loop running JEditorPanePaintTest
P3 JDK-8042465 Applet menus not rendering when browser is full screen on Mac
P3 JDK-8074956 ArrayIndexOutOfBoundsException in javax.swing.text.html.parser.ContentModel.first()
P3 JDK-8032874 ArrayIndexOutOfBoundsException in JTable while clearing data in JTable
P3 JDK-8160986 Bad rendering of Swing UI controls with Metal L&F on HiDPI display
P3 JDK-8165485 Bad rendering of Swing UI controls with Motif L&F on HiDPI display
P3 JDK-8165594 Bad rendering of Swing UI controls with Windows Classic L&F on HiDPI display
P3 JDK-6424606 behavior of returned from MenuSelectionManager.defaultManager() object is inconsistent with spec
P3 JDK-8059995 Broken link in Package javax.swing.border
P3 JDK-8059993 Broken links in javax.swing
P3 JDK-8138881 Bug in
P3 JDK-8043705 Can't exit color chooser dialog when running as an applet
P3 JDK-8072448 Cannot input Japanese in JTextField on RedHat Linux
P3 JDK-7100952 closed/javax/swing/JComboBox/6246463/ deadlocks on MacOS
P3 JDK-8159152 Ctrl+F6, Ctrl+F5 doesn't work for iconified InternalFrame
P3 JDK-8030702 Deadlock between subclass of AbstractDocument and UndoManager
P3 JDK-8072767 DefaultCellEditor for comboBox creates ActionEvent with wrong source object
P3 JDK-6521727 DefaultTreeCellEditor doesn't implement Serializable
P3 JDK-8048702 Deprecate obsolete classes in javax/swing/plaf/metal/
P3 JDK-8153141 Develop initial set of tests for SwingSet
P3 JDK-8059739 Dragged and Dropped data is corrupted for two data types
P3 JDK-8032878 Editable combos in table do not behave as expected
P3 JDK-8158209 Editing in TableView breaks the layout, when the document is I18n
P3 JDK-8146301 Enter key does not work in a deserialized JFileChooser
P3 JDK-8167176 Exported elements referring to inaccessible types in java.desktop
P3 JDK-8013566 Failure of GroupLayout in combination of addPreferredGap and addGroup's
P3 JDK-8154043 Fields not reachable anymore by tab-key, because of new tabbing behaviour of radio button groups.
P3 JDK-8017487 filechooser in Windows-Libraries folder: columns are mixed up
P3 JDK-8075082 Fix missing doclint warnings in the javax.swing package
P3 JDK-8051617 Fullscreen mode is not working properly on Xorg
P3 JDK-8079640 GroupLayout incorrect layout with large JTextArea
P3 JDK-8153351 GTK Menu's have no border
P3 JDK-6260348 GTK+ L&F JTextComponent not respecting desktop caret blink rate
P3 JDK-8048289 Gtk: call to UIManager.getSystemLookAndFeelClassName() leads to crash
P3 JDK-8044189 HiDPI support is different on OS X than on Windows
P3 JDK-7070795 High contrast colour scheme fails to be applied to JFormattedTextField
P3 JDK-7104635 HTMLEditorKit fails to write down some html files
P3 JDK-8149355 IllegalArgumentException exception in awt - Comparison method violates its general contract!
P3 JDK-8147842 IME Composition Window is displayed at incorrect location
P3 JDK-6897701 In Nimbus Disabled Menus and Menu Items don't look disabled
P3 JDK-8158924 Incorrect i18n text document layout.
P3 JDK-8041642 Incorrect paint of JProgressBar in Nimbus LF
P3 JDK-8159587 IOOBE in javax/swing/JFileChooser/7199708/
P3 JDK-6866751 J2SE_Swing_Reg: the caret disappears when moving to the end of the line.
P3 JDK-8038657 javax.swing.BufferStrategyPaintManager has unused imports
P3 JDK-8078268 javax.swing.text.html.parser.Parser parseScript incorrectly optimized
P3 JDK-8130735 javax.swing.TimerQueue: timer fires late when another timer starts
P3 JDK-8065098 JColorChooser no longer supports drag and drop between two JVM instances
P3 JDK-8152419 JColorChooser throws Exception
P3 JDK-8057893 JComboBox actionListener never receives "comboBoxEdited" from getActionCommand
P3 JDK-7072653 JComboBox popup mispositioned if its height exceeds the screen height
P3 JDK-8136998 JComboBox prevents wheel mouse scrolling of JScrollPane
P3 JDK-8156185 JDK-8024858 (long tooltip delay) is not fixed but is easily fixed
P3 JDK-8022057 JFileChooser blocks EDT in Win32ShellFolder2.getIcon
P3 JDK-8003399 JFileChooser gives wrong path to selected file when saving to Libraries folder on Windows 7
P3 JDK-8041694 JFileChooser removes trailing spaces in the selected directory name
P3 JDK-8154594 JFrame.setDefaultCloseOperation is prohibited in jtreg: Missing part of the fix
P3 JDK-8062525 JInternalFrame can't show correctly with the specical option "-esa -ea -Xcheck:jni".
P3 JDK-8129940 JRadioButton does not honor non-standard FocusTraversalKeys
P3 JDK-8040328 JSlider has wrong preferred size with Synth LAF
P3 JDK-8162856 JSlider thumb is twice smaller on HiDPI display
P3 JDK-8008657 JSpinner setComponentOrientation doesn't affect on text orientation
P3 JDK-8078269 JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works
P3 JDK-4473075 JTable header rendering problem (after setting preferred size)
P3 JDK-8140748 JTable sorted tablechanged ArrayIndexOutOfBoundsException for clearSelectionAndL
P3 JDK-8001470 JTextField's size is computed incorrectly when it contains Indic or Thai characters
P3 JDK-8152968 JTree Collapse Buttons Clipped Off Under GTK
P3 JDK-8129830 JTree drag/drop on lower half of last child of container incorrect
P3 JDK-8164032 JViewport backing store image is not scaled on HiDPI display
P3 JDK-8152159 LabelUI is not updated for TitledBorder
P3 JDK-8160448 Make GTK3 menus appearence similar to native.
P3 JDK-8161664 Memory leak in removed progress bar still referenced
P3 JDK-8158325 Memory leak in removed JMenuItems are still referenced
P3 JDK-8030099 Memory usage of java process increases after pressing start button in test window
P3 JDK-8173145 Menu is activated after using mnemonic Alt/Key combination
P3 JDK-8163193 Metal L&F gradient is lighter on HiDPI display after the fix JDK-8143064
P3 JDK-6921687 Mnemonic disappears after repeated attempts to open menu items using mnemonics
P3 JDK-8033069 mouse wheel scroll closes combobox popup
P3 JDK-7190544 Nimbus LaF: regression UnitTest failure
P3 JDK-7190578 Nimbus: css test for 4936917 fails
P3 JDK-7190572 Nimbus: hard to understand but consistent failure of HTMLEditorKit test
P3 JDK-7190596 Nimbus: preferred sizes of components not less than that of tabbed pane
P3 JDK-7190602 Nimbus: regtest fails looking for some properties, are they mandatory?
P3 JDK-7190595 Nimbus: Test6657026 fails
P3 JDK-8132791 No access to SynthContext.getContext()
P3 JDK-8181436 No CCC for deprecated protected inner classes in MetalFileChooserUI
P3 JDK-8133926 No frame icon for InternalFrame in Windows LaF
P3 JDK-8033000 No Horizontal Mouse Wheel Support In BasicScrollPaneUI
P3 JDK-8079764 No indication in the progress bar to differentiate 0 and 1 in Nimbus and Windows L&F
P3 JDK-8080628 No mnemonics on Open and Save buttons in JFileChooser
P3 JDK-8046559 NPE when changing Windows theme
P3 JDK-6219960 null reference in ToolTipManager
P3 JDK-8166683 On macOS (Mac OS X) getting a ScreenMenuBar when not running ""
P3 JDK-8041654 OutOfMemoryError: RepaintManager doesn't clean up cache of volatile images
P3 JDK-8009477 PageUp and PageDown keyboard buttons don't move slider indicator to next minor tick
P3 JDK-8163175 PlainView.modelToView() method should return Rectangle2D
P3 JDK-8132119 Provide public API for text related methods in SwingUtilities2
P3 JDK-8034221 Regression test javax/swing/JComboBox/8015300/ often fails
P3 JDK-8160246 Regression: 4410243 reproducible with GTK LaF
P3 JDK-6894632 Removing rows from a DefaultTableModel with a RowSorter deselectes last row
P3 JDK-8031109 Rendering HTML code in JEditorPane throws NumberFormatException
P3 JDK-8162350 RepaintManager shifts repainted region when the floating point UI scale is used
P3 JDK-8038919 Requesting focus to a modeless dialog doesn't work on Safari
P3 JDK-8149631 rgb(...) CSS color values are not parsed properly
P3 JDK-8139215 RTFEditorKit does not save alignment
P3 JDK-8016451 Scary messages emitted by during build
P3 JDK-7170310 ScrollBar doesn't become active when tabs are created more than frame size
P3 JDK-8134828 Scrollbar thumb disappears with Nimbus L&F
P3 JDK-8057791 Selection in JList is drawn with wrong colors in Nimbus L&F
P3 JDK-8044371 setOneTouchExpandable functionality of JSplitPane will reduce vertical Scrollbar
P3 JDK-8166897 Some font overlap in the Optionpane dialog.
P3 JDK-8067441 Some tests fails with error: cannot find symbol getSystemMnemonicKeyCodes()
P3 JDK-8048887 SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method
P3 JDK-8133803 Swing JFileChooserBug2 test fais with MotifLookAndFeel
P3 JDK-8067346 Swing submenu has a changed starting offset
P3 JDK-8154706 SwingSet Sanity tests prepareBundle task doesn't produce working bundle
P3 JDK-8154381 SwingSet tests are not auto closed in jtreg
P3 JDK-8064939 SwingSet2: Themes are incorrectly enabled when running with Nimbus Look and feel
P3 JDK-8020039 SynthTableHeaderUI refers to possibly null parameter in cell renderer
P3 JDK-8074883 Tab key should move to focused button in a button group
P3 JDK-8032568 Test javax/swing/JInternalFrame/8020708/ fails on Windows virtual hosts
P3 JDK-8130892 Test javax/swing/plaf/basic/BasicTextUI/8001470/ fails in Solaris Sparcv9
P3 JDK-8079253 Test javax/swing/SwingUtilities/TestBadBreak/ fails.Part of this bug is related to frame size bug JDK-8073710.Test case can be fully tested once frame size issue is resolved
P3 JDK-8130895 Test javax/swing/system/6799345/ fails on Solaris11 Sparcv9
P3 JDK-8139227 Text fields in JPopupMenu structure do not receive focus in hosted Applets
P3 JDK-8076312 The behavior of the javax.swing.SwingContainer.delegate contradicts spec
P3 JDK-8025082 The behaviour of the highlight will be lost after clicking the set button
P3 JDK-8141544 The interface sun.swing.UIClientPropertyKey can be made public
P3 JDK-8168135 The issue JDK-8164462 seems not fixed in b140
P3 JDK-8044444 The output's 'Page-n' footer does not show completely.
P3 JDK-8170349 The printed content is beyond the borders.
P3 JDK-8041917 unexcepted behavior of LineBorder while using Boolean variable true
P3 JDK-8042835 Unexpected mnemonic in JFileChooser
P3 JDK-8019180 Use JComboBox as it's own ActionListener leads to unexpected behaviour
P3 JDK-8048110 Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow
P3 JDK-6490753 Vista:JComboBox doesn't looks as native combobox in different states of component.
P3 JDK-8152647 Win L&F: TitledBorder colors are not from desktop
P3 JDK-8078614 WindowsClassicLookAndFeel : MetalComboBoxUI.getbaseLine fails with IllegalArgumentException
P3 JDK-7172652 With JDK 1.7 text field does not obtain focus when using mnemonic Alt/Key combin
P3 JDK-8169719 WrappedPlainView.modelToView() should return Rectangle2D
P3 JDK-8133864 Wrong display, when the document I18n properties is true.
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
P4 JDK-8033233 [JLightweightFrame] support default JViewport BLIT_SCROLL_MODE
P4 JDK-8139169 [macosx] Action registered for keyboard shortcut is called twice
P4 JDK-7124238 [macosx] Font in BasicHTML document is bigger than it should be
P4 JDK-8137169 [macosx] Incorrect minimal heigh of JTabbedPane with more tabs
P4 JDK-8015085 [macosx] Label shortening via " ... " broken when String contains combining diaeresis
P4 JDK-8139213 [macosx] Mac OS X Aqua Look and Feel: JOptionPane can truncate the first button.
P4 JDK-8031696 [macosx] TwentyThousandTest test failed with OOM
P4 JDK-8017187 [TEST BUG] [macosx] After click "test",the case failed automatically with thrown exception in the log since jdk8b75
P4 JDK-7195187 [TEST_BUG] [macosx] javax/swing/SwingUtilities/7088744/ failed
P4 JDK-7124290 [TEST_BUG] [macosx] JComboBox.getSelectedIndex() returns wrong value
P4 JDK-7124218 [TEST_BUG] [macosx] Space should select cell in the JTable
P4 JDK-8025430 [TEST_BUG] closed/javax/swing/JEditorPane/5076514/ failed since jdk8b108
P4 JDK-8064809 [TEST_BUG] javax/swing/JComboBox/4199622/ contains a lot of keyPress and not a single keyRelease
P4 JDK-8057775 [Test_bug] Test javax/swing/JSlider/6794836/ fails with Compilation error
P4 JDK-8032229 [TEST_BUG] The app failed automatically and it threw exception:java.lang.UnsupportedOperationException.
P4 JDK-8039966 Add @return and @param block tags in colorchooser and filechooser swing classes
P4 JDK-8032627 Add @SuppressWarnings("serial") to appropriate javax.swing classes
P4 JDK-8040893 Add block tags for @return and @param to swing border classes
P4 JDK-8042284 Add block tags for @return and @param to swing plaf classes
P4 JDK-8046485 Add missing @since tag under javax.swing.*
P4 JDK-4339584 Adding a getUI public method to JComponent
P4 JDK-6302464 Allow programmatic enabling of subpixel anti-aliasing in Swing on ANY platform
P4 JDK-6573305 Animated icon is not visible by click on menu
P4 JDK-8044301 BasicTreeUI: "revisit when Java2D is ready"
P4 JDK-8181877 Cleanup of javadoc in javax.accessibility package
P4 JDK-6827800 Default button is activated even when it is invisible
P4 JDK-8152981 Double icons with JMenuItem setHorizontalTextPosition on Win 10
P4 JDK-4849595 Erroneous javadoc for TableColumn.addPropertyChangeListener
P4 JDK-8173094 Error in API documentation for SwingWorker
P4 JDK-8181401 Error in Javadoc for JTabbedPane getAccessibleName()
P4 JDK-6515713 example in JFormattedTextField API docs instantiates abstract class
P4 JDK-7067885 FileChooser does not display soft link name if link is to nonexistent file/directory
P4 JDK-8046595 fix doclint issues in swing classes, part 2 of 4
P4 JDK-8046596 fix doclint issues in swing classes, part 3 of 4
P4 JDK-8040901 fix doclint missing block tag issues in swing event classes
P4 JDK-8050924 Fix doclint missing tag warnings in javax.swing.plaf.basic parts 5b,6b of 7
P4 JDK-8046445 Fix doclint warnings for javax.swing.plaf.multi
P4 JDK-8043968 Fix doclint warnings from javax.swing.plaf.basic package, 1 of 7
P4 JDK-8049704 Fix doclint warnings from javax.swing.plaf.basic package, 2 of 7
P4 JDK-8049808 Fix doclint warnings from javax.swing.plaf.basic package, 3 of 7
P4 JDK-8049870 Fix doclint warnings from javax.swing.plaf.basic package, 4 of 7
P4 JDK-8050009 Fix doclint warnings from javax.swing.plaf.basic package, 7 of 7
P4 JDK-8046434 Fix doclint warnings from javax.swing.plaf.metal package
P4 JDK-8042120 Fix doclint warnings from javax.swing.text.html.parser
P4 JDK-8042089 Fix doclint warnings from javax.swing.tree and javax.swing.undo packages
P4 JDK-8046446 Fix doclint warnings in javax.swing.text.html package
P4 JDK-8046895 Fix doclint warnings in javax.swing.text.html.parser package
P4 JDK-8039860 Fix fallthrough lint warnings in swing
P4 JDK-8044698 Fix finally lint warnings in javax.swing
P4 JDK-8076422 Fix missing doclint warnings in javax.swing.border
P4 JDK-8076624 Fix missing doclint warnings in javax.swing.text
P4 JDK-8076286 Fix missing doclint warnings in javax.swing.{colorchooser, event, filechooser}
P4 JDK-8076520 Fix missing doclint warnings in javax.swing.{table, tree, undo, plaf.{metal, nimbus, synth}}
P4 JDK-8077094 Fix missing doclint warnings in the javax.swing.plaf package
P4 JDK-8077095 Fix missing doclint warnings in the javax.swing.plaf.basic package
P4 JDK-8046271 Fix overrides lint warnings in Apple laf code
P4 JDK-8047027 Fix raw and unchecked lint warnings in generated beaninfo files
P4 JDK-8047025 Fix raw and unchecked lint warnings in generated nimbus files
P4 JDK-8043550 Fix raw and unchecked lint warnings in javax.swing.*
P4 JDK-8043548 Fix raw and unchecked lint warnings in javax.swing.plaf.*
P4 JDK-8049797 Fix raw and unchecked lint warnings in javax.swing.SortingFocusTraversalPolicy
P4 JDK-8043549 Fix raw and unchecked lint warnings in javax.swing.text.*
P4 JDK-8033525 Fix raw and unchecked lint warnings in sun.swing.*
P4 JDK-8042849 Fix raw and unchecked warnings in
P4 JDK-8033908 Fix serial lint warnings in
P4 JDK-8034169 Fix serial lint warnings in javax.swing
P4 JDK-8033221 Fix serial lint warnings in sun.swing.*
P4 JDK-8042105 Fix some more doclint issues in javax.swing.text.html classes
P4 JDK-8151288 Generation of property files for gtk l&f can be skipped on win/osx
P4 JDK-7052708 Grammar error in EditorKit documentation
P4 JDK-8041561 Inconsistent opacity behaviour between JCheckBox and JRadioButton
P4 JDK-6612752 Incorrect getOpenIcon() instanceof in the DefaultTreeCellRenderer
P4 JDK-8071705 Java application menu misbehaves when running multiple screen stacked vertically
P4 JDK-8181894 java.desktop module documentation has links to technotes
P4 JDK-8044394 javadoc for BasicOptionPaneUI.addMessageComponents() has typo and grammar errors
P4 JDK-8013820 JavaDoc for JSpinner contains errors
P4 JDK-8049069 JButton incorrect behaviour on button release
P4 JDK-8041470 JButtons stay pressed after they have lost focus if you use the mouse wheel
P4 JDK-8051548 JColorChooser should have a way to disable transparency controls
P4 JDK-6567433 JComponent.updateUI() may create StackOverflowError
P4 JDK-7012008 JDesktopPane - Wrong background color with Win7+WindowsLnf
P4 JDK-6459798 JDesktopPane,JFileChooser violate encapsulation by returning internal Dimensions
P4 JDK-8146319 JEditorPane function setPage leaves a file lock
P4 JDK-8067660 JFileChooser create new folder fails silently
P4 JDK-8029536 JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf
P4 JDK-8073420 JFrame.EXIT_ON_CLOSE can be removed in favour of WindowConstants.EXIT_ON_CLOSE
P4 JDK-8145896 JInternalFrame setMaximum before adding to desktop throws null pointer exception
P4 JDK-7169583 JInternalFrame title not antialiased in Nimbus LaF
P4 JDK-7126823 JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify
P4 JDK-6288609 JInternalFrame.setDefaultCloseOperation() interferes with "close" behavior
P4 JDK-4769772 JInternalFrame.setIcon(true) before JDesktopPane.add(JIF) causes wrong state
P4 JDK-6206439 JInternalFrame.setLayer(Integer layer) should throw NullPointerException when layer=null
P4 JDK-6949414 JMenu.buildMenuElementArray() endless loop
P4 JDK-8073795 JMenuBar looks bad under retina
P4 JDK-5036022 JSpinner does not reflect new font on subsequent calls to setFont
P4 JDK-8152982 JTable icon print problem
P4 JDK-8162970 Merge error in the
P4 JDK-8145060 Minimizing a JInternal frame not shifting focus to frame below it
P4 JDK-8052408 Move AWT_BAT functional tests to OpenJDK (3 of 3)
P4 JDK-8135176 Moving test from javax/swing/plaf/basic/BasicHTML/4960629 to test/javax/swing/plaf/basic/BasicHTML/4960629
P4 JDK-8054371 Need to suppress newly added unchecked cast and conversion in Swing code
P4 JDK-6882559 new JEditorPane("text/plain","") fails for null context class loader
P4 JDK-7172750 Nimbus ScrollBar:ScrollBarThumb[Pressed].backgroundPainter is never invoked
P4 JDK-7180976 Pending String deadlocks UIDefaults
P4 JDK-8065861 Pressing Esc does not set 'canceled' property of ProgressMonitor
P4 JDK-8133039 Provide public API to sun.swing.UIAction#isEnabled(Object)
P4 JDK-8054360 Refine generification of javax.swing
P4 JDK-8146276 Right aligned ToolBar component does not appear
P4 JDK-8068374 setAlignmentX, setAlignmentY, getAlignmentX, getAlignmentY javadoc of JComponent
P4 JDK-6459800 Some Swing classes violate encapsulation by returning internal Insets
P4 JDK-8181640 Spelling mistake in javadoc: javax.swing.JEditorPane.scrollToReference(String)
P4 JDK-8169518 Suppress Deprecation warnings for deprecated Swing APIs
P4 JDK-7096375 Swing ignores first click after decreasing system's time
P4 JDK-6470361 Swing's Threading Policy example does not compile
P4 JDK-8049533 SwingUtilities.convertMouseEvent misses MouseWheelEvent.preciseWheelRotation
P4 JDK-8039074 Tidy warnings cleanup for javax.swing
P4 JDK-8062946 Transparent JDialog will lose transparency upon iconify/deiconify sequence.
P4 JDK-8041909 Uncaught exceptions in JComboBox listeners cause listener not to receive events
P4 JDK-8175266 Use instead of package.html within swing packages
P4 JDK-6421058 When calls JSpinner.setEditor() the font in a JSpinner become is a bold
P4 JDK-5109918 Wrong documentation for JSpinner.DateEditor constructor
P4 JDK-8061592 wrong javadoc parameters for firePropertyChange()
P4 JDK-4796987 XP Only: JButton.setBorderPainted() does not work with XP L&F
P5 JDK-6521706 A switch operator in JFrame.processWindowEvent() should be rewritten
P5 JDK-8066142 closed/javax/swing/JComboBox/4212498/ the value in the text field and then press the tab key, the number don't increase
P5 JDK-6832045 DefaultSynthStyle.{getStateInfo,getMatchCount) should use Integer.bitCount
P5 JDK-6329748 Invalid/old variable name - newModel in setModel method in JTable class
P5 JDK-6338077 link back to self in javadoc JTextArea.replaceRange()
P5 JDK-6368321 MetalRootPaneUI calls to deprecated code
P5 JDK-6302052 Reference to nonexistant Class in javadoc
P5 JDK-6475394 Spelling mistake in doc for ComponentUI.getBaselineResizeBehaviour
P5 JDK-6206437 Typo in JInternalFrame setDefaultCloseOperation() doc (WindowClosing --> internalFrameClosing)
P5 JDK-6646604 Typos in documentation
P5 JDK-6521783 Unnecessary final modifier for a method in a final class


Priority Bug Summary
P1 JDK-8076112 Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
P1 JDK-8032056 Create demo to illustrate new practices of the default methods usage
P1 JDK-8183161 Fix font-family style attributes in module declarations
P1 JDK-8182776 Fix typos in module declarations
P1 JDK-8164394 JDK build fails after 8161965
P1 JDK-8183251 Meta "keywords" tag malformed in overview-summary.html and related pages
P1 JDK-8146660 Resolve merge issue in resulting from sun.misc.VM move to jdk.internal.misc
P1 JDK-8031708 Windows x86 build failure: JNU_ThrowOutOfMemoryError undefined
P2 JDK-8130344 'assert(handle != __null) failed: JNI handle should not be null' in jni_GetLongArrayElements
P2 JDK-8171377 Add sun.misc.Unsafe::invokeCleaner
P2 JDK-8181292 Backport Rename internal methods from 10 to 9
P2 JDK-8136656 Check in
P2 JDK-8182416 Clean up like move requires transitive adjacent to exports
P2 JDK-8137058 Clear out all non-Critical APIs from sun.reflect and move to jdk.unsupported
P2 JDK-8053938 Collections.checkedList(empty list).replaceAll((UnaryOperator)null) doesn't throw NPE after JDK-8047795
P2 JDK-8136583 Core libraries should use blessed modifier order
P2 JDK-8044533 Deoptimizing negation produces wrong result for zero
P2 JDK-8181442 Deprecate sun.misc.Unsafe.defineClass
P2 JDK-8171201 Drop java.compact$N aggregator modules
P2 JDK-8138978 Examine usages of sun.misc.IOUtils
P2 JDK-8166189 Fix for Bug 8165524 breaks AIX build
P2 JDK-8134941 Implement ES6 template literal support
P2 JDK-8151571 InnocuousThread cannot be created during early startup
P2 JDK-8164389 jdk.nio.zipfs.JarFileSystem does not completely traverse the versioned entries in a multi-release jar file
P2 JDK-8141571 jdk/internal/jimage/ crashing in msvcr120.dll
P2 JDK-8178286 Missing @moduleGraph in javadoc
P2 JDK-8140687 Move @Contended to the jdk.internal.vm.annotation package
P2 JDK-8137056 Move SharedSecrets and interface friends out of sun.misc
P2 JDK-8145990 Move sun.misc math support classes to jdk.internal.math
P2 JDK-8148117 Move sun.misc.Cleaner to jdk.internal.ref
P2 JDK-8145416 Move sun.misc.ProxyGenerator to jdk.internal.reflect
P2 JDK-8150162 Move sun.misc.Version to a truly internal package
P2 JDK-8145544 Move sun.misc.VM to jdk.internal.misc
P2 JDK-8144479 Remove character coders from sun.misc
P2 JDK-8147543 Remove sun.misc.ManagedLocalsThread
P2 JDK-8145390 Remove sun.misc.Queue and replace usages with standard Collections
P2 JDK-8080007 Stop ignoring warnings for libjava
P2 JDK-8151778 fails after push of JDK-8150782
P2 JDK-8153737 Unsupported Module
P2 JDK-8153654 Update jdeps to be multi-release jar aware
P2 JDK-8140606 Update library code to use internal Unsafe
P2 JDK-8151542 URL resources for multi-release jar files have a #runtime fragment appended to them
P2 JDK-8139390 Very long classname in jimage causes SIGSEGV
P3 JDK-8037012 (tz) Support tzdata2014a
P3 JDK-8038306 (tz) Support tzdata2014b
P3 JDK-8098547 (tz) Support tzdata2015e
P3 JDK-8133321 (tz) Support tzdata2015f
P3 JDK-8138716 (tz) Support tzdata2015g
P3 JDK-8176563 @since value errors in apis of java.base/java.logging module
P3 JDK-8176566 @since value errors in types of java.base module
P3 JDK-8055852 Add test/java/lang/Math/ and
P3 JDK-8149611 Add tests for Unsafe.copySwapMemory
P3 JDK-8136556 Add the ability to perform static builds of MacOSX x64 binaries
P3 JDK-8129597 Add tier 3 test definitions to the JDK 9 forest
P3 JDK-8181639 Add tool and services information to module summary
P3 JDK-8135248 Add utility methods to check indexes and ranges
P3 JDK-8136690 AIX: libjimage should be linked with the C++ compiler
P3 JDK-8067366 Allow java.{endorsed,ext}.dirs property be set to empty string
P3 JDK-8065998 Avoid use of _ as a one-character identifier
P3 JDK-8180176 Broken javadoc links in java.logging and java.naming
P3 JDK-8149159 Clean up Unsafe
P3 JDK-8146038 CleanerImpl should not depend on ManagedLocalsThread
P3 JDK-8141370 com/sun/jndi/ldap/ failed intermittently
P3 JDK-8044534 Constant folding for unary + should produce int for boolean literals
P3 JDK-8035807 Convert use of sun.misc.BASE64Encoder/Decoder with java.util.Base64
P3 JDK-8161718 Copyright/License updates to corba, jdk
P3 JDK-8075565 Define @intermittent jtreg keyword and mark intermittently failuring jdk tests
P3 JDK-8035808 Eliminate dependency to GetPropertyAction and other convenient classes
P3 JDK-8038177 Eliminate unnecessary dependency to
P3 JDK-8146484 Examine sun.misc.MessageUtils
P3 JDK-8149656 Examine usages of sun.misc.LRUCache
P3 JDK-8163126 Fix @modules in some of jdk/* tests
P3 JDK-8174860 Fix bad javadoc link in
P3 JDK-8149391 Fix module dependences in java/util tests
P3 JDK-8066504 GetVersionEx in java.base/windows/native/libjava/java_props_md.c might not get correct Windows version
P3 JDK-8181156 html5 doclint issues in java.base javadoc
P3 JDK-8151832 Improve exception messages in exception thrown by new JDK 9 code
P3 JDK-8151384 Improve String.CASE_INSENSITIVE_ORDER and remove sun.misc.ASCIICaseInsensitiveComparator
P3 JDK-8080679 Include jline in JDK for Java and JavaScript REPLs
P3 JDK-8038451 Incorrect initialization order of static fields in sun.nio.cs.ext.JISAutoDetect$Decoder
P3 JDK-8181290 Invalid HTML 5 in core-libs docs
P3 JDK-8164585 JarFile::isMultiRelease does not return true in all cases where it should return true
P3 JDK-8165723 JarFile::isMultiRelease() method returns false when it should return true
P3 JDK-8150163 JarFileSystem support for MRJARs should use the JDK specific Version API
P3 JDK-8133528 java/lang/ProcessHandle/ fails intermittently (windows cygwin)
P3 JDK-8132735 java/lang/ProcessHandle/TreeTest failed with java.lang.AssertionError: Start with zero children
P3 JDK-8149735 java/util/Currency/ fails with
P3 JDK-8154277 JavaDoc warnings in and
P3 JDK-8157716 jdk.internal.loader.ClassLoaders.addURLToUCP() should return converted real path URL
P3 JDK-8146718 jdk/internal/jimage tests listed in both tier 1 and tier 2
P3 JDK-8131913 jdk/internal/jline/console/ can't run in the background
P3 JDK-8143317 jdk/lambda/vm/ fails with IncompatibleClassChangeError
P3 JDK-8043814 JEP 259: Stack-Walking API
P3 JDK-8080678 jjs should use jline
P3 JDK-8157154 jmod jlink properties file need copyright header
P3 JDK-8043608 Make equality tests inline better
P3 JDK-8078334 Mark regression tests using randomness
P3 JDK-8058117 Missing jdk.deploy.osx from modules.xml
P3 JDK-8146736 Move sun.misc performance counters to jdk.internal.perf
P3 JDK-8144995 Move sun.misc.HexDumpEncoder to
P3 JDK-8149653 Move sun.misc.InnocuousThread to jdk.internal.misc
P3 JDK-8146735 Move sun.misc.PerformanceLogger to sun.awt.util
P3 JDK-8149122 Move sun.misc.URLClassPath and Resource to an internal package
P3 JDK-8153181 Move sun.misc.VMSupport to an internal package
P3 JDK-8067377 My hobby: caning, then then canning, the the can-can
P3 JDK-8081771 ProcessTool.createJavaProcessBuilder() needs new addTestVmAndJavaOptions argument
P3 JDK-8168980 Reinstate sun.reflect.ReflectionFactory.newConstructorForSerialization(Class,Constructor)
P3 JDK-8075670 Remove intermittent keyword from some tests
P3 JDK-8147922 Remove sun.misc.ClassFileTransformer
P3 JDK-8146000 Remove sun.misc.CompoundEnumeration
P3 JDK-8139307 Remove sun.misc.ConditionLock and Lock
P3 JDK-8146774 Remove sun.misc.JarFilter
P3 JDK-8145214 Remove sun.misc.Request and RequestProcessor
P3 JDK-8153118 Remove sun.misc.resources
P3 JDK-8145082 Remove sun.misc.Unsafe dependency from sun.nio.cs.StringUTF16
P3 JDK-8144480 Remove test dependencies on sun.misc.BASE64Encoder and BASE64Decoder
P3 JDK-8050051 Remove unneeded/obsolete -source/-target options in shell tests
P3 JDK-8146771 Remove unused CEFormatException and CEStreamExhausted from sun.misc
P3 JDK-8171202 Rename jdk.crypto.pkcs11 and jdk.pack200 to end with Java letters
P3 JDK-8151140 Replace use of lambda/method ref in jdk.Version constructor
P3 JDK-8074818 Resolve disabled warnings for libjava
P3 JDK-8074819 Resolve disabled warnings for libzip
P3 JDK-8061957 Some arithmetic operations have unnecessary widening
P3 JDK-8175131 sun.rmi.transport.tcp.TCPChannel.createConnection close connection on timeout
P3 JDK-8056909 test/sun/reflect/CallerSensitive/ fails with OOME
P3 JDK-8132475 The commands in the modular images are executable by the owner only (once again)
P3 JDK-8079759 To add support in JVM to use system zlib or alternative implementations of zlib.
P3 JDK-8146105 Undo accidential changes to sun/security/ssl/
P3 JDK-8151233 Unify CopySwap and CopyMemory tests
P3 JDK-8078467 Update core libraries to use diamond with anonymous classes
P3 JDK-8153647 Update javah to be multi-release jar aware
P3 JDK-8153649 Update schemagen to be multi-release jar aware
P3 JDK-8181148 Update the jdeps build tool to list exported packages instead of just internal APIs
P3 JDK-8150921 Update Unsafe getters/setters to use double-register variants
P3 JDK-8153651 Update wsgen to be multi-release jar aware
P4 JDK-8137173 @HotSpotIntrinsicCandidate is not Oracle-specific
P4 JDK-8166801 [s390] Add jvm.cfg file for Linux/s390x
P4 JDK-8181867 [tests] Reorganize EchoHandlers
P4 JDK-8132478 [tidy] three new warnings from java docs (, javax.annotation)
P4 JDK-8078245 aarch64 fails to build from source
P4 JDK-8149529 Adapt SAP copyrights to new company name in jdk repository
P4 JDK-8150840 Add an internal system property to control the default level of System.Logger when java.logging is not present.
P4 JDK-8164515 Add back javadoc module description for
P4 JDK-8136496 Add Connection.beginRequest/endRequest
P4 JDK-8139056 Add Convenience methods to improve usablility
P4 JDK-8166296 add documentation for Date,RegExp,Error,JSON objects
P4 JDK-8164618 add documentation for NativeNumber and NativeBoolean
P4 JDK-8135271 Add missing "-client IGNORE" to jvm.cfg file for ppc64
P4 JDK-8134569 Add tests for prototype callsites
P4 JDK-8141290 AIX: fix build after '8140661: Rename LDFLAGS_SUFFIX to LIBS'
P4 JDK-8132374 AIX: fix value of os.version property
P4 JDK-8046201 Avoid repeated flattening of nested ConsStrings
P4 JDK-8031737 CHECK_NULL and CHECK_EXCEPTION macros cleanup
P4 JDK-8058550 Clarify that TimerTasks are not reusable
P4 JDK-8030010 cleanup native code warnings
P4 JDK-8044461 Cleanup new Boolean and single character strings
P4 JDK-8044740 Convert all JDK versions used in @since tag to 1.n[.n] in jdk repo
P4 JDK-8081027 Create a common test to check adequacy of initial size of static HashMap/ArrayList fields
P4 JDK-8161965 Create initial javadoc description for modules
P4 JDK-8131314 Design Tasks
P4 JDK-8044392 Development Tasks
P4 JDK-8132468 docs: replace tags (obsolete in html5) for, java.lang, java.math
P4 JDK-8153370 Drop use of old style -XaddExports from tests
P4 JDK-8081674 EmptyStackException at startup if running with extended or unsupported charset
P4 JDK-8164982 Fix legal notices in java/lang, java/net, java/util tests.
P4 JDK-8170663 Fix minor issues in corelib and servicabilty coding.
P4 JDK-8042872 Fix raw and unchecked warnings in sun.applet
P4 JDK-8130247 Fix some new tidy warnings from jaxws and CORBA
P4 JDK-8054050 Fix stay raw and unchecked lint warnings in core libs
P4 JDK-8075284 fix up miscellaneous TM constructions
P4 JDK-8130315 Fix wrong prototype of GrowKnownVMs() in java.c
P4 JDK-8140649 imageFile should use delete[] with new[]
P4 JDK-8134939 Improve toString method of Dynalink DynamicMethod objects
P4 JDK-8136506 Include as a property that can be queried by jtreg
P4 JDK-8075283 incorrect SecurityException spec for Unsafe.getUnsafe
P4 JDK-8145212 ISO-8859-1 isn't properly handled as 'fastEncoding' in jni_util.c
P4 JDK-8151481 j.u.regex.Pattern cleanup
P4 JDK-8071959 java.lang.Object uses implicit default constructor
P4 JDK-8056285 java/util/logging/ java.lang.RuntimeException: Test failed: should have been able to create FileHandler for %t/writable-dir/log.log in writable directory.
P4 JDK-8068580 JavaAdapterFactory.isAutoConvertibleFromFunction should be more robust
P4 JDK-8141662 Javadoc fix. Do not suggest to use new Boolean(true).
P4 JDK-8144355 JDK 9 changes to ZipFileSystem to support multi-release jar files
P4 JDK-8132734 JDK 9 runtime changes to java.util.jar to support multi-release jar files
P4 JDK-8176187 jdk/internal/misc/JavaLangAccess/ is not run
P4 JDK-8146249 libjimage should use delete[] with new[]
P4 JDK-8030875 Macros for checking and returning on exceptions
P4 JDK-8164547 Make java.lang.reflect.ClassLoaderValue public for internal use
P4 JDK-8137232 Mark 3 more core-libs tests as intermittently failing
P4 JDK-8179448 Mark as failing intermittently
P4 JDK-8149003 Mark more jdk_core tests as intermittently failing
P4 JDK-8176337 Mark several tests as intermittently failing
P4 JDK-8074577 Modernize Unsafe internal javadoc
P4 JDK-8153286 Move sun.misc.GC to java.rmi ( sun.rmi.transport )
P4 JDK-8152190 Move sun.misc.JarIndex and InvalidJarIndexException to an internal package
P4 JDK-8041485 Need to update test/TEST.groups for the relocation of zipfs
P4 JDK-8044816 On-demand compiled top-level program doesn't need :createProgramFunction
P4 JDK-8176865 overridden api has a wrong since value in java.base module
P4 JDK-8033154 PPC64: Fix AIX build after integration into jdk9/dev
P4 JDK-8161074 Quarantine jdk/vm/ci/hotspot/test/ in JDK9-dev
P4 JDK-8139282 Remove @author and @id tags from Dynalink JavaDoc
P4 JDK-8149920 Remove intermittent key from jdk_core tests
P4 JDK-8031721 remove invalid test entry from TEST.groups
P4 JDK-8157825 Remove JDK 9 specific methods from sun.misc.Unsafe
P4 JDK-8155156 Remove remaining sun.misc.* imports from the jdk repo
P4 JDK-8034853 Remove sun.misc.ClassLoaderUtil
P4 JDK-8037781 Remove sun.misc.Regexp* classes
P4 JDK-8034776 Remove sun.misc.Service
P4 JDK-8154919 Remove superfluous jdk.unsupported from tools/launcher/modules/limitmods/
P4 JDK-8076039 Remove the unused internal API sun.reflect.misc.FieldUtil.getDeclaredFields
P4 JDK-8031651 Remove unneeded -source and -target flags in jdk repo regression tests
P4 JDK-8047954 Remove unneeded/obsolete -source/-target options in closed jdk tests
P4 JDK-8034175 Remove use of UseVMInterruptibleIO from tests
P4 JDK-8055723 Replace concat String to append in StringBuilder parameters
P4 JDK-8135250 Replace custom crypto check/range functionality with check index/range methods in java.util.Objects
P4 JDK-8073479 Replace obj.getClass hacks with Objects.requireNonNull
P4 JDK-8080901 Replace package.html files with in the java.base module
P4 JDK-8133651 replace some tags (obsolete in html5) in core-libs docs
P4 JDK-8037866 Replace the Fun class in tests with lambdas
P4 JDK-8048874 Replace uses of 'new Byte', 'new Short' and 'new Character' with appropriate alternative across core classes
P4 JDK-8049892 Replace uses of 'new Integer()' with appropriate alternative across core classes
P4 JDK-8048267 Replace uses of 'new Long()' with appropriate alternative across core classes
P4 JDK-8041679 Replace uses of StringBuffer with StringBuilder within core library classes
P4 JDK-8131316 Stabilization and Tuning
P4 JDK-8166842 String.hashCode() has a non-benign data race
P4 JDK-8066617 Suppress deprecation warnings in java.base module
P4 JDK-8180866 Test issue
P4 JDK-8044638 Tidy up Nashorn codebase for code standards
P4 JDK-8039172 Tidy warnings cleanup for, java.time, java.rmi
P4 JDK-8172254 Typo in DriverManager implNote
P4 JDK-8161129 Unsafe::getUnsafe should allow the platform class loader to access it
P4 JDK-8081359 Update bug reporting URL
P4 JDK-8148220 Update TEST.groups to include jdk/internal/math and jdk/internal/misc
P4 JDK-8079419 Update to RegEx test to use random number library
P4 JDK-8169020 updated Deprecated JDBC methods to include the since element
P4 JDK-8054714 Use StringJoiner where it makes the code cleaner
P4 JDK-8149925 We don't need jdk.internal.ref.Cleaner any more - part 1
P4 JDK-8042451 Write tests for all possible kinds of type annotation
P5 JDK-8075959 Change parameter names in some IOException subclasses
P5 JDK-8009637 Error messages are missing a space
P5 JDK-8156661 Handful of typos in javadoc
P5 JDK-8081517 Minor cleanup for docs
P5 JDK-8074657 Missing space on a boundary of concatenated strings
P5 JDK-8080422 Some docs cleanup for core libs
P5 JDK-8076224 Some tidy warnings from core libs
P5 JDK-8074066 Useless code in share/native/libjava/VM.c
P5 JDK-8134356 {@code} tag contains < and > sequences


Priority Bug Summary
P2 JDK-8055949 ByteArrayOutputStream capacity should be maximal array size permitted by VM
P2 JDK-8177969 Faster FilePermission::implies by avoiding the use of Path::relativize
P2 JDK-8170900 Issue with FilePermission::implies for wildcard flag(-)
P2 JDK-8075222 RandomAccessFile.getChannel changed to non-final in error
P2 JDK-8164705 Remove pathname canonicalization from FilePermission
P2 JDK-8170602 Startup regression due to introduction of lambda in
P2 JDK-8163877 Tests added in JDK-8163518 fail on some platforms
P2 JDK-8170291 Unpredictable results of j.i.ObjectInputFilter::createFilter
P3 JDK-8168640 (fc) Avoiding AtomicBoolean in FileInput/-OutputStream improves startup
P3 JDK-8029804 (spec) BufferedWriter.write(String, int, int) IndexOutOfBoundsException
P3 JDK-8029689 (spec)[], int, int) throws unspecified IndexOutOfBoundsException
P3 JDK-8080835 Add blocking bulk read operations to
P3 JDK-8048840 File.createTempFile has uninformative failure message
P3 JDK-8148023 File.createTempFile is not adhering to the contract regarding file name lengths
P3 JDK-7086489 File.lastModified should specify accuracy as well as resolution
P3 JDK-8170364 FilePermission path modified during merge
P3 JDK-8168127 FilePermissionCollection merges incorrectly
P3 JDK-8153250 does not handle Windows paths of the form "D:" (no path) correctly
P3 JDK-8160215 jdk/test/java/io/Reader/ should clean up better
P3 JDK-8033917 Keep track of file paths in file streams and channels for instrumentation purposes
P3 JDK-8143394 PushbackReader throws NullPointerException
P3 JDK-8033911 Simplify instrumentation of FileInputStream and RandomAccessFile
P3 JDK-8152272 Unable to create temporary file using createTempFile method if System.getProperty("file.separator") is used
P4 JDK-8064562 (doc) errors in API documentation
P4 JDK-6791812 (file spec) Incompatible File.lastModified() and setLastModified() for negative time
P4 JDK-8154183 (spec) Spec of read(byte[],int,int) and readFully(byte[],int,int) is confusing/incomplete
P4 JDK-8168979 @implNote for invalid FilePermission
P4 JDK-8066867 Add InputStream transferTo to transfer content to an OutputStream
P4 JDK-8175042 Add success message to java/io/FileInputStream/
P4 JDK-8167646 Better invalid FilePermission
P4 JDK-8177526 BufferedReader readLine() javadoc does not match the implementation regarding EOF
P4 JDK-8042377 BufferedWriter and FilteredOutputStream.close throw IAE if flush and close throw equal exceptions
P4 JDK-8171906 Changes for 8148023 break AIX build
P4 JDK-8056310 Cleanup in WinNTFileSystem_md.c
P4 JDK-8180885 Create test to detect if TimeZone.setDefault affects File.setLastModifiedTime
P4 JDK-8087288 File.get{Free,Total,Usable}Space may return unexpected results with >2TB file systems
P4 JDK-8023173 FileDescriptor should respect append flag
P4 JDK-8180353 FileOutputStream documentation does not indicate properly whether files get truncated or not
P4 JDK-8054565 FilterOutputStream.close may throw IOException if called twice and underlying flush or close fails
P4 JDK-8173755 FilterOutputStream.write(byte[],int,int) javadoc correction
P4 JDK-8133105 Fix getFinalAttributes() on Windows to handle more special cases
P4 JDK-8136738 InputStream documentation for IOException in skip() is unclear or incorrect
P4 JDK-8163518 Integer overflow in and
P4 JDK-8156595 java/io/pathNames/ fail intermittently on windows-x64
P4 JDK-8054720 Modifications of I/O methods for instrumentation purposes
P4 JDK-8133249 Occasional SIGSEGV: non thread-safe use of strerr in getLastErrorString
P4 JDK-8179662 OutputStreamWriter javadocs states that you can set the buffer size but there is no way to do that
P4 JDK-6856817 Poor performance of Writer#append with CharBuffer
P4 JDK-8155808 Process.getInputStream().skip() method is faulty
P4 JDK-4823133 RandomAccessFile.length() is not thread-safe
P4 JDK-8068498 Remove constructor dependency on line.separator from PrintWriter and BufferedWriter
P4 JDK-7011804 SequenceInputStream with lots of empty substreams can cause StackOverflowError
P4 JDK-8068948 Update java.base module to use new try-with-resources statement
P4 JDK-8168923 Use unsigned random long in a temp directory name
P4 JDK-8169556 Wrap FileInputStream's native skip and available methods
P4 JDK-8130679 Writer/StringWriter.write methods do not specify index out bounds
P5 JDK-8173802 Incorrect argument name in[]) method documentation


Priority Bug Summary
P2 JDK-8155760 Implement Serialization Filtering
P2 JDK-8166739 Improve extensibility of ObjectInputFilter information passed to the filter
P2 JDK-8169645 j.i.ObjectInputFilter.Config spec is ambiguous regarding overriding the filter via System properties
P2 JDK-8154961 JEP 290: Filter Incoming Serialization Data
P2 JDK-8169653 Restore ObjectInputStream::resolveClass call stack default search order
P2 JDK-8155977 Update ObjectInputStream::resolveClass and resolveProxyClass to work with platform class loader
P3 JDK-8071474 Better failure atomicity for default read object
P3 JDK-8134424 BlockDataInputStream.readUTFBody: size local StringBuffer with the given length
P3 JDK-8180082 Broken javadoc links
P3 JDK-8066640 clarify security checks in ObjectInputStream.enableResolveObject and ObjectOutputStream.enableReplaceObject
P3 JDK-8074022 Serialization should issue a freeze action after reconstituting a graph that contains objects with final fields
P3 JDK-8180319 Update Serialization spec to omit obsolete serialver -show and change history
P4 JDK-6823565 Excessive use of HandleList class in de-serialization code causes OutOfMemory
P4 JDK-8067870 Fix
P4 JDK-8180807 class-level readObject description error
P4 JDK-8068260 java/io/Serializable/clearHandleTable/ timed out
P4 JDK-8155997 Mark as intermittently failing
P4 JDK-8033778 ObjectIn/OutputStream improvements
P4 JDK-8151957 ObjectInputStream - Use new convenience method for immutable Map creation during static initialization
P4 JDK-8143926 ObjectStreamField constructor eagerly load ObjectStreamClass
P4 JDK-8042887 Remove serialver -show, this tool does not need a GUI
P4 JDK-8163517 Various cleanup in code


Priority Bug Summary
P1 JDK-8179950 Custom system class loader using Enum.valueOf in its initialization triggers java.lang.InternalError
P1 JDK-8157502 make docs broken after JDK-5100935
P1 JDK-8143967 The stream state check should handle unsigned anchor value
P2 JDK-8058464 (process spec) ProcessBuilder.redirectXXX throws unspecified NPE
P2 JDK-8071480 (process spec) ProcessBuilder.start spec linked to the wrong checkRead and checkWrite methods
P2 JDK-8067796 (process) Process.waitFor(timeout, unit) doesn't throw NPE if timeout is less than, or equal to zero when unit == null
P2 JDK-7131356 (props) "No Java runtime present, requesting install" when creating VM from JNI [macosx]
P2 JDK-8178832 (ref) jdk.lang.ref.disableClearBeforeEnqueue property is ignored
P2 JDK-8175797 (ref) Reference::enqueue method should clear referent before enqueuing
P2 JDK-8160954 (spec) Runtime.Version regex and $PRE/$OPT issues
P2 JDK-8046219 (str spec) String(byte[], int, int, Charset) should be clearer when IndexOutOfBoundsException is thrown
P2 JDK-8056152 (thread) API to create Threads that do not inherit inheritable thread-local initial values
P2 JDK-8177036 Class.checkMemberAccess throws NPE when calling Class methods via JNI
P2 JDK-8151486 Class.forName causes memory leak
P2 JDK-8163476 java/lang/StackWalker/ fails after JDK-8163369
P2 JDK-8134456 jdk/test/java/lang/SecurityManager/ failing on several platforms
P2 JDK-8046092 JEP 102: Process API Updates
P2 JDK-8046183 JEP 193: Variable Handles
P2 JDK-8043825 JEP 227: Unicode 7.0
P2 JDK-8054307 JEP 254: Compact Strings
P2 JDK-8075115 JEP 267: Unicode 8.0
P2 JDK-8065614 JEP 277: Enhanced Deprecation
P2 JDK-8148604 JEP 280, Switch to more optimal concatenation strategy
P2 JDK-8077090 JEP-JDK-8046183: Test Task: Variable Handles
P2 JDK-8158168 Missing bounds checks for some String intrinsics
P2 JDK-8178347 Process and ProcessHandle getPid method name inconsistency
P2 JDK-8176815 Remove StackFramePermission and use RuntimePermission for stack walking
P2 JDK-8151660 Revert to use jdk.internal.ref.Cleaner
P2 JDK-8177738 Runtime.Version must be a value-based class
P2 JDK-8160000 Runtime.version() cause startup regressions in 9+119
P2 JDK-8160956 Runtime.Version.compareTo/compareToIgnoreOpt problem
P2 JDK-8182652 RuntimePermission("usePolicy") is not a Java SE permission
P2 JDK-8154017 Shutdown hooks are racing against shutdown sequence, if System.exit()-calling thread is interrupted
P2 JDK-8156651 SIGSEGV in StackValue::create_stack_value
P2 JDK-8148775 Spec for j.l.ProcessBuilder.Redirect.DISCARD need to be improved
P2 JDK-8173898 StackWalker.walk throws InternalError if called from a constructor invoked through reflection.
P2 JDK-8042589 String.toLowerCase do not work for some concatenated strings
P2 JDK-8048264 StringBuffer's codePoint methods throw unspecified IndexOutOfBoundsException
P2 JDK-6896810 TEST_BUG: java/lang/ref/SoftReference/ fails with OOME during System.out.println
P2 JDK-8132883 The spec of allChildren/children of j.l.Process/ProcessHandle need to be relaxed
P2 JDK-8039390 Unexpected behaviour of String.format with null arguments
P2 JDK-8179592 Update tables in java.base to be HTML 5-friendly.
P3 JDK-8055330 (process spec) ProcessBuilder.start and Runtime.exec should throw UnsupportedOperationException on platforms that don't support it
P3 JDK-8067748 (process) Child is terminated when parent's console is closed [win]
P3 JDK-8138566 (Process) java.lang.Process.allChildren specification clarification
P3 JDK-8130877 (process) java/lang/ProcessHandle/TreeTest test3 failure - Destroyed process.isAlive
P3 JDK-8010217 (process) Process should provide way to kill process tree
P3 JDK-8140250 (process) description is inaccurate
P3 JDK-8054841 (process) ProcessBuilder leaks native memory
P3 JDK-8132394 (process) ProcessBuilder support for a pipeline of processes
P3 JDK-8132541 (process) ProcessBuilder support for redirection to discard output
P3 JDK-8056238 (process) ProcessBuilder.redirectError spec has a broken link
P3 JDK-8072034 (process) ProcessBuilder.start and Runtime.exec UnsupportedOperationException editorial cleanup
P3 JDK-8129344 (process) ProcessHandle instances should define equals and be value-based
P3 JDK-8078099 (process) ProcessHandle should uniquely identify processes
P3 JDK-8078108 (process) ProcessHandle.isAlive should be robust
P3 JDK-8176272 (process) ProcessHandle::onExit fails to wait for non-child process
P3 JDK-8003490 (process) Provide Process.getCurrentPid() to get identifier of current process
P3 JDK-8003488 (process) Provide Process.getPid()
P3 JDK-8081536 (process) remove unreliable ScaleTest from ProcessHandle tests
P3 JDK-8071507 (ref) Clear phantom reference as soft and weak references do
P3 JDK-8069269 (spec) Defect in the System.nanoTime spec
P3 JDK-8178101 (thread) Migrate the thread deprecation technote to javadoc doc-files
P3 JDK-8156073 2-slot LiveStackFrame locals (long and double) are incorrect
P3 JDK-8067486 Add diagnostics for Exception: Read from closed pipe hangs
P3 JDK-8165636 add removal text to Runtime.traceInstructions/MethodCalls deprecation text
P3 JDK-8075544 Add tiered testing definitions to the jdk repo
P3 JDK-8039916 AnnotatedType.getType() of a Executable parameters may return wrong type
P3 JDK-8147585 Annotations with lambda expressions has parameter result in wrong behavior.
P3 JDK-8160312 ArrayIndexOutOfBoundsException when comparing strings case insensitive
P3 JDK-8136874 Bug in port of fdlibm pow to Java
P3 JDK-8149330 Capacity of StringBuilder should not get close to Integer.MAX_VALUE unless necessary
P3 JDK-8029886 Change SecurityManager checkTopLevelWindow, checkSystemClipboard, checkAccessAwtEventQueueAccess to check AllPermission
P3 JDK-8037325 Class.getConstructor() performance regression
P3 JDK-8157877 Clean up StackWalker permission checks
P3 JDK-8146028 Common Cleaner for finalization replacements in OpenJDK
P3 JDK-8166501 compilation error in stackwalk.cpp on some gccs
P3 JDK-8156652 CountLocalSlots: testLocals(): number of locals (2) did not match expected (8)
P3 JDK-4285505 deprecate java.lang.Compiler
P3 JDK-8165641 Deprecate Object.finalize
P3 JDK-8161360 Deprecated vfork() should not be used on Solaris
P3 JDK-8157464 Disallow StackWalker.getCallerClass() be called by caller-sensitive method
P3 JDK-8050968 Extension class loader initialization fails on Win7 x64 zh_TW
P3 JDK-8180137 fix broken link in java.lang.Iterable
P3 JDK-8162563 Fix double checked locking in System.console()
P3 JDK-8154182 Fix java/lang/Class/getDeclaredField/ to only use available modules
P3 JDK-8179413 Fix remaining minor HTML5 issues in java.base module
P3 JDK-8161379 Force inline methods calling Reflection.getCallerClass
P3 JDK-8140450 Implement JEP 259: Stack-Walking API
P3 JDK-8176882 Incorrect integer comparison in version numbers
P3 JDK-8147039 Incorrect locals and operands in compiled frames
P3 JDK-8131763 j.l.Process.allChildren spec clarification
P3 JDK-8138696 java.lang.ref.Cleaner - an alternative to finalization
P3 JDK-8155215 java.lang.String concatenation spec is unnecessarily strong
P3 JDK-8138824 java.lang.String: spec doesn't match impl when ignoring case - equalsIgnoreCase(), regionMatches()
P3 JDK-8152936 java/lang/Class/ needs update to work with newer testng
P3 JDK-8081567 java/lang/ProcessHandle/ failed Cannot run program "whoami"
P3 JDK-8081566 java/lang/ProcessHandle/ failed on case sensitive command
P3 JDK-8098852 java/lang/ProcessHandle/ failed: total cpu time expected < 10s more
P3 JDK-8086278 java/lang/ProcessHandle/ failed - ProcessReaper StackOverflowException
P3 JDK-8038982 java/lang/ref/ elapsed time 981 is less than timeout 1000
P3 JDK-8086117 java/lang/Runtime/exec/ still fails intermittently with Process consumes memory
P3 JDK-8144552 java/lang/StackWalker/ fails with java.lang.NullPointerException
P3 JDK-8033812 javadoc for java.lang.annotation.ElementType needs minor correction
P3 JDK-8077350 JEP 102 Process API Updates Implementation
P3 JDK-8078025 JEP-JDK-8043825: Test task: Develop Global Suite tests
P3 JDK-8035640 JNU_CHECK_EXCEPTION should support c++ JNI syntax
P3 JDK-8030814 Long.parseUnsignedLong should throw exception on too large input
P3 JDK-8053918 make the spec for @Documented comprehensible
P3 JDK-8168096 markup error in "since" element spec of @Deprecated
P3 JDK-5100935 No way to access the 64-bit integer multiplication of 64-bit CPUs efficiently
P3 JDK-8170595 Optimize Class.isAnonymousClass, isLocalClass, and isMemberClass
P3 JDK-8134795 Port fdlibm pow to Java
P3 JDK-8134780 Port fdlibm to Java, part 1
P3 JDK-8140213 Process/ProcessHandle.onExit() spec need to be improved
P3 JDK-8079782 RandomFactory should be in the jdk.testlibrary package
P3 JDK-8055251 Re-examine Integer.parseInt and Long.parseLong methods
P3 JDK-8153912 Reconsider StackFrame::getFileName and StackFrame::getLineNumber
P3 JDK-8172475 Remove usage from Class and ClassLoader
P3 JDK-8156810 remove redundant sentence in SecurityManager.checkMemberAccess doc
P3 JDK-8179370 Replace use of ,
and tags in java.base
P3 JDK-8157986 Runtime support for javac to determine arguments to the runtime environment
P3 JDK-8047904 Runtime.loadLibrary throws SecurityException when security manager is installed
P3 JDK-8162439 Runtime.Version.parse needs fast-path for major versions
P3 JDK-8134677 SecurityManager/ still failing on windows
P3 JDK-8157892 StackFrame::getFileName returns null when a source file exists for native methods
P3 JDK-4942697 StackTraceElement doesn't contain Class objects but only the class names
P3 JDK-8165372 StackWalker performance regression following JDK-8147039
P3 JDK-8153123 Streamline StackWalker code
P3 JDK-8027640 String.indexOf(String,int) for the empty string case not specified
P3 JDK-8041791 String.toLowerCase regression - violates Unicode standard
P3 JDK-8170155 StringBuffer and StringBuilder stream methods are not late-binding
P3 JDK-8143553 StringBuffer.getByte(byte[], int, byte) should be package private (not protected)
P3 JDK-8150463 StringConcat MH_INLINE_SIZED_EXACT should skip storage initialization
P3 JDK-8032446 Support Unicode 7.0.0 in JDK 9
P3 JDK-8160370 System.getProperty("os.version") returns "Unknown" on Mac
P3 JDK-8161039 System.getProperty("os.version") returns incorrect version number on Mac
P3 JDK-8067951 System.loadLibrary cannot find library when path contains quoted entry
P3 JDK-8132944 test java/lang/ClassLoader/ writes stuff to Agent stdout
P3 JDK-8137313 intermittently fails with a timeout
P3 JDK-8152174 Type annotations with a missing type throw NullPointerException
P3 JDK-8136831 Undefined null behavior in ClassLoader.getResourceXXXX()
P3 JDK-8072600 Unicode 8 support
P3 JDK-8179364 update "JDK-8179367 update use of align, valign attributes in java.base to use style attribute
P3 JDK-8169389 Use a bitmap to control StackTraceElement::toString format and save footprint
P3 JDK-8160457 VersionProps.versionNumbers() is broken
P4 JDK-6481080 (ann) @Deprecated annotation has no effect on packages
P4 JDK-6226715 (ann) java.lang.annotation.AnnotationTypeMismatchException could not be serialized
P4 JDK-8027348 (process) Enhancement of handling async close of ProcessInputStream
P4 JDK-8029629 (process) Improvements to test/java/lang/ProcessBuilder/
P4 JDK-8031961 (process) java/lang/ProcessBuilder/ uses "cp -p" which is inefficient
P4 JDK-8071481 (Process) Merge into
P4 JDK-8000975 (process) Merge &
P4 JDK-8155102 (Process) Process.toString could include pid, isAlive, exitStatus
P4 JDK-8072611 (process) ProcessBuilder redirecting output to file should work with long file names (win)
P4 JDK-8146574 (process) ProcessHandle test cleanup
P4 JDK-7021006 (process) Remove disabled clone-exec feature
P4 JDK-6853696 (ref) ReferenceQueue.remove(timeout) may return null even if timeout has not expired
P4 JDK-8060485 (str) contentEquals checks the String contents twice on mismatch
P4 JDK-8058643 (str) Improve String.hashCode implementation
P4 JDK-8077242 (str) Optimize AbstractStringBuilder.append(CharSequence, int, int) for String argument
P4 JDK-6764325 (str) String.getBytes(Charset) is slower than getBytes(String)
P4 JDK-8141359 @Deprecated on packages should be clarified
P4 JDK-8177949 @link tag arguments need correction for ElementType documentation
P4 JDK-8043477 [TEST_BUG] java/lang/ProcessBuilder/ failed with: java.lang.AssertionError: Some tests failed
P4 JDK-8073220 A typo in the documentation for class ProcessBuilder
P4 JDK-8155792 Add @jls citations to java.lang.String
P4 JDK-8066612 Add a test that will call getDeclaredFields() on all classes and try to set them accessible.
P4 JDK-8078826 Add diagnostic info for java/lang/Runtime/exec/ fails intermittently
P4 JDK-8160848 Add diagnostics to java/lang/ProcessBuilder/Zombies
P4 JDK-4851642 Add fused multiply add to Java math library
P4 JDK-8041972 Add improved parse methods for Long/Integer
P4 JDK-8158510 Add test cases to validate Annotation
P4 JDK-8173056 Add test that captures current behavior of annotations with invalid annotation types
P4 JDK-8071859 AnnotationInvocationHandler.equals(Object) return true when apply to annotation
P4 JDK-8165393 bad merge in java/lang/ref/
P4 JDK-8071477 Better Spliterator implementations for String.chars() and String.codePoints()
P4 JDK-8035813 Broken link in java.lang.Iterable
P4 JDK-4302423 class loaders should support "local" creation of Package objects
P4 JDK-8145459 Cleaner - use Reference.reachabilityFence
P4 JDK-8146012 CleanerTest fails: Cleanable should have been freed
P4 JDK-8074126 Correct @see cross-refs to the JLS in java.lang[.annotation]
P4 JDK-8138823 Correct bug in port of fdlibm hypot to Java
P4 JDK-8164524 Correct inconsistencies in floating-point abs spec
P4 JDK-8131313 Define Scoping
P4 JDK-8160901 Demote java/lang/ProcessBuilder/ to tier 2
P4 JDK-8153330 deprecate Runtime.traceInstructions() and traceMethodCalls()
P4 JDK-8145460 develop draft API specification for @Deprecated annotation and post for review
P4 JDK-8071434 doc updates for java.lang.Object
P4 JDK-8067669 Documentation for methods in Number incomplete regarding too large values.
P4 JDK-8043740 Doubles with large exponents overflow to Infinity incorrectly
P4 JDK-8164923 Error in the documentation for java.lang.Random
P4 JDK-8050114 Expose Integer/Long formatUnsigned methods internally
P4 JDK-8058779 Faster implementation of String.replace(CharSequence, CharSequence)
P4 JDK-8145461 finalize and integrate @Deprecated annotation specification change
P4 JDK-8043916 Fix fallthrough lint warnings in java/lang/
P4 JDK-8145430 Fix typo in StackWalker javadoc
P4 JDK-8177722 Improve grouping of jdk/internal/math tests
P4 JDK-8136500 Integer/Long getChars and stringSize should be more idiomatic
P4 JDK-4477961 java.lang.Math.toDegrees(double) could be optimized
P4 JDK-8067808 java/lang/ProcessBuilder/ failed on Assertion
P4 JDK-8168517 java/lang/ProcessBuilder/ failed with "java.lang.AssertionError: Some tests failed"
P4 JDK-8064932 java/lang/ProcessBuilder/ waitFor didn't take long enough
P4 JDK-8150346 java/lang/ProcessHandle/ failed: startTime after process spawn completed
P4 JDK-8136597 java/lang/ProcessHandle/ fails: commandLine() should at least contain 'java'
P4 JDK-8085981 java/lang/ProcessHandle/ AssertionError: Child onExit not called: 9680, parent: 23280: [] expected [true] but found [false]
P4 JDK-8086208 java/lang/ProcessHandle/ IllegalThreadStateException: process hasn't exited
P4 JDK-8085980 java/lang/ProcessHandle/ AssertionError: Wrong number of spawned children expected [1] but found [2]
P4 JDK-8129535 java_props_md.c should compile on VS 2010
P4 JDK-6961865 javadoc for Boolean.valueOf(String) with null argument not clearly specified
P4 JDK-8147832 JEP 285: Spin-Wait Hints
P4 JDK-8077089 JEP-JDK-8046092: Test Task: Process API Updates
P4 JDK-8136589 JEP-JDK-8075115: Test task: Develop Global Suite tests
P4 JDK-8161347 Mark java/lang/ProcessBuilder/ as intermittently failing
P4 JDK-8035427 Math.random() JavaDoc: missing maximum returned value
P4 JDK-8130889 Missing "@since 1.8" tags in
P4 JDK-8141454 Move java/lang/ProcessHandle/ until stability improves
P4 JDK-8065372 Object.wait(ms, ns) timeout returns early
P4 JDK-8029561 Optimization in Integer to string conversion
P4 JDK-8032016 Optimizations of{After,Up}({float,double})
P4 JDK-8155795 Optimize Integer/Long.reverse by using reverseBytes
P4 JDK-8145428 Optimize StringUTF16 compress/copy methods for C1
P4 JDK-4302406 Package sealing and creation of java.lang.Package objects is inconsistent.
P4 JDK-8136799 Port fdlibm cbrt to Java
P4 JDK-8139688 Port fdlibm exp to Java
P4 JDK-7130085 Port fdlibm hypot to Java
P4 JDK-8170153 PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation
P4 JDK-8078672 Print and allow setting by Java property seeds used to initialize Random instances in java.lang numerics tests
P4 JDK-8131168 Refactor ProcessHandleImpl_*.c and add implememtation for AIX
P4 JDK-8133348 Reference.reachabilityFence
P4 JDK-8159590 Remove deprecated methods from jdk.internal.misc.VM
P4 JDK-8075304 Remove duplicate tests: FDTest, MethodReferenceTest and more
P4 JDK-8076632 Remove duplicate tests: FDTest, MethodReferenceTest and more -- follow-on (completion)
P4 JDK-8163934 Remove intermittent key from java/lang/ProcessBuilder/
P4 JDK-8161024 Remove intermittent key from java/lang/Runtime/exec/
P4 JDK-8156536 Remove intermittent key from and move back to tier1
P4 JDK-8031210 Remove serial warning from java.lang.Enum
P4 JDK-8033416 Remove sun.misc.FpUtils
P4 JDK-8145680 Remove unnecessary explicit initialization of volatile variables in java.base
P4 JDK-8033565 Remove unused nativeNewStringPlatform
P4 JDK-8149896 Removed unnecessary values in FloatConsts and DoubleConsts
P4 JDK-8157527 Replace @since 1.9 with @since 9 on new math methods
P4 JDK-8160264 Reuse Latin1/UTF16 compare routines
P4 JDK-8144210 Runtime.currentRuntime should be final
P4 JDK-4354680 Runtime.runFinalization() silently clears interrupted flag in the calling thread
P4 JDK-8161236 Runtime.Version.{compareTo,equals}IgnoreOpt should be renamed
P4 JDK-8027063 SecurityManger.getClassContext returns a raw type
P4 JDK-8154231 Simplify access to System properties from JDK code
P4 JDK-8060130 Simplify the synchronization of defining and getting java.lang.Package
P4 JDK-8168073 Speed up URI creation during module bootstrap
P4 JDK-8032012 String.toLowerCase/toUpperCase performance improvement
P4 JDK-8139070 StringUTF16 should check for the maximum length
P4 JDK-8177682 Suppress removal warning for System.runFinalizersOnExit
P4 JDK-8044051 Test jdk/lambda/vm/ gets IOException during compilation
P4 JDK-8143876 test/java/lang/ProcessHandle/ failed intermittently with assertion error
P4 JDK-8160564 TEST: Add a test to check the implementation of VersionProps.versionNumbers()
P4 JDK-8059677 Thread.getName() instantiates Strings
P4 JDK-8030709 Tidy warnings cleanup for java.lang package; minor cleanup in java.math, javax.script
P4 JDK-8178154 Typo in Object.finalize deprecation javadoc
P4 JDK-8032779 Update code in java.lang to use newer language features
P4 JDK-8145468 update java.lang APIs with new deprecations
P4 JDK-8048014 Update java.lang.SafeVararags for private methods
P4 JDK-8158312 Update String.join example code to use List convenience factory methods
P4 JDK-8169513 Update with final design detail
P4 JDK-8160824 is missing EOL
P4 JDK-7038914 VM could throw uncaught OOME in ReferenceHandler thread
P5 JDK-8080535 (ch) Expected size of is not optimal
P5 JDK-8032606 ClassValue.ClassValueMap.type is unused
P5 JDK-6667086 Double.doubleToLongBits(final double value) contains inefficient test for NaN
P5 JDK-8054857 Fix typos in java.lang.** packages
P5 JDK-8078136 Incorrect figure number in reference to Hacker's Delight book in Long.bitCount() method
P5 JDK-8068887 java.lang.Throwable could use Collections.emptyList for suppressedException
P5 JDK-8161413 Math.fma javadoc doesn't have @since 9
P5 JDK-8071571 Move substring of same string to slow path
P5 JDK-8180128 small errors in String javadoc
P5 JDK-8054828 TEST_BUG: Typos in java/lang/Long/ParsingTest
P5 JDK-8067471 Use private static final char[0] for empty Strings


Priority Bug Summary
P1 JDK-8073644 Assertion in LambdaFormEditor.bindArgumentType is too strict
P1 JDK-8058892 FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl
P1 JDK-8184119 Incorrect return processing for the LF editor of MethodHandles.permuteArguments
P1 JDK-8031502 JSR292: IncompatibleClassChangeError in LambdaForm for CharSequence.toString() method handle type converter
P1 JDK-8063137 Never taken branches should be pruned when GWT LambdaForms are shared
P2 JDK-8151179 address issues raised by JCK team on JEP 274 API
P2 JDK-8020801 Apply the restriction of invoking MethodHandles.lookup to j.l.r.Method.invoke
P2 JDK-8143142 AssertionError in MethodHandleImpl
P2 JDK-8057919 Class.getSimpleName() should work for non-JLS compliant class names
P2 JDK-8069591 Customize LambdaForms which are invoked using MH.invoke/invokeExact
P2 JDK-8063135 Enable full LF sharing by default
P2 JDK-8059877 GWT branch frequencies pollution due to LF sharing
P2 JDK-8027827 Improve performance of catchException combinator
P2 JDK-8163946 java/lang/String/concat/ fails after 8163878
P2 JDK-8163814 JDK build has been failing after 8163373
P2 JDK-8161068 fails
P2 JDK-8163533 fails on jdk9/dev
P2 JDK-8057020 LambdaForm caches should support eviction
P2 JDK-8177153 LambdaMetafactory has default constructor
P2 JDK-8170408 fails with recent changes
P2 JDK-8167966 MethodHandles.iteratedLoop fails with IAE in the case of correct arguments
P2 JDK-8167974 MethodHandles.iteratedLoop(...) fails with CCE in the case of iterating over array
P2 JDK-8177146 MethodHandles.Lookup::bind allows illegal protected access
P2 JDK-8156485 MethodHandles.varHandleExactInvoker should perform exact checks
P2 JDK-8081245 failing across platforms
P2 JDK-8066746 MHs.explicitCastArguments does incorrect type checks for VarargsCollector
P2 JDK-8058291 Missing some checks during parameter validation
P2 JDK-8060483 NPE with explicitCastArguments unboxing null
P2 JDK-8155090 String concatenation fails with a custom SecurityManager that uses concatenation
P2 JDK-8148787 StringConcatFactory exactness check produces bad bytecode when a non-arg concat is requested
P2 JDK-8174226 Test failures after JDK-8033076
P2 JDK-8161212 Test times out: java/lang/invoke/
P2 JDK-8164485 Zero forms not properly generated
P3 JDK-8148730 Add @since tags in new String concat APIs
P3 JDK-8162107 Add acquire/release variants for getAndSet and getAndAdd
P3 JDK-8143343 add JEP 274 Javadoc tests to JavaDocExamplesTest
P3 JDK-8067344 Adjust java/lang/invoke/LFCaching/ for recent changes in java.lang.invoke
P3 JDK-8157152 Atomic add for VarHandle byte[]/ByteBuffer views is incorrect for endian conversion
P3 JDK-8131129 Attempt to define a duplicate BMH$Species class
P3 JDK-8150360 augment/correct MethodHandle API documentation
P3 JDK-8161211 better inlining support for loop bytecode intrinsics
P3 JDK-8076596 BytecodeDescriptor.parseMethod doesn't work during bootstrapping
P3 JDK-8058661 Compiled LambdaForms should inherit from Object to improve class loading performance
P3 JDK-8078290 Customize adapted MethodHandle in MH.invoke() case
P3 JDK-8150829 Enhanced drop-args, identity and default constant, varargs adjustment
P3 JDK-8150824 Exceptions when omitting trailing arguments in cleanup
P3 JDK-8150782 findClass / accessClass throw unexpected exceptions
P3 JDK-8143232 Fix java.lang.invoke bootstrap when specifying COMPILE_THRESHOLD
P3 JDK-8149574 Fix java/lang/invoke/MethodHandleImpl's use of Unsafe.defineAnonymousClass()
P3 JDK-8037210 Get rid of char-based descriptions 'J' of basic types
P3 JDK-8059880 Get rid of LambdaForm interpretation
P3 JDK-8157171 Hook up Unsafe.weakCompareAndSetVolatile to VarHandles
P3 JDK-8139885 implement JEP 274: enhanced method handles
P3 JDK-8086045 Improve the java.lang.invoke first initialization costs
P3 JDK-8037209 Improvements and cleanups to bytecode assembly for lambda forms
P3 JDK-8156915 introduce MethodHandle factory for array length
P3 JDK-8168005 Introduce namespaces for GET, SET dynalink operations
P3 JDK-8166974 invokedynamic implementation should not wrap Errors
P3 JDK-8150635 j.l.i.MethodHandles.loop(...) throws IndexOutOfBoundsException
P3 JDK-8150956 j.l.i.MethodHandles.whileLoop(...) and .iteratedLoop(...) throw unexpected exceptions in the case of 'init' return type is void
P3 JDK-8150953 j.l.i.MethodHandles: 'example' section in whileLoop(...) provides example for doWhileLoop
P3 JDK-8133719 java.lang.InternalError in java.lang.invoke.MethodHandleImpl$BindCaller.bindCaller
P3 JDK-8163553 java.lang.LinkageError from test java/lang/ThreadGroup/
P3 JDK-8143253 java/lang/invoke/ failing on mach5
P3 JDK-8155214 java/lang/invoke/ fails due to exhausted code cache
P3 JDK-8157239 java/lang/invoke/VarHandles/ tests fail by timeout with -Xcomp with lambda form linkage
P3 JDK-8143798 jck failures: api/java_lang/invoke/MethodHandle/index_MethodsTests[asSpreaderWMTE]: java.lang.VerifyError: Bad type on operand stack
P3 JDK-8130227 JEP 274: Enhanced Method Handles
P3 JDK-8075866 JEP 276: Dynamic Linking of Language-Defined Object Models
P3 JDK-8038261 JSR292: cache and reuse typed array accessors
P3 JDK-8129532 failed with ConcurrentModificationException
P3 JDK-8050200 Make LambdaForm intrinsics detection more robust
P3 JDK-8034120 MethodHandles.catchException doesn't handle VarargsCollector right
P3 JDK-8036117 MethodHandles.catchException doesn't handle VarargsCollector right (8034120 failed)
P3 JDK-8154751 MethodHandles.countedLoop does not accept empty bodies
P3 JDK-8154754 MethodHandles.countedLoop errors in deriving loop arguments, result type, and local state
P3 JDK-8153637 MethodHandles.countedLoop/3 initialises loop counter to 1 instead of 0
P3 JDK-8164102 MethodHandles.countedLoop/4 works incorrect for start/end = Integer.MAX_VALUE
P3 JDK-8160717 MethodHandles.loop() does not check for excessive signature
P3 JDK-8150825 MethodHandles.tryFinally throws IndexOutOfBoundsException for non-conforming parameter lists
P3 JDK-8156868 doc issues
P3 JDK-8158851 MH.publicLookup() init circularity, triggered by custom SecurityManager with String concat and -limitmods java.base
P3 JDK-8152667 MHs.iteratedLoop(...) throws unexpected WMTE, disallows Iterator subclasses, generates inconsistent loop result type
P3 JDK-8155106 MHs.Lookup.findConstructor returns handles for array classes
P3 JDK-8172905 Minor startup cleanup of CallSite and MethodType
P3 JDK-8057719 New tests for LambdaForm Reduction and Caching feature
P3 JDK-8143211 provide bytecode intrinsics for loop and try/finally executors
P3 JDK-8165492 Reduce number of lambda forms generated by MethodHandleInlineCopyStrategy
P3 JDK-8165731 Reference to removed method in VarHandle JavaDoc
P3 JDK-8162106 Remove VarHandle.addAndGet
P3 JDK-8172201 Replace assert of return type in VarHandle.AccessMode with test
P3 JDK-8160439 Replace asserts in VarHandle.AccessMode with tests
P3 JDK-8163373 Rewrite GenerateJLIClassesPlugin to avoid reflective calls into java.lang.invoke
P3 JDK-8148869 StringConcatFactory MH_INLINE_SIZED_EXACT strategy does not work with -XX:-CompactStrings
P3 JDK-8149459 StringConcatFactory should be synced up with LambdaMetafactory
P3 JDK-8149835 StringConcatFactory should emit classes with the same package as the host class
P3 JDK-8158039 VarHandle float/double field/array access should support CAS/set/add atomics
P3 JDK-8155258 VarHandle implementation improvements
P3 JDK-8080588 VarHandles development
P3 JDK-8161444 VarHandles should provide access bitwise atomics
P3 JDK-8157726 VarHandles/Unsafe should support sub-word atomic ops
P4 JDK-8066798 [TEST] Make java/lang/invoke/LFCaching tests use lib/testlibrary/jdk/testlibrary/ to define their number of iterations
P4 JDK-8154755 Add a VarHandle weakCompareAndSet with volatile semantics
P4 JDK-8133451 Add weak CAS, and acquire/release forms of CAS
P4 JDK-8157449 Adjust link-time generated Species classes to match JDK-8148604 usage
P4 JDK-8144931 Assert class signatures are correct and refer to valid classes
P4 JDK-8143410 augment pseudo-code descriptions in MethodHandles API
P4 JDK-8152951 Avoid calculating the reverse of StringConcatFactory$Recipe elements
P4 JDK-8152074 Avoid lambda usage in StringConcatFactory initializer
P4 JDK-8135081 Better C1 handling for VarHandles.(get|set)Opaque
P4 JDK-8058293 Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken
P4 JDK-8133568 C1 support for Unsafe.{getAcquire|setRelease}
P4 JDK-8130923 C1 trouble in VarHandle.getObject tests
P4 JDK-8142487 Cleanup sun.invoke.util.Wrapper zeroes to be both reliable and lazy
P4 JDK-8071788 CountingWrapper.asType() is broken
P4 JDK-8077054 DMH LFs should be customizeable
P4 JDK-8071787 Don't block inlining when DONT_INLINE_THRESHOLD=0
P4 JDK-8163369 Enable generating DMH classes at link time
P4 JDK-8163371 Enable tracing which JLI classes can be pre-generated
P4 JDK-8154447 Exempt classes under java.util.concurrent from MH.Lookup restrictions
P4 JDK-8031373 Fix deprecation and raw lint warnings in java.lang.invoke
P4 JDK-8036732 Fix raw warning in
P4 JDK-8164451 Generate all zero and identity forms at link time
P4 JDK-8164044 Generate corresponding simple DelegatingMethodHandles when generating a DirectMethodHandle at link time
P4 JDK-8164483 Generate field lambda forms at link time
P4 JDK-8164569 Generate non-customized invoker forms at link time
P4 JDK-8050166 Get rid of some package-private methods on arguments in j.l.i.MethodHandle
P4 JDK-8050053 Improve caching of different invokers
P4 JDK-8050057 Improve caching of MethodHandle reinvokers
P4 JDK-8136893 Improve early java.lang.invoke infrastructure initialization
P4 JDK-8141677 Improve java.lang.invoke.MemberName hashCode implementation
P4 JDK-8142334 Improve lazy initialization of java.lang.invoke
P4 JDK-8167229 Improve VarHandle documentation
P4 JDK-8149644 Integrate VarHandles
P4 JDK-8143127 InvokerBytecodeGenerator emitConst should handle Byte, Short, Character
P4 JDK-8150957 j.l.i.MethodHandles.whileLoop(...) fails with IOOBE in the case 'init' is null, 'step' and 'pred' have parameters
P4 JDK-8033465 JSR292: InvokerBytecodeGenerator: convert a check for REF_invokeVirtual on an interface into an assert
P4 JDK-8076461 JSR292: remove unused native and constants
P4 JDK-8160556 LambdaForm interpretation is not tested regularly
P4 JDK-8059455 LambdaForm.prepare() does unnecessary work for cached LambdaForms
P4 JDK-8044206 LambdaMetafactory.altMetafactory javadoc refers to wrong method
P4 JDK-8144723 MethodHandleImpl.initStatics is no longer needed
P4 JDK-8062180 MethodHandleImpl.makeArrays throws and swallows java.lang.NoSuchFieldError in normal flow
P4 JDK-8157590 MethodHandles.arrayLength() lacks @since tag, implementation throws wrong exception
P4 JDK-8147078 MethodHandles.catchException does not enforce Throwable subtype
P4 JDK-8158169 MethodHandles.dropArgumentsToMatch(...)
P4 JDK-8158171 MethodHandles.dropArgumentsToMatch(...) non-documented IAE
P4 JDK-8138884 MethodHandles.Lookup.findVirtual() Javadoc fails to consider private interface methods
P4 JDK-8141536 MethodType field offset calculation could be lazy
P4 JDK-8136931 more fine-grained condition checking for BMH species creation
P4 JDK-8144223 Move j.l.invoke.{ForceInline, DontInline, Stable} to jdk.internal.vm.annotation package
P4 JDK-8049555 Move varargsArray from sun.invoke.util package to java.lang.invoke
P4 JDK-8152641 Plugin to generate BMH$Species classes ahead-of-time
P4 JDK-8160971 Re-enable VarHandle tests quarantined by JDK-8160690
P4 JDK-8164525 Re-examine zero form link time pre-generation
P4 JDK-8163370 Reduce number of classes loaded by common usage of java.lang.invoke
P4 JDK-8081512 Remove sun.invoke.anon classes, or move / co-locate them with tests
P4 JDK-8164739 Remove computation of predefined interpreter forms
P4 JDK-8163878 Remove unnecessary bridge methods, allocations in java.lang.invoke
P4 JDK-8154737 Rename VarHandle.compareAndExchangeVolatile to VarHandle.compareAndExchange
P4 JDK-8162108 Rename weakCompareAndSetVolatile to weakCompareAndSet
P4 JDK-8062543 Replace uses of MethodHandleImpl.castReference with Class.cast
P4 JDK-8136967 revert all changes applied to obtain information about 8131129
P4 JDK-8050052 Small cleanups in java.lang.invoke code
P4 JDK-8150832 split T8139885 into several tests by functionality
P4 JDK-8158933 String concat stringifiers setup should avoid unnecessary lookups
P4 JDK-8141678 sun.invoke.util.Wrapper eagerly initializes all integral type caches
P4 JDK-8164866 tools/jlink/plugins/ can't compile after JDK-8163371
P4 JDK-8151063 Typo in java.lang.invoke.StringConcatFactory javadoc
P4 JDK-8160885 Unsafe.compareAndExchangeDouble/FloatAcquire should defer to compareAndExchangeLong/IntAcquire
P4 JDK-8151706 Update VarHandle implementation to use @Stable arrays
P4 JDK-8154556 Use java.nio.ByteOrder instead of boolean value
P4 JDK-8071368 Use more concrete types for NamedFunction constants in the code
P4 JDK-8072844 Use more efficient LambdaForm type representation
P4 JDK-8151198 VarHandle factory-specific exceptions
P4 JDK-8152645 VarHandle lookup access control tests
P4 JDK-8151705 VarHandle.AccessMode enum names should conform to code style
P4 JDK-8080596 VarHandles API specification
P4 JDK-8080599 VarHandles jcstress tests
P4 JDK-8134293 VH.(get|set)Opaque implementations
P4 JDK-8046903 VM anonymous class members can't be statically invocable
P5 JDK-8141539 Avoid calculating string constants in InnerClassLambdaMetaFactory
P5 JDK-8154067 Avoid early use of limited privilege escalation in InnerClassLambdaMetafactory
P5 JDK-8057656 Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks
P5 JDK-8180075 Javadoc of MethodHandles.Lookup::bind should note the difference from MethodHandle::bindTo
P5 JDK-8138578 MethodHandles.Lookup.findSpecial() Javadoc fails to consider static methods
P5 JDK-8143131 Remove unused code from java.lang.invoke


Priority Bug Summary
P1 JDK-8175079 Lazy initialization of ImageReader breaks rmid
P1 JDK-8142968 Module System implementation
P1 JDK-8138960 Module version is checked incorrectly in libjimage
P2 JDK-8066477 Amend JEP 201 to define locations for demos, samples, and man pages
P2 JDK-8177474 Do not emit warnings when illegal access is allowed by --add-exports/--add-opens
P2 JDK-8139297 java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.jimage.ImageNativeSubstrate
P2 JDK-8143879 jdk/internal/jimage/ crashes jvm in msvcr120.dll
P2 JDK-8169069 Module system implementation refresh (11/2016)
P2 JDK-8170987 Module system implementation refresh (12/2016)
P2 JDK-8173393 Module system implementation refresh (2/2017)
P2 JDK-8174823 Module system implementation refresh (3/2017)
P2 JDK-8154956 Module system implementation refresh (4/2016)
P2 JDK-8177530 Module system implementation refresh (4/2017)
P2 JDK-8178380 Module system implementation refresh (5/2017)
P2 JDK-8181087 Module system implementation refresh (6/2017 update)
P2 JDK-8182482 Module System spec updates
P2 JDK-8156142 ModuleReader instances don't always throw NPE for passed null args
P3 JDK-8073596 Add in boot.modules that needs be exported to it
P3 JDK-8157068 ExceptionInInitializerError if images build patched to use exploded version of jdk.internal.module.SystemModules
P3 JDK-8135197 libjimage code needs translation from hotspot-ish to jdk-ish
P3 JDK-8168836 Minor clean up on warning/error messages on --add-exports and --add-reads
P3 JDK-8159334 ModuleDescriptor retains overlapping sets for all and concealed packages
P3 JDK-8158456 does not verify dependence on java.base in module-info.class
P3 JDK-8159248 ModuleFinder.of not clear that FindException thrown if module descriptor cannot be derived for automatic module
P3 JDK-8157598 ModuleReader find returns incorrect URI when modular JAR is a multi-release JAR
P3 JDK-8168789 ModuleReader.list and ModuleFinder.of update
P3 JDK-8171855 Move package name transformations during module bootstrap into native code
P3 JDK-8072601 Re-examine jdk.runtime and modules
P3 JDK-8168205 Should not default class path to CWD if -cp is not specified but -m is specified
P3 JDK-8136930 Simplify use of module-system options by custom launchers
P3 JDK-8148834 Update module-info reader/writer to 53.0
P4 JDK-8153538 module java.httpclient should not be in java.compact3
P4 JDK-8171400 Move checking of duplicate packages in the boot layer to link time
P4 JDK-8171373 Reduce copying during initialization of ModuleHashes


Priority Bug Summary
P2 JDK-8178726 Can't load classes from classpath if it is a UNC share
P2 JDK-8063147 Class.getFields spec should state that fields are inherited from superinterfaces
P2 JDK-8165346 j.l.ClassLoader.getDefinedPackage(String) throws NPE
P2 JDK-8169909 java agent fails to add to class path when the initial module is a named module
P2 JDK-8181696 Package versioning link does not exist in JAR file specification
P3 JDK-6516909 (cl spec) ClassLoader.loadClass() clarification to indicate it shouldn't be used for array classes
P3 JDK-6479237 (cl) Add support for classloader names
P3 JDK-4841786 (cl) flaw in ClassLoader getPackage/definePackage API
P3 JDK-6235792 (cl) improve performance penalty of loading classes from CLASSPATH versus BOOTCLASSPATH
P3 JDK-8154837 Class::getPackage with exploded modules when classes in modules defined to the boot loader
P3 JDK-8169435 ClassLoader.isParallelCapable is final and conflicting method may get VerifyError
P3 JDK-8165563 ClassLoader::getSystemClassLoader will never be null
P3 JDK-8029891 Deadlock detected in java/lang/ClassLoader/deadlock/
P3 JDK-8165793 Provide an API to query if a ClassLoader is parallel capable
P3 JDK-8068686 Remove meta-index support
P3 JDK-8064956 Remove sun.misc.ExtensionInstallationProvider and relevant classes
P3 JDK-7180225 SecurityExceptions not defined in some class loader methods
P3 JDK-8156989 Trailing empty element in classpath ignored
P4 JDK-8161230 ClassLoader: add resource methods returning
P4 JDK-6760902 inconsistent behavior in bootstrap class loader for classes and resources
P4 JDK-8061804 Re-examine Package of the same name allowed from ClassLoader.getPackages
P4 JDK-8180633 Remove intermittent key from java/lang/ClassLoader/


Priority Bug Summary
P1 JDK-8171988 Backout of fix for 8062389, 8029459, 8061950
P2 JDK-8029674 (reflect) getMethods returns default methods that are not members of the class
P2 JDK-8062389 Class.getMethod() is inconsistent with Class.getMethods() results
P2 JDK-8074977 Constructor.getAnnotatedParameterTypes returns wrong value
P2 JDK-8064846 Lazy-init thread safety problems in core reflection
P2 JDK-8156143 Module.getResourceAsStream throws unspecified SecurityException with module in custom Layer
P2 JDK-8065172 More core reflection final and volatile annotations
P2 JDK-8172190 Re-apply the fix for bugs 8062389, 8029459, 8061950
P3 JDK-8152115 (proxy) Examine performance of dynamic proxy creation
P3 JDK-8044629 (reflect) Constructor.getAnnotatedReceiverType() returns wrong value
P3 JDK-8029459 (reflect) getMethods returns methods that are not members of the class
P3 JDK-8170467 (reflect) Optimize SignatureParser's use of StringBuilders
P3 JDK-6378384 (reflect) subclass can’t access superclass’s protected fields and methods by reflection
P3 JDK-8038994 AnnotatedType.getType() of a TypeVariable boundary without annotations return null
P3 JDK-8062773 Clarifications for Class specification
P3 JDK-8054304 Clarify treatment of bounds in j.l.r.Annotated{WildcardType,TypeVariable}
P3 JDK-8034044 Class.getModifiers() returns "static" for anonymous classes
P3 JDK-8169993 Class::desiredAssertionStatus should call getClassLoader0
P3 JDK-8062771 Core reflection should use final fields whenever possible
P3 JDK-8033584 Remove java/lang/reflect/Method/invoke/ from exclude list
P3 JDK-8152642 Remove sun.misc.Unsafe dependency from java.lang.reflect.Proxy
P3 JDK-8169880 Remove the sun.reflect.noCaches option
P3 JDK-8073056 Repeating annotations throws with a SecurityManager
P3 JDK-8073952 Spec of j.l.r.Method.toString/toGenericString need to be clarified
P3 JDK-8162539 Test fails because it expects a blank between method signature and throws exception
P3 JDK-8038333 TEST_BUG: java/lang/ref/ fails with a non-adequate message
P4 JDK-5041778 (ann) AnnotationFormatError if "default" Class type not found
P4 JDK-5040830 (ann) please improve toString() for annotations containing exception proxies
P4 JDK-8153895 (proxy) redundant read edges to superinterfaces of proxy interfaces
P4 JDK-5043030 (reflect) unnecessary object creation in reflection
P4 JDK-8062556 Add jdk tests for JDK-8058322 and JDK-8058313
P4 JDK-8057804 AnnotatedType interfaces provide no way to get annotations on owner type
P4 JDK-8162817 Annotation toString output not reusable for source input
P4 JDK-8068736 Avoid synchronization on Executable/Field.declaredAnnotations
P4 JDK-8054213 Class name repeated in output of Type.toString()
P4 JDK-8061950 Class.getMethods() exhibits quadratic time complexity
P4 JDK-8060077 Class.toGenericString specification doesn't mention array types
P4 JDK-8168681 Correct deprecation text for Class.newInstance
P4 JDK-6850612 Deprecate Class.newInstance since it violates the checked exception language contract
P4 JDK-8036744 Fix raw lint warnings in java.lang.reflect.WeakCache
P4 JDK-8098790 Improve cross references and wording in java.lang.reflect.AnnotatedFoo types
P4 JDK-8159330 Improve deprecation text for Class.newInstance
P4 JDK-8168921 Inconsistent Annotation.toString()
P4 JDK-8169479 java.lang.reflect.Constructor class has wrong api documentation
P4 JDK-8058313 Mismatch of method descriptor and MethodParameters.parameters_count should cause MalformedParameterException
P4 JDK-8030785 Missing "since 1.8" javadoc for java.lang.reflect.Method:getParameterCount
P4 JDK-8158430 Push tests for JDK-5040830
P4 JDK-8031375 Revert test exclusions after fix for JDK-8030656 propagates
P4 JDK-8024812 Tests for malformed MethodParameters attributes
P4 JDK-8141368 Typo in java/lang/Class/ test
P4 JDK-8072843 Typo in the description of the j.l.r.Executable.getAnnotatedReceiverType
P4 JDK-8162815 unnecessary object creation in reflection
P4 JDK-8161500 Use getTypeName and StringJoiner in core reflection generic toString methods
P4 JDK-8058322 Zero name_index item of MethodParameters attribute cause MalformedParameterException.
P5 JDK-8051382 Optimize java.lang.reflect.Modifier.toString()


Priority Bug Summary
P3 JDK-4851777 Add BigDecimal sqrt method
P3 JDK-8057793 BigDecimal is no longer effectively immutable
P3 JDK-8066842 java.math.BigDecimal.divide(BigDecimal, RoundingMode) produces incorrect result
P3 JDK-8152237 Support BigInteger.TWO
P4 JDK-8032027 Add BigInteger square root methods
P4 JDK-8023217 Additional floorDiv/floorMod/multiplyExact methods for java.lang.Math
P4 JDK-8074460 Always print seeds used in [Splittable]Random instances in java.math tests
P4 JDK-8064463 BigDecimal should populate NumberFormatException message
P4 JDK-8158551 BigDecimal.sqrt javadoc typo
P4 JDK-8058505 BigIntegerTest does not exercise Burnikel-Ziegler division
P4 JDK-8035279 Clean up internal deprecations in BigInteger
P4 JDK-4943627 Deprecate rounding mode integer constants in BigDecimal and their uses
P4 JDK-8157724 Improve javadoc tag usage in java.math
P4 JDK-8042478 Include Mersenne primes in BigInteger primality testing
P4 JDK-6375303 Review use of caching in BigDecimal
P4 JDK-8042983 test/java/math/BigInteger/ needs too much heap
P4 JDK-8059175 Zero BigDecimal with negative scale prints leading zeroes in String.format
P5 JDK-8026236 Add PrimeTest for BigInteger
P5 JDK-4026465 Provide more byte array constructors for BigInteger


Priority Bug Summary
P1 JDK-8035897 Better memory allocation for file descriptors greater than 1024 on macosx
P1 JDK-8042950 JEP 110: HTTP/2 Client (Incubator)
P1 JDK-8155578 OpenJDK build failed after JDK-8044773
P2 JDK-8164815 3 JCK NetworkInterface tests fail on Raspberry Pi
P2 JDK-8047031 Add SocketPermission tests for legacy socket types
P2 JDK-8180424 Another build issue on AIX after 8034174
P2 JDK-8155770 Correct URLClassLoader API documentation to explicitly say jar-scheme URL's are accepted
P2 JDK-8178161 Default multicast interface on Mac
P2 JDK-8134577 Eliminate or standardize a replacement for
P2 JDK-8155963 Fix deprecation warning in windows implementation
P2 JDK-8158690 GET request via HTTP/2 has a huge delays due to Nagle’s Algorithm and Delayed ACK clash
P2 JDK-8087112 HTTP API and HTTP/1.1 implementation
P2 JDK-8181430 HTTP/2 client might deadlock when receiving data during the initial handshake
P2 JDK-8159053 Improve onPing/onClose behavior
P2 JDK-8156693 Improve usability of CompletableFuture use in WebSocket API
P2 JDK-8161091 Incorrect HTTP Stream.FlowControl implementation allows to send DataFrame even when window size was exhausted
P2 JDK-8035653 InetAddress.getLocalHost crash
P2 JDK-8015692 is thrown on Windows XP when HTTP server is started and stopped in the loop.
P2 JDK-8163482 adds a trailing colon when header-names is empty
P2 JDK-8180044 java/net/httpclient/ failed due to timeout
P2 JDK-8071424 JCK test api/java_net/Socket/descriptions.html#Bind crashes on Windows
P2 JDK-8077104 JEP-JDK-8042950: Test task: Develop new tests for JEP110: HTTP/2 Client
P2 JDK-8179021 Latest bugfixes to WebSocket/HPACK from the sandbox repo
P2 JDK-8158980 Memory leak in HTTP2Connection.streams
P2 JDK-8156742 Miscellaneous WebSocket API improvements
P2 JDK-8170648 Move package out of Java SE to incubator namespace
P2 JDK-8058216 NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack
P2 JDK-8157045 NPE during websocket communication with wss
P2 JDK-8178147 Race conditions in timeout handling code in http/2 incubator client
P2 JDK-8044773 Refactor API so that it can be moved out of the base module
P2 JDK-8132705 Refactor SharedSecrets in sun.misc.JavaNetAccess
P2 JDK-8180498 Remove httpclient internal APIs which supply ByteBuffers to read calls
P2 JDK-8153372 Remove sun.misc.ManagedLocalsThread from jdk.httpserver
P2 JDK-8075139 Restore java.protocol.handler.pkgs to work as a fallback for migration
P2 JDK-8161291 Serialization Tests for URLPermission is failing
P2 JDK-8156650 Simplify Text message support in WebSocket API
P2 JDK-8148609 socket impl supportedOptions() should return an immutable set
P2 JDK-8175814 Update default HttpClient protocol version and optional request version
P2 JDK-8157166 Update spec to account for platforms that do not support multicast
P2 JDK-8044769 URL/URLConnection needs to be updated to work with modules
P2 JDK-8174151 URLClassLoader no longer uses custom URLStreamHandler for jar URLs
P2 JDK-8087113 Websocket API and implementation
P2 JDK-8180155 WebSocket secure connection get stuck after onOpen
P3 JDK-8067846 (sctp) InternalError when receiving SendFailedNotification
P3 JDK-8067680 (sctp) Possible race initializing native IDs
P3 JDK-8038459 (sctp) Remove superflous classes on platforms without an implementation [macosx, aix]
P3 JDK-8034181 (sctp) SIGBUS in SctpChannelImpl receive
P3 JDK-8169495 Add a method to set an Authenticator on a HttpURLConnection.
P3 JDK-8169068 Add a new method:
P3 JDK-8166747 Add invalid network / computer name cases to isReachable known failure switch
P3 JDK-8163449 Allow per protocol setting for URLConnection defaultUseCaches
P3 JDK-8032832 Applet/browser deadlocks, when IIS integrated authentication is used
P3 JDK-8114860 Behavior of contradicts spec
P3 JDK-8044590 Broken links in
P3 JDK-8072466 Deadlock when initializing MulticastSocket and DatagramSocket
P3 JDK-8170868 DefaultProxySelector should use system defaults on Windows, MacOS and Gnome
P3 JDK-8041395 Doclint regression in
P3 JDK-8170785 Excessive allocation in ParseUtil.encodePath
P3 JDK-8161474 Extract interface from
P3 JDK-8170544 Fix code scan findings in libnet
P3 JDK-8154454 Fix compilation issue in PlainSocketImpl
P3 JDK-8179697 Fix Html5 errors in java.naming, java.logging, jdk.httpserver,, jdk.sctp
P3 JDK-8179392 Fix warnings in the httpclient javadoc
P3 JDK-8167295 Further cleanup to the native parts of libnet/libnio
P3 JDK-8160218 HPack decoder fails when processing header in multiple ByteBuffers
P3 JDK-8065994 HTTP Tunnel connection to NTLM proxy reauthenticates instead of using keep-alive
P3 JDK-8174745 Httpclient source update for JDK 8
P3 JDK-8133196 HTTPS hostname invalid issue with InetAddress
P3 JDK-8068795 HttpServer missing tailing space for some response codes
P3 JDK-8138990 Implementation of HTTP Digest authentication may be more flexible
P3 JDK-8071125 Improve exception messages in URLPermission
P3 JDK-8040747 Improve performance of IP address parsing
P3 JDK-8080819 Inet4AddressImpl regression caused by JDK-7180557
P3 JDK-8168840 InetAddress.getByName() throws no such interface when used with virtual interfaces on Solaris
P3 JDK-8159410 InetAddress.isReachable returns true for non existing IP addresses
P3 JDK-8133015 InetAddress.isReachable(tmout) returning wrong value on Windows for IPv6
P3 JDK-8143397 It looks like InetAddress.isReachable(timeout) works incorrectly
P3 JDK-8154487 java.httpclient/ failing on Windows
P3 JDK-8039470 Content Handler API incorrectly specifies implementation specific location of handler classes
P3 JDK-8143923 socket supportedOptions set depends on call order
P3 JDK-8163586 has been made public by mistake
P3 JDK-8169115 java/net/InetAddress/ptr/ failed intermittently
P3 JDK-8041677 java/net/MulticastSocket/TestInterfaces failed on Oracle VM Virtual Ethernet Adapter
P3 JDK-8173354 javadoc warning notice for types in Incubator Modules
P3 JDK-8041397 Lint regression in
P3 JDK-8077155 LoginContext Subject ignored by jdk8
P3 JDK-8157816 Mark 4 httpclient tests as intermittently failing
P3 JDK-8175325 NetworkInterface.getInterfaceAddresses throws NPE when no addresses
P3 JDK-8065078 NetworkInterface.getNetworkInterfaces() triggers intermittent test failures
P3 JDK-8160786 No CCC for public class
P3 JDK-8151788 NullPointerException from ntlm.Client.type3
P3 JDK-8175261 Per-protocol cache setting not working for JAR URLConnection
P3 JDK-8164625 Pooled HttpConnection should be removed during close
P3 JDK-8165180 Provide a shared secret to access non-public ServerSocket constructor
P3 JDK-8025710 Proxied HTTPS connections reused by HttpClient can send CONNECT to the server
P3 JDK-8038079 Re-examine integration of SPNEGO authentication
P3 JDK-8039362 Read as a resource
P3 JDK-8087190 Regression in
P3 JDK-8161333 Relay all exceptions through CompletableFuture rather than throw in-place
P3 JDK-8039253 Remove undocumented
P3 JDK-8172253 test fails with http return code 404
P3 JDK-8150521 SharedSecrets.getJavaNetInetAddressAccess should ensure that InetAddress is initialised
P3 JDK-8158023 SocketExceptions contain too little information sometimes
P3 JDK-8075484 SocketInputStream.socketRead0 can hang even with soTimeout set
P3 JDK-8129444 socksProxyVersion system property ignored for Socket(Proxy)
P3 JDK-8172732 spec clarification for URLClassLoader for Multirelease jars
P3 JDK-8161016 Strange behavior of URLConnection with proxy
P3 JDK-8056065 sun/net/www/protocol/http/ failing.
P3 JDK-8046588 test for SO_FLOW_SLA availability does not check for EACCESS
P3 JDK-8035633 TEST_BUG: java/net/NetworkInterface/ and some tests failed on windows intermittently
P3 JDK-8048212 Two tests failed with " Bad protocol option" on Windows after 8029607
P3 JDK-8029607 Type of Service (TOS) cannot be set in IPv6 header
P3 JDK-8163149 Typo in
P3 JDK-8143554 UnsupportedOperationException is not thrown for unsupported options
P3 JDK-8160050 UnsupportedTemporalTypeException is thrown when setting WebSocket connect timeout
P3 JDK-8157965 update httpserver logging to use java.lang.System.Logger
P3 JDK-8064924 Update to work with modules
P3 JDK-8148626 URI.toURL needs to use protocol Handler to parse file URIs
P3 JDK-8147962 URL should handle lower-casing of protocol locale-independently
P3 JDK-8073667 URL should not use service loader to lookup the jar protocol handler
P3 JDK-8166914 URLClassLoader spec needs to mention that it's MR-aware
P3 JDK-8064925 URLConnection::getContent needs to be updated to work with modules
P3 JDK-8156518 WebSocket.Builder.connectTimeout(long timeout, TimeUnit unit) implicitly affect websocket connection timeout
P3 JDK-8151586 Wrong exception catch for FTPClient in JDK-8055032
P4 JDK-8150460 (linux|bsd|aix)_close.c: file descriptor table may become large or may not work at all
P4 JDK-8075039 (sctp) com/sun/nio/sctp/SctpMultiChannel/ fails on Solaris only
P4 JDK-8038438 (sctp) Review comments from 8034181
P4 JDK-8139037 [aix] Crash in ResolverConfigurationImpl.c - pointer shearing
P4 JDK-8149179 [JEP 110] ArrayIndexOutOfBoundsException is thrown when update table max size
P4 JDK-8068597 Add error code to to exception condition message resulting from GetAdaptersAddresses function calls
P4 JDK-8157811 Additional minor fixes and cleanups in Networking native code
P4 JDK-8035876 AIX build issues after '8034174: Remove use of JVM_* functions from code'
P4 JDK-8040837 Avoid provoking NumberFormatException when initializing InetAddrCachePolicy
P4 JDK-8043954 Behavior difference when connect() is interrupted by signal on AIX
P4 JDK-8167481 cleanup of headers and includes for native libnet
P4 JDK-7052625 com/sun/net/httpserver/bugs/6725892/ fails intermittently
P4 JDK-8151441 Completion result in httpclient lost
P4 JDK-8158651 ConcurrentModification exceptions in httpclient
P4 JDK-8162745 files are missing some modern types
P4 JDK-8146686 Create the schemeSpecificPart for non-opaque URIs lazily
P4 JDK-8158881 Doc typo in src/../java/net/
P4 JDK-8154185 Drop code to support Windows XP in DefaultDatagramSocketImplFactory
P4 JDK-8154238 Drop code to support Windows XP in windows socket impl
P4 JDK-7010989 Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets
P4 JDK-8145732 Duplicate entry in http.nonProxyHosts will ignore subsequent entries
P4 JDK-8031201 Fix casting lint issues in
P4 JDK-8175274 Fix httpclient asynchronous usage
P4 JDK-8162819 fix minor Javadoc issues and remove warnings in
P4 JDK-8044858 Fix raw and unchecked lint warnings in socket direct protocol
P4 JDK-8038821 Fix typos in
P4 JDK-7167293 FtpURLConnection connection leak on FileNotFoundException
P4 JDK-8163181 Further improvements for Unix NetworkInterface native implementation
P4 JDK-8153353 HPACK implementation
P4 JDK-8151299 Http client SelectorManager overwriting read and write events
P4 JDK-8157105 HTTP/2 client hangs in blocking mode if an invalid frame has been received
P4 JDK-8157107 HTTP/2 client may fail with NPE if additional logging enabled
P4 JDK-8087124 HTTP/2 implementation (main part)
P4 JDK-8005068 HttpCookie does not correctly handle negative maxAge values
P4 JDK-8144692 HttpServer API: use of non-existant method in example in package Javadoc
P4 JDK-8156710 HttpTimeoutException should be thrown if server doesn't respond
P4 JDK-8027308 HttpURLConnection should better handle URLs with literal IPv6 addresses
P4 JDK-7150539 HttpURLConnection.getResponseMessage() doesn't throw IOException on server error (OS X)
P4 JDK-8147020 Impl: HTTP/2 small implementation tasks
P4 JDK-8146526 Improve$Parser startup characteristics
P4 JDK-8145862 Improve lazy initialization of fields in
P4 JDK-8049228 Improve multithreaded scalability of InetAddress cache
P4 JDK-8055032 Improve numerical parsing in and
P4 JDK-8158519 Incorrect network mask and broadcast address on Linux when there are multiple IPv4 addresses on an interface
P4 JDK-8171075 Inet4AddressImpl: Remove duplicate and (no longer used ?) native coding for BSD
P4 JDK-8016521 InetAddress should not always re-order addresses returned from name service
P4 JDK-7186258 InetAddress$Cache should replace currentTimeMillis with nanoTime for more precise and accurate
P4 JDK-8042581 Intermittent failure in java/net/DatagramSocket/
P4 JDK-8025209 Intermittent test failure java/net/Socket/asyncClose/
P4 JDK-6947916 JarURLConnection does not handle useCaches correctly
P4 JDK-8065096 should be properly synchronized
P4 JDK-8160174 - fixes and improvements for network interface listing
P4 JDK-4906983 constructors throw MalformedURLException in undocumented way
P4 JDK-8057936 uses exceptions in control flow
P4 JDK-8162521 java/net/Authenticator/ fails intermittently with BindException
P4 JDK-8156825 java/net/httpclient/ failed with "java.lang.AssertionError"
P4 JDK-8174716 java/net/httpclient/security/ failing in JDK 9
P4 JDK-8180279 java/net/httpclient/whitebox/ failed due to timeout
P4 JDK-8129510 java/net/Inet6Address/serialize/ should exclude testing the Teredo tunneling interface on Windows
P4 JDK-8140472 java/net/ipv6tests/ failed intermittently with Address already in use: NET_Bind
P4 JDK-8027903 java/net/MulticastSocket/ throws Cannot assign requested address
P4 JDK-8131155 java/net/NetworkInterface/ failed because of Teredo Tunneling Pseudo-Interface
P4 JDK-8146209 java/net/NetworkInterface/ still fails after fix JDK-8131155
P4 JDK-8038276 java/net/NetworkInterface/ fails on Windows intermittently for Teredo Interface
P4 JDK-8165711 java/net/SetFactoryPermission/ needs to run in ovm mode
P4 JDK-8065076 java/net/SocketPermission/ fails intermittently
P4 JDK-8047674 java/net/URLPermission/nstest/ NoClassDefFoundError when run in concurrent mode
P4 JDK-8078568 java/net/URLPermission/ fails intermittently with BindException
P4 JDK-8062744 does not support IP_TOS
P4 JDK-8153147 Mark java/net/BindException/ as intermittently failing
P4 JDK-8164545 Mark java/net/URLPermission/nstest/ as intermittently failing
P4 JDK-8157499 Mark several tests from jdk_net as intermittently failing
P4 JDK-8151260 Mark URLPermission/ and ipv6tests/ as intermittently failing
P4 JDK-8156521 Minor fixes and cleanups in NetworkInterface.c
P4 JDK-8034182 Misc. warnings in code
P4 JDK-8050983 Misplaced parentheses in break HTTP PUT streaming
P4 JDK-8151281 Module java.httpclient could use System.Logger instead of PlatformLogger
P4 JDK-8055747 Move SimpleSSLContext to jdk/testlibrary
P4 JDK-8044766 New classes have @since 1.9 tags in 8u20
P4 JDK-8166850 No runtime error expected after calling NET_MapSocketOption
P4 JDK-8168471 Non ANSI C declaration of block local variable in NetworkInterface_winXP.c
P4 JDK-7150092 NTLM authentication fail if user specified a different realm
P4 JDK-8137174 NTLM impl should use doPrivileged when it reads system properties
P4 JDK-8147862 Null check too late in
P4 JDK-8168405 Pending exceptions in java.base/windows/native/libnet
P4 JDK-7018010 Reference to ProxySelector is without link
P4 JDK-8176351 Release Note: The netdoc URL protocol Handler is removed
P4 JDK-8168771 Remove #ifdef AF_INET6 guards in libnet native coding
P4 JDK-8177564 Remove check for Windows XP and Server 2003 in java/nio/channels/DatagramChannel/
P4 JDK-8146567 Remove dead code finalizer methods
P4 JDK-8035158 Remove dependency on sun.misc.RegexpPool and friends
P4 JDK-8164057 Remove erroneous @since for[46]Address
P4 JDK-8155928 Remove hardcoded port numbers from httpclient/ test
P4 JDK-8159745 Remove
P4 JDK-8166584 Remove obsolete utility function NET_ThrowSocketException in windows libnet
P4 JDK-8180303 Remove technote doc link from ProxySelector/ test
P4 JDK-8035949 Remove unused macro USE_SELECT and clean up Unix version of net_util_md.{c,h}
P4 JDK-8034174 Remove use of JVM_* functions from code
P4 JDK-8155086 Replace usage of -Djdk.launcher.limitmods in tests with -limitmods
P4 JDK-8036584 Review comments from 8035897
P4 JDK-8144008 Setting NO_PROXY on HTTP URL connections does not stop proxying
P4 JDK-7178362 Socket impls should ignore unsupported proxy types rather than throwing
P4 JDK-7100957 SOCKS proxying does not work with IPv6 connections
P4 JDK-8159039 sun/net/httpclient/hpack/ fails on some locales
P4 JDK-8060097 sun/net/idn/ failed.
P4 JDK-8177144 sun/net/www/http/HttpClient/ should run in ovm mode
P4 JDK-8065222 sun/net/www/protocol/http/ doesn't execute as expected
P4 JDK-8129507 sun/net/www/protocol/http/ fails intermittently
P4 JDK-8085785 sun/net/www/protocol/http/ times out intermittently
P4 JDK-8146257 sun/net/www/protocol/jar/ fails intermittently with java.lang.RuntimeException: some jar_cache files left behind
P4 JDK-8036979 Support<> in socket types
P4 JDK-8060170 Support SIO_LOOPBACK_FAST_PATH option on Windows
P4 JDK-8168773 Temporarily remove java/net/httpclient from jdk_net test group
P4 JDK-8043838 Test java/net/ServerSocket/ failed intermittently in nightly
P4 JDK-7155591 test/java/net/MulticastSocket/ fails on macOS
P4 JDK-8072615 test/lib/testlibrary/jdk/testlibrary/ wrong on Windows
P4 JDK-8147015 Test: ALPN
P4 JDK-8031666 TEST_BUG: java/net/ipv6tests/ failed because of SocketTimeoutException
P4 JDK-8158525 Update a few java/net tests to use the loopback address instead of the host address
P4 JDK-8037396 URI getQuery() and getFragment() don't decode properly
P4 JDK-8147462 URI.toURL could be more efficient for most non-opaque URIs
P4 JDK-6933879 URISyntaxException when non-alphanumeric characters are present in scope_id
P4 JDK-8049220 URL.factory data race
P4 JDK-8145388 URLConnection.guessContentTypeFromStream returns image/jpg for some JPEG images
P4 JDK-8071660 URLPermission not handling empty method lists correctly
P4 JDK-8139179 URLStreamHandler* should link to URL ctor that specifies how factories/providers are located
P4 JDK-8031326 Use Class rather than Class in method signatures
P4 JDK-8171077 Use getaddrinfo/getnameinfo in Windows Inet4AddresImpl native code
P4 JDK-8145988 Use the raw methods of when possible
P5 JDK-6432031 Add support for SO_REUSEPORT
P5 JDK-8146041 does not recognize TIFF streams
P5 JDK-8059450 Not quite correct code sample in javadoc
P5 JDK-8036088 Replace strtok() with its safe equivalent strtok_s() in DefaultProxySelector.c
P5 JDK-8022580 path) handles "null" incorrectly
P5 JDK-8179512 Typo in HttpURLConnection documentation
P5 JDK-8175305 Typos in


Priority Bug Summary
P1 JDK-8140630 java/nio/Buffer/ crashes vm on linux-x64 using latest devkit to build
P2 JDK-8064466 (fs spec) Files.readAttributes(Path, String, LinkOption...) not clear when called with zero attributes
P2 JDK-8062553 (fs spec) Files.write and newBufferedWriter methods missing @throws IAE
P2 JDK-8062949 (fs) Files.setLastModifiedTime(path, null) does not throw NPE
P2 JDK-8029516 (fs) WatchKey cancel unreliable on Windows
P2 JDK-8176709 (zipfs) JarFileSystem::isMultiReleaseJar is incorrect
P2 JDK-8162458 Buffer view implementations use incorrect offset for Unsafe access
P2 JDK-8079459 JCK test api/java_nio/ByteBuffer/index.html#GetPutXXX start failing after JDK-8026049
P2 JDK-8163431 probeContentType/ fails after changes for JDK-8146215
P2 JDK-8170920 SO_RCVBUF and SO_SNDBUF options problem for network channels on MacOS
P2 JDK-8141491 Unaligned memory access in Bits.c
P3 JDK-8171452 (ch) linux io_util_md: Operation not supported exception after 8168628
P3 JDK-8050499 (ch) NativeSignal.signal fails with error 316 on OS X
P3 JDK-8055955 (ch) Remove unnecessary initialization of InetAddress from FileChannel
P3 JDK-8151582 (ch) test java/nio/channels/ failing due to "Connection succeeded"
P3 JDK-7133499 (fc) not preempted by asynchronous close on OS X
P3 JDK-8168628 (fc) SIGBUS when extending file size to map it
P3 JDK-8065109 (fs spec) Files.newBufferedWriter doesn't specify SecurityException for DELETE_ON_CLOSE option
P3 JDK-8062955 (fs spec) Files.setLastModifiedTime should specify SecurityException more clearly
P3 JDK-8062632 (fs spec) Package description could be clearer on the cases where NPE is thrown
P3 JDK-8066943 (fs) Path.relativize() gives incorrect result for ".."
P3 JDK-8030090 (fs) Add default methods to Path for derived methods
P3 JDK-8173982 (fs) DefaultFileSystemProvider should be split into platform specific versions
P3 JDK-8165323 (fs) Files.getFileStore fails with "Mount point not found" in chroot environment
P3 JDK-8132539 (fs) Files.lines(path).collect() returns wrong value in JDK 9 with certain files
P3 JDK-8153414 (fs) Internal sun/nio/fs exceptions should be stackless
P3 JDK-8145981 (fs) LinuxWatchService can reports events against wrong directory
P3 JDK-8042816 (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified, part 2
P3 JDK-8072495 (fs) Path.relativize() gives incorrect result for empty path on Windows
P3 JDK-8140449 (fs) Paths.get("x").relativize("") return ..\ on Windows
P3 JDK-8152043 (fs) Remove dynamic loopup of Win32 API functions in WindowsNativeDispatcher needed to support Windows XP and Server 2003
P3 JDK-8160220 (fs) Tests in jdk/test/java/nio/file/WatchService leave directory trees behind
P3 JDK-8153925 (fs) WatchService hangs on GetOverlappedResult and locks directory (win)
P3 JDK-8153192 (se) uses wrong timeout after EINTR (lnx)
P3 JDK-8172547 (se) fires repeatedly
P3 JDK-8173197 (se) WindowsSelectorImpl.c does not compile with VS2010
P3 JDK-8071599 (so) Socket adapter sendUrgentData throws IllegalBlockingMode when channel configured non-blocking
P3 JDK-8150496 (zipfs) Fix performance issues in zip-fs
P3 JDK-8150366 (zipfs) lastAccessTime and createTime returned as null instead of default value
P3 JDK-8034773 (zipfs) newOutputstream uses CREATE_NEW when no options specified
P3 JDK-8028480 (zipfs) NoSuchFileException on creating a file in ZipFileSystem with CREATE and WRITE
P3 JDK-8038500 (zipfs) Upgrade ZIP provider to be a supported provider
P3 JDK-8131067 (zipfs) Zip File System Provider returns doubly-encoded Path URIs
P3 JDK-8069211 (zipfs) ZipFileSystem creates corrupted zip if entry output stream gets closed more than once
P3 JDK-8132854 Adjust tier 1 and 2 definitions for nio-related intrinsics
P3 JDK-8034057 Files.getFileStore and Files.isWritable do not work with SUBST'ed drives (win)
P3 JDK-8154455 Fix compilation issue in WindowsAsynchronousSocketChannelImpl
P3 JDK-8153563 java/nio/Buffer/ and are failing after JDK-8149469
P3 JDK-8153209 java/nio/channels/ fails throwing exception: java.nio.channels.ClosedChannelException
P3 JDK-8164432 java/nio/file/Files/probeContentType/ fails on windows for Content type: audio/vnd.dlna.adts
P3 JDK-8160221 jdk/test/java/nio/channels/FileChannel/ leaving files behind
P3 JDK-8174960 Mark as failing intermittently
P3 JDK-8037945 Paths.get("").normalize() throws ArrayIndexOutOfBoundsException
P3 JDK-8066258 Re-examine com.sun.nio.file to see if it should be a supported API
P3 JDK-8142872 Remove support for from 9
P3 JDK-8074821 Resolve disabled warnings for libnio
P3 JDK-8165643 SecureDirectoryStream doesn't work on linux non-x86
P3 JDK-8146359 test/java/nio/file/attribute/BasicFileAttributeView/ fails when nc is not available
P3 JDK-8065595 Wrong JNI_OnLoad called if just loaded lib does not have JNI_OnLoad function
P3 JDK-8172921 Zip filesystem performance improvement and code cleanup
P4 JDK-8065570 (bf spec) ByteBuffer.slice() should make it clear that the initial order is BIG_ENDIAN
P4 JDK-8147468 (bf) Allow users to bound the size of buffers cached in the per-thread buffer caches
P4 JDK-8065556 (bf) Buffer.position and other methods should include detail in IAE
P4 JDK-6857566 (bf) DirectByteBuffer garbage creation can outpace reclamation
P4 JDK-8150785 (bf) Hoist slice and duplicate methods up to java.nio.Buffer
P4 JDK-8026049 (bf) Intrinsify ByteBuffer.put{Int,Double,Float,...} methods
P4 JDK-8075655 (bf) NIO test generation scripts have incorrect path to
P4 JDK-8065720 (ch) AbstractInterruptibleChannel.end sets interrupted to null
P4 JDK-8174127 (ch) Add instrumentation to java/nio/channels/FileChannel/
P4 JDK-8176317 (ch) Add print of timeout value to java/nio/channels/AsynchronousSocketChannel/
P4 JDK-8055915 (ch) FileDispatcherImpl.truncate0 should use SetFileInformationByHandle [win]
P4 JDK-8087304 (ch) java/nio/channels/DatagramChannel/ received 4 times while expected 3
P4 JDK-8178074 (ch) java/nio/channels/etc/ add instrumentation
P4 JDK-8177984 (ch) java/nio/channels/SocketChannel/ should use RandomFactory
P4 JDK-8180085 (ch) java/nio/channels/SocketChannel/ add debug instrumentation
P4 JDK-8041772 (ch) PendingFuture.CANCELLED has backtrace that potentially keeps objects alive
P4 JDK-8166866 (ch) Remove AIX specific implementation file java.base/aix/native/libnio/ch/AixNativeThread.c
P4 JDK-8166604 (ch) remove unneeded locals variables and correct NPE
P4 JDK-8165664 (ch) does not respect timeout in case of system date/time change and blocks
P4 JDK-8068693 (ch) test java/nio/channels/ failing
P4 JDK-8032451 (dc) DatagramChannel.join should support include-mode filtering on OS X
P4 JDK-8143610 (dc) java/nio/channels/DatagramChannel/ failed intermittently due to SocketTimeoutException
P4 JDK-8076644 (dc) fails with NumberFormatException due to network interference
P4 JDK-8079651 (dc) fails with NumberFormatException due to network interference
P4 JDK-8177550 (fc) Enable java/nio/channels/FileChannel/{,} on Linux and Windows
P4 JDK-8064407 (fc) FileChannel transferTo should use TransmitFile on Windows
P4 JDK-8054029 (fc) FileChannel.size() returns 0 for block devices on Linux
P4 JDK-8053931 (fc) FileDispatcherImpl.lock0 does not handle ERROR_IO_PENDING [win]
P4 JDK-8025619 (fc) FileInputStream.getChannel on closed stream returns FileChannel that doesn't know that stream is closed
P4 JDK-8176846 (fc) Increase timeouts of and instrument some tests using FileChannel#write
P4 JDK-8137121 (fc) Infinite loop FileChannel.truncate
P4 JDK-8043495 (fc) Provide native implementation of FileChannel.transferTo for AIX
P4 JDK-8068507 (fc) Rename the new system property to jdk.nio.enableFastFileTransfer
P4 JDK-8176895 (fc) Split java/nio/channels/FileChannel/ into smaller tests
P4 JDK-8024086 (fs) AtomicMoveNotSupportedException allows reason to be null
P4 JDK-8055421 (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
P4 JDK-8160687 (fs) Cannot tell which WatchService test is not deleting temp directories "work*"
P4 JDK-8139133 (fs) Changing the modification time on a unix domain socket file fails
P4 JDK-8080115 (fs) Crash in libgio when calling Files.probeContentType(path) from parallel threads
P4 JDK-8154208 (fs) Drop code for Windows XP/2003 from file system provider
P4 JDK-8150204 (fs) Enhance java/nio/file/Files/probeContentType/ debugging output
P4 JDK-8080589 (fs) FileChannel.force should use fcntl(F_FULLFSYNC) instead of fsync on OS X
P4 JDK-6880737 (fs) FileLock constructors don't throw NPE if the channel argument is null
P4 JDK-8072773 (fs) Files.lines needs a better splitting implementation for stream source
P4 JDK-8066915 (fs) Files.newByteChannel opens directories for cases where subsequent reads may fail
P4 JDK-8129632 (fs) Files.probeContentType returns null on Mac OS X
P4 JDK-8081843 (fs) FileStore.getTotalSpace returns unexpected results with >2TB file systems
P4 JDK-8073445 (fs) FileSystem.getPathMatcher(...) should check syntax component without regard to case
P4 JDK-8132497 (fs) FileSystems.newFileSystem(URI, ..) doesn't handle UOE thrown by provider
P4 JDK-8129633 (fs) Investigate removing the GNOME-based FileTypeDetector from the Linux and Solaris implementations
P4 JDK-8146215 (fs) java/nio/file/Files/probeContentType/ failed frequently on Solaris-sparc with Unexpected type: text/plain
P4 JDK-8133287 (fs) java/nio/file/Files/probeContentType/ should use othervm mode
P4 JDK-8135091 (fs) java/nio/file/Files/ should test empty files
P4 JDK-8176237 (fs) java/nio/file/FileStore/ should conditionally check FileStores
P4 JDK-8173910 (fs) java/nio/file/FileSystem/ should conditionally check FileStores
P4 JDK-8148821 (fs) Path.getParent() javadoc error
P4 JDK-8011537 (fs) Path.register(..) clears interrupt status of thread with no InterruptedException
P4 JDK-8056205 (fs) Potential for NPE in Files.walkFileTree if closing directory fails
P4 JDK-8080629 (fs) Re-enable ability to fsync() on directories even though read()s on those directories may fail.
P4 JDK-8154077 (fs) Reduce number of file system classes loaded during startup
P4 JDK-8162624 (fs) Remove FileTypeDetectors based on libgio and libmagic
P4 JDK-8160018 (fs) Remove GioFileTypeDetector on Solaris
P4 JDK-8133987 (fs) Rename GnomeFileTypeDetector to GioFileTypeFileDetector
P4 JDK-8066196 (fs) Typo in Path::normalize, empty path only returned if path does not have a root component
P4 JDK-8168500 (se) EPollArrayWrapper optimization for update events should be robust to dynamic changes in file descriptor resource limits
P4 JDK-8138819 (se) File descriptor leak when fails
P4 JDK-8175033 (se) Improve internal timing of java/nio/channels/Selector/
P4 JDK-8061777 (zipfs) IllegalArgumentException in ZipCoder.toString when using Shitft_JIS
P4 JDK-8062754 (zipfs) newFileSystem should throw IOException instead of
P4 JDK-8066643 (zipfs) Suppress deprecation warnings in jdk.zipfs module
P4 JDK-8139956 (zipfs) ZipPath does not produce correct empty path on relativize()
P4 JDK-8147539 (zipfs) ZipPath should throw ProviderMismatchException when invoking register()
P4 JDK-8153248 (zipfs) ZipPath#getFileName( ) returns inconsistent result
P4 JDK-8146754 (zipfs) ZipPath.relativize() returns wrong result for path ending with slash /
P4 JDK-8133232 [fs] Regex has redundant | in the char class
P4 JDK-8175209 Account for race condition in java/nio/channels/AsynchronousSocketChannel/
P4 JDK-8163136 Add print statements to java/nio/file/WatchService/
P4 JDK-8162902 Add some debugging output to test/java/nio/file/WatchService/DeleteInterference
P4 JDK-8163305 Add some print instrumentation to java/nio/channels/Selector/RacyDeregister
P4 JDK-8175041 Add success message to java/nio/channels/FileChannel/
P4 JDK-8034801 AIX: (ch) Fix synchronization issue in
P4 JDK-8151163 All Buffer implementations should leverage Unsafe unaligned accessors
P4 JDK-8132795 Bug ID accidentally omitted from top level regression test in fix for JDK-8065556
P4 JDK-8149469 ByteBuffer API and implementation enhancements for VarHandles
P4 JDK-8164649 Cleanup of test java/nio/channels/FileChannel/
P4 JDK-8164556 Drop AAC and FLAC from content type check in java/nio/file/Files/probeContentType/
P4 JDK-8154436 Drop code to support Windows XP in windows async channel impl
P4 JDK-8177559 Enable java/nio/channels/Selector/ for macOS >= 10.10.5
P4 JDK-8032220 Files.createDirectories throws exception with confusing message for root directories that exist
P4 JDK-8066644 Fix deprecation warnings in jdk.zipfs module
P4 JDK-8033527 Fix raw type lint warning in
P4 JDK-8160831 GioFileTypeDetector always calls deprecated g_type_init
P4 JDK-8175115 Improve instrumentation of java/nio/file/WatchService/
P4 JDK-8176744 Improve internal timing of java/nio/channels/Selector/
P4 JDK-8176394 Incorrect relational operator in java/nio/channels/FileChannel/
P4 JDK-8176332 Increase sleep time in java/nio/channels/Selector/ write1()
P4 JDK-8156931 java.nio.Buffer tests cleanup
P4 JDK-8177565 java/nio/channels/Selector/ disabled for Windows release >= 6.0
P4 JDK-8081293 java/nio/file/Files/ failed with java.nio.file.FileAlreadyExistsException intermittently
P4 JDK-8030795 java/nio/file/Files/probeContentType/ failing with ServiceConfigurationError without jtreg -agentvm option
P4 JDK-8130274 java/nio/file/FileStore/ fails when two successive stores in an iteration are determined to be equal
P4 JDK-8073078 java/nio/file/FileStore/ sensitive to NFS configuration
P4 JDK-8179247 java/util/zip/ add some instrumentation which might illuminate the failure of 2016-09-14
P4 JDK-8132652 Java_sun_nio_ch_Net_poll passes a long to an int
P4 JDK-8073207 javadoc typos in java.nio.channels.Pipe
P4 JDK-8176834 jdk/nio/zipfs/ test fails after JDK-8176709
P4 JDK-8152749 Mark as intermittently failing
P4 JDK-8175062 Mark java/nio/channels/ as intermittently failing
P4 JDK-8153722 Mark java/nio/channels/Selector/ as intermittently failing
P4 JDK-8156512 Mark several tests from java/nio as intermittently failing
P4 JDK-8062501 Modifications of server socket channel accept() methods for instrumentation purposes
P4 JDK-8169764 output more information when java/nio/channels/AsynchronousSocketChannel/ fails
P4 JDK-8168417 Pending exceptions in java.base/windows/native/libnio
P4 JDK-8179452 Remove "intermittent" key from some tests which appear no longer to fail
P4 JDK-8180431 Remove "intermittent" keyword from some no longer failing NIO tests
P4 JDK-8149596 Remove java.nio.Bits copy wrapper methods
P4 JDK-8133459 replace tags (obsolete in html5) in java.nio docs
P4 JDK-8165000 throws IOException when timeout is a large long
P4 JDK-8132505 Signature of Java_sun_nio_ch_Net_socket0 should return jint not int
P4 JDK-8075774 Small readability and performance improvements for zipfs
P4 JDK-8031113 TEST_BUG: java/nio/channels/AsynchronousChannelGroup/ fails intermittently
P4 JDK-8031563 TEST_BUG: java/nio/channels/Selector/ failed once
P4 JDK-8027212 TEST_BUG: java/nio/channels/Selector/ fails intermittently
P4 JDK-4774077 Use covariant return types in the NIO buffer hierarchy
P4 JDK-8037394 ZipFileSystem leaks file descriptor when file is not a valid zip file
P5 JDK-8059840 (bb) Typo in javadoc for ByteBuffer.wrap()
P5 JDK-8051057 (bf) Optimize StringCharBuffer.toString(int, int)
P5 JDK-8074067 (bf) Re-examine java.base/share/native/libjava/Bits.c
P5 JDK-8058099 (fc) Cleanup in FileChannel/FileDispatcher native implementation [win]
P5 JDK-8073923 (fs) Files.lines documentation needs clarification
P5 JDK-8133986 (fs) java/nio/file/FileSystem/ checkNoUOE(): do not delete paths which caused an unexpected exception
P5 JDK-8040262 (fs) Misc. typos in comments and implementation
P5 JDK-8042470 (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified
P5 JDK-8148121 (fs) Typo in API , FileOwnerAttributeView.getOwner() and FileOwnerAttributeView.setOwner()
P5 JDK-8167058 (fs) UnixDirectoryIterator::stream unused
P5 JDK-8024832 (so) ServerSocketChannel.socket().accept() throws IllegalBlockingModeException if not bound
P5 JDK-8069262 Doclint regression in java.nio.channels.Channels
P5 JDK-8066678 java.nio.channels.Channels cleanup
P5 JDK-8178783 Java_sun_nio_ch_EPoll_close0 definition, but no declaration.
P5 JDK-8161455 Missing word in API documentation


Priority Bug Summary
P2 JDK-8080330 (cs) Charset.availableCharsets failing with NPE on several platforms
P2 JDK-8080248 Coding regression in HKSCS charsets
P2 JDK-8030179 java/nio/Buffer/, testcases seems all pass but jtreg/testng failed with java.lang.AssertionError
P2 JDK-8038310 Re-examine integration of extended Charsets
P3 JDK-8155513 Deprivilege jdk.charsets
P3 JDK-8132459 ExceptionInInitializerError from 'java -version' under zh_CN.GB18030 locale
P3 JDK-8071447 IBM1166 Locale Request for Kazakh characters
P3 JDK-8177314 java VM fails to start with a Japanese ShiftJIS locale
P3 JDK-8022224 Rare bug in JISAutodetect charset detected by FindDecoderBugs test
P3 JDK-8174831 Reduce number of Charset classes loaded on bootstrap
P3 JDK-8167957 Remove FilePermission from default policy for jdk.charsets module
P3 JDK-8039474 sun.misc.CharacterDecoder.decodeBuffer should use getBytes(iso8859-1)
P3 JDK-8080803 sun/nio/cs/ failing intermittently
P3 JDK-8073152 Update Standard/ExtendedCharsets to work with module system
P3 JDK-8039751 UTF-8 decoder fails to handle some edge cases correctly
P4 JDK-8073692 (cs) Inconsistent docs for CharsetDecoder.replaceWith and CharsetEncoder.replaceWith
P4 JDK-8035814 Broken link in java.nio.charset.StandardCharsets
P4 JDK-8081522 build failed with jdk8081452 change.
P4 JDK-8073893 Enable charsets build system to configure euc_tw into java.base module/sun.nio.cs
P4 JDK-8036848 Fix deprecation warning in sun.misc.CharacterDecoder
P4 JDK-8081452 Move sun.nio.cs.AbstractCharsetProvider into jdk.charset/sun.nio.cs.ext
P4 JDK-8067964 Native2ascii doesn't close one of the streams it opens
P4 JDK-8080711 Prepare sun/nio/cs/ to find intermittent failures
P4 JDK-8171234 Remove intermittent key from test java/nio/charset/coders/
P4 JDK-8080680 sun/nio/cs/ should be removed from TEST.groups
P4 JDK-8166258 Unexpected code conversion by HKSCS converters
P4 JDK-8080658 Update sun/nio/cs/ to use random number generator library
P4 JDK-8073924 Update test/java/nio/charset/Charset/ to work with module system


Priority Bug Summary
P2 JDK-8180582 After updating to Java8u131, the bind to rmiregistry is rejected by registryFilter even though registryFilter is set
P2 JDK-8180949 Correctly handle exception in TCPChannel.createConnection
P2 JDK-8155182 fix to JDK-8066750 broke jdk9 builds
P2 JDK-8165649 Re-examine if Activatable object can be created from non-public class and/or constructor
P2 JDK-8165806 UnicastServerRef support to export an object with a filter
P3 JDK-8146299 Disable rmic -Xnew
P3 JDK-8152277 Move URLClassPath.pathToURLs(String) to RegistryImpl
P3 JDK-8066750 Remove HTTP proxy implementation and tests from RMI
P3 JDK-8155978 Remove HTTP proxy implementation and tests from RMI (again)
P3 JDK-8153320 Remove HttpProxy descriptions from RMI specification
P3 JDK-8165261 RMI API to export an object with a serialization filter
P3 JDK-8158963 RMI server-side multiplex protocol should be disabled
P3 JDK-8153882 rmid emits warning about security policy with obsolete URL
P3 JDK-8046339 sun.rmi.transport.DGCAckHandler leaks memory
P3 JDK-8066835 TEST_BUG: javax/management/remote/mandatory/connection/ fails
P3 JDK-8044626 Update RMI specifications to reflect modularization changes
P4 JDK-8079778 Add intermittent tag to java/rmi/activation/rmidViaInheritedChannel/
P4 JDK-8159408 duplicated data in rmic's
P4 JDK-8066633 Fix deprecation warnings in java.rmi module
P4 JDK-8154733 Fix module dependencies missed in java.rmi tests
P4 JDK-8151263 Mark java/rmi test as intermittently failing
P4 JDK-8139407 Mark java/rmi/registry/readTest/ as intermittently failing
P4 JDK-8158560 Mark java/rmi/transport/dgcDeadLock/ as intermittently faiing
P4 JDK-8161011 Mark RMI tests DownloadActivationGroup, UseCustomSocketFactory, and RestartService as itnermittent
P4 JDK-8129624 Move jdk_rmi test group from tier 2 to tier 3
P4 JDK-8023541 Race condition in rmid initialization
P4 JDK-8172347 Refactoring src/java.rmi/share/classes/sun/rmi/registry/ to improve testability of rmiregistry
P4 JDK-6512052 remove java-rmi.exe and java-rmi.cgi
P4 JDK-8036095 RMI tests using testlibrary.RMID and testlibrary.JavaVM do not pass through vmoptions
P4 JDK-8151847 rmic should support v53 classfiles
P4 JDK-8129499 Structure of java/rmi/activation/rmidViaInheritedChannel tests masks exception
P4 JDK-8157570 sun.rmi.transport.GC retains a strong reference to the context class loader
P4 JDK-8066632 Suppress deprecation warnings in java.rmi module
P4 JDK-8069255 Suppress deprecation warnings in jdk.rmic module (jdk repo)
P4 JDK-8034999 TEST_BUG: change rmidRunning to a simple lookup
P4 JDK-8035117 TEST_BUG: java/rmi/server/RemoteObject/notExtending/ can fail with timeout
P4 JDK-8035000 TEST_BUG: remove ActivationLibrary.DestroyThread and have callers call rmid.destroy() instead
P4 JDK-8027810 TEST_BUG: RMI CheckUsage tests should be deleted
P4 JDK-8007256 TEST_BUG: RMI testlibrary cleanup: remove JavaVMCallbackHandler
P4 JDK-8035001 TEST_BUG: the retry logic in RMID.start() should check that the subprocess hasn't terminated
P4 JDK-8067316 TEST_BUG: update RMI test library with better test.timeout.factor handling
P4 JDK-8031179 TEST_BUG: update RMI tests to declare othervm explicitly
P4 JDK-8171120 The RMI specification is converted to use Markdown.


Priority Bug Summary
P2 JDK-8058429 JCK test api/java_sql/Timestamp/descriptions.html start failing after 8058230
P3 JDK-8176721 @since value errors java.sql module
P3 JDK-8085984 Add support for Sharding
P3 JDK-8154189 Deprivilege java.sql and java.sql.rowset module
P3 JDK-8180256 Fix HTML 5 issues in java.sql and java.sql.rowset modules
P3 JDK-8058514 TEST_BUG: New tests introduced in 8058429 are TimeZone dependent
P4 JDK-8057826 Add DataProvider support to the Date, Time and Timestamp tests
P4 JDK-8055776 Add initial unit tests which test SQLPermissions
P4 JDK-8179634 Add JDBC 4.2 to builet list in package.html
P4 JDK-8144082 Add Statement.enquoteNCharLiteral to support National Character Set literals
P4 JDK-8143165 Add Statement.isSimpleIdentifier and add throws clause to enquoteLiteral
P4 JDK-8067904 Additional DriverManager clean-up from 8060068
P4 JDK-8039088 Borken links to the JDBC spec and tutorial in src/share/classes/javax/sql/package.html
P4 JDK-8058413 change formatDecimalInt so it is package private
P4 JDK-8038653 Clarify that Time.toLocalTime treats the nanos as 0
P4 JDK-8180728 DatabaseMetaData.getRowIdLifetime() refers to an int return value rather than enum
P4 JDK-8058394 Doclint issue for java vs javadoc comment in Date.sql
P4 JDK-8058366 export sun.misc to java.sql
P4 JDK-8141546 fix typo in due to 8136496
P4 JDK-8058230 Improve java.sql toString formatting
P4 JDK-8055055 Improve numeric parsing in java.sql
P4 JDK-6925714 JDBC should not require rowset RI to be present
P4 JDK-8169806 Minor cleanup of the DriverManager overview comments
P4 JDK-8138661 Minor correction in Java API doc for DataSource
P4 JDK-8133939 Minor javadoc clarification for java.sql.Date.toLocalDate
P4 JDK-8062288 Minor reorg of test/java/sql testng tests
P4 JDK-8178130 Minor updates to Connection javadocs
P4 JDK-8176235 Minor updates to java.sql and javax.sql package.html
P4 JDK-8038493 Tidy warnings cleanup for java.sql
P4 JDK-8034896 typo in
P4 JDK-8172350 Typo in java.sql.Timestamp.toString() method Javadoc.
P5 JDK-8054555 javadoc typo clean up
P5 JDK-8066261 Typo in isValid(int timeout) API in java.sql.Connection


Priority Bug Summary
P2 JDK-8065159 AttributedString has quadratic resize algorithm
P2 JDK-8149452 j.t.SimpleDateFormat.getDateFormatSymbols().getZoneStrings() returns incorrect result for some time zones
P3 JDK-8132658 [Regression] Test closed/sun/awt/font/Bidi/ fails
P3 JDK-8150702 change in javadoc for parseObject for MessageFormat - JDK-8073211
P3 JDK-8087104 DateFormatSymbols triggers this.clone() in the constructor
P3 JDK-8165466 DecimalFormat percentage format can contain unexpected %
P3 JDK-8169480 Inconsistencies across Format class hierarchy in their API spec and actual implementation of Exceptions
P3 JDK-8055900 j.t.SimpleDateFormat spec needs to be clarified regarding month patterns
P3 JDK-8159943 JavaTimeSupplementary resource bundles need update
P3 JDK-8134720 Lazy initialization support for currency names in DecimalFormatSymbols
P3 JDK-8074791 Long-form date format incorrect month string for Finnish locale
P3 JDK-8081794 ParsePosition getErrorIndex returns 0 for TimeZone parsing problem
P3 JDK-8038092 Re-examine Bidi reflective dependency on java.awt.font
P3 JDK-8151393 Revert changes for JDK-8087104
P3 JDK-8165804 Revisit the way of loading BreakIterator rules/dictionaries
P3 JDK-7184310 Update Java bidi engine with the latest UAX #9 (Unicode Bidirectional Algorithm)
P3 JDK-8039915 Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5
P4 JDK-8027289 [Windows zh_CN] NumberFormat: Incorrect sequence of loading currency symbol
P4 JDK-7094818 closed/java/text/Format/DateFormat tests failed on Hindi
P4 JDK-8075173 DateFormat in german locale returns wrong value for month march
P4 JDK-8129555 DateFormatSymbols: month-related methods must refer to Calendar constants
P4 JDK-8072099 Format "ha" is unable to parse hours 10-12
P4 JDK-8073211 javadoc of Format parseObject methods should specify NullPointerExceptions
P4 JDK-8138663 Missing @build in test/java/text/Format/DecimalFormat/
P4 JDK-8139572 SimpleDateFormat parse month stand-alone format bug
P4 JDK-7090039 Wrong link in comment of java.text.DateFormatSymbols


Priority Bug Summary
P1 JDK-8159530 recent compiler change results in compile error in
P2 JDK-8151876 (tz) Support tzdata2016d
P2 JDK-8166875 (tz) Support tzdata2016g
P2 JDK-8170316 (tz) Support tzdata2016j
P2 JDK-8177449 (tz) Support tzdata2017b
P2 JDK-8067800 Clarify java.time.chrono.Chronology.isLeapYear for out of range years
P2 JDK-8064914 tzdb.dat compilation failure when using tzdata2014j
P2 JDK-8178823 Unable to initialize HijrahCalendar: Hijrah-umalqura when running with a security manager
P3 JDK-8032051 "ZonedDateTime" class "parse" method fails with short time zone offset ("+01")
P3 JDK-8159684 (tz) Support tzdata2016f
P3 JDK-8168512 (tz) Support tzdata2016h
P3 JDK-8169191 (tz) Support tzdata2016i
P3 JDK-8176044 (tz) Support tzdata2017a
P3 JDK-8030864 Add an efficient getDateTimeMillis method to java.time
P3 JDK-8051641 Africa/Casablanca transitions is incorrectly calculated starting from 2027
P3 JDK-8068278 ArrayIndexOutOfBoundsException instead of DateTimeException in j.t.chrono.JapaneseChronology.eraOf()
P3 JDK-8180428 Clarify implementation note in to match implementation changes made by JDK-8068730
P3 JDK-8042126 DateTimeFormatter "MMMMM" returns English value in Japanese locale
P3 JDK-8077640 DateTimeFormatter does not parse/accept the era.toString() result from MinguoEra/ThaiBuddhistEra
P3 JDK-8032491 DateTimeFormatter fixed width adjacent value parsing does not match spec
P3 JDK-8032494 DateTimeFormatter spec includes irrelevant detail on parsing pattern
P3 JDK-8139107 DateTimeFormatter with Locale.UK throw a NullPointerException when parsing zone
P3 JDK-8031085 DateTimeFormatter won't parse dates with custom format "yyyyMMddHHmmssSSS"
P3 JDK-8074406 DateTimeFormatter.appendZoneOrOffsetId() fails to resolve a ZoneOffset for OffsetDateTime
P3 JDK-8171348 Incorrect documentation for DateTimeFormatter letter 'k'
P3 JDK-8068730 Increase the precision of the implementation of java.time.Clock.systemUTC()
P3 JDK-8032558 Instant spec includes incorrect assertion wrt valid range
P3 JDK-8074032 Instant.ofEpochMilli(millis).toEpochMilli() can throw arithmetic overflow in toEpochMilli()
P3 JDK-8040058 IsoFields.WEEK_BASED_YEAR adjustInto incorrect
P3 JDK-8054214 JapaneseEra.getDisplayName doesn't return names if it's an additional era
P3 JDK-8075577 java.time does not support HOST provider
P3 JDK-8068276 java.time.chrono.HijrahChronology.eraOf() assertions may lead to misunderstanding
P3 JDK-8054978 java.time.Duration.parse() fails for negative duration with 0 seconds and nanos
P3 JDK-8066806 java.time.format.DateTimeFormatter cannot parse an offset with single digit hour
P3 JDK-8033662 java.time.format.DateTimeFormatter doesn't set zone when parsing
P3 JDK-8134928 java.time.Instant.truncatedTo(TemporalUnit unit) is truncating up if the year < 1970
P3 JDK-8160681 LocalDate.ofEpochDay input validation
P3 JDK-8044671 NPE from JapaneseEra when a new era is defined in
P3 JDK-8048124 Read as a resource
P3 JDK-8066571 UnsupportedTemporalTypeException is thrown not only in the case of unsupported temporal
P3 JDK-8173423 Wrong display name for supplemental Japanese era
P3 JDK-8066982 ZonedDateTime.parse() returns wrong ZoneOffset around DST fall transition
P3 JDK-8079063 ZoneOffsetTransitionRule.of should throw IAE for non-zero nanoseconds
P4 JDK-8030822 (tz) Support tzdata2013i
P4 JDK-8144349 @since tag missed
P4 JDK-8155823 Add date-time patterns 'v' and 'vvvv'
P4 JDK-8071919 Add java.time.Clock.tickMillis(ZoneId zone) method
P4 JDK-8142936 Add java.time.Duration methods for days, hours, minutes, seconds, etc.
P4 JDK-8032510 Add java.time.Duration.dividedBy(Duration)
P4 JDK-8146218 Add LocalDate.datesUntil method producing Stream
P4 JDK-8143413 add toEpochSecond methods for efficient access
P4 JDK-8145633 Adjacent value parsing not supported for Localized Patterns
P4 JDK-8036785 ChronoLocalDate refers to generics that have been removed
P4 JDK-8073394 Clock.systemUTC() should return a constant
P4 JDK-8148947 DateTimeFormatter pattern letter 'g'
P4 JDK-8148949 DateTimeFormatter pattern letters 'A','n','N'
P4 JDK-8036818 DateTimeFormatter withResolverFields() fails to accept null
P4 JDK-8167618 DateTimeFormatter.format() uses exceptions for flow control
P4 JDK-8076441 Dead code in java.time.chrono.Chronology.isLeapYear after fixing JDK-8067800
P4 JDK-8062513 doclint warnings in HijrahChronology
P4 JDK-8129744 Documentation in Month refers to quarters
P4 JDK-8145166 Duration.toString violates specification
P4 JDK-8148950 Enhance ChronoField Javadoc
P4 JDK-8032888 Error message typo in TemporalAccessor
P4 JDK-8140211 Example in the Documentation is wrong for java.time.ZonedDateTime.minusHours
P4 JDK-8034906 Fix typos, errors and Javadoc differences in java.time
P4 JDK-8061533 HijrahChronology should use Integer.parseInt
P4 JDK-8163330 HijrahDate aligned day of week incorrect
P4 JDK-8142539 Incorrect definition of ZoneOffset.MIN
P4 JDK-8171940 Incorrect statement about an absolute value of months unit after period's normalization
P4 JDK-8133022 Instant.toEpochMilli() silently overflows
P4 JDK-8062804 IsoFields WEEK_BASED_YEAR and QUARTER_OF_YEAR too lenient
P4 JDK-8160036 Java API doc for method minusMonths in LocalDateTime class needs correction
P4 JDK-8167166 Java API docs mention a non-existent method getNanosOfSecond
P4 JDK-8032502 java.time add @param tags to readObject
P4 JDK-8075678 java.time javadoc error in DateTimeFormatter::parsedLeapSecond
P4 JDK-8133079 java.time LocalDate and LocalTime ofInstant() factory methods
P4 JDK-8075676 java.time package javadoc typos
P4 JDK-8169482 java.time.DateTimeFormatter javadoc: F is not week-of-month
P4 JDK-8146747 java.time.Duration.toNanos() and toMillis() exception on negative durations
P4 JDK-8154050 java.time.format.DateTimeFormatter can't parse localized zone-offset
P4 JDK-8085887 java.time.format.FormatStyle.LONG or FULL causes unchecked exception
P4 JDK-8159616 java.time.Instant falls through switch statement
P4 JDK-8074003 can be optimized
P4 JDK-8074002 java.time.ZoneId.systemDefault() should be faster
P4 JDK-8079628 java.time: DateTimeFormatter containing "DD" fails on 3-digit day-of-year value
P4 JDK-8043387 java/time/test/java/util/ failed.
P4 JDK-8151868 Javadocs for java.time.Instant until(Temporal endExclusive, TemporalUnit unit) contains typo
P4 JDK-8164669 Lazier initialization of java.time
P4 JDK-8072746 LocalDate.isEra() should return IsoEra not Era
P4 JDK-8068285 Missing @throws in DateTimeFormatterBuilder.appendInstant
P4 JDK-8068284 Missing @throws in DateTimeFormatterBuilder.appendOffset
P4 JDK-8156718 Need tests for IsoFields getFrom for unsupported non-Iso Temporal fields
P4 JDK-8177678 Overstatement of universality of Era.getDisplayName() implementation
P4 JDK-8046707 Performance of java.time could be better
P4 JDK-8068803 Performance of LocalDate.plusDays could be better
P4 JDK-8055004 Reduce allocation overhead in java.time.Period/Duration parse methods
P4 JDK-8042369 Remove duplicated java.time classes in
P4 JDK-8129556 TemporalAdjusters dayOfWeekInMonth wrongly says "in the same month"
P4 JDK-8170653 The javadoc of ZoneRules.previousTransition() is wrong
P4 JDK-8148849 Truncating Duration
P4 JDK-8169527 Typo in getCalendarType() method of Chronology class.
P4 JDK-8032749 Typo in java.time.Clock
P4 JDK-8035106 Typo in java.time.format.Parsed error message
P4 JDK-8032221 Typo in
P4 JDK-8148570 throws Null Pointer Exception While Compiling and building TZDB data file
P4 JDK-8138664 ZonedDateTime parse error for any date using 'GMT0' ZoneID
P4 JDK-8066291 ZoneIdPrinterParser can be optimized
P4 JDK-8164366 ZoneOffset.ofHoursMinutesSeconds() does not reject invalid input
P5 JDK-8139529 java.time.temporal.ChronoUnit.FOREVER typo


Priority Bug Summary
P1 JDK-8166148 Fix for JDK-8165936 broke Solaris builds
P2 JDK-8059361 (spec) Properties.stringPropertyNames() returns a set inconsistent with the assertions from the spec
P2 JDK-8075071 [TEST_BUG] OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction
P2 JDK-8154049 DualPivot sorting calculates incorrect runs for nearly sorted arrays
P2 JDK-8073347 javadoc of Formattable messed up by JDK-8019857
P2 JDK-8147545 Remove sun.misc.ManagedLocalsThread from java.prefs
P2 JDK-8150488 Scanner.findAll() can return infinite stream if regex matches zero chars
P3 JDK-8040809 '}' left in the spec for j.u.Random.doubles(..)
P3 JDK-8075110 (prefs) CodePointZeroPrefsTest fails on certain platforms
P3 JDK-8042889 (props) Properties.loadFromXML/storeToXML should consistently use the UKit parser
P3 JDK-8043119 (props) Properties.storeToXML closes output stream
P3 JDK-8148936 Adapt UUID.toString() to Compact Strings
P3 JDK-8152617 add missing wildcards to Optional or() and flatMap()
P3 JDK-8155052 add notes and links to j.u.Observer/Observable deprecation comments
P3 JDK-8072784 Better spliterator implementation for
P3 JDK-8039527 Broken links in ConcurrentMap javadoc
P3 JDK-8159855 Create an SPI for tools
P3 JDK-8172221 Directorate of Time has been superseded
P3 JDK-8067289 Fix deprecation warnings in java.base module - CRC32C
P3 JDK-8159548 Formatter returns unexpected strings if locale is null.
P3 JDK-8174950 Gracefully handle null Supplier in Objects.requireNonNull
P3 JDK-8146458 Improve exception reporting for Objects.checkIndex/checkFromToIndex/checkFromIndexSize
P3 JDK-8146156 Inconsistent default locale in string formatter methods
P3 JDK-8154553 Incorrect GPL header in reported
P3 JDK-8074043 java.util.Arrays setAll and parallelSetAll subrange note
P3 JDK-8043476 java/util/BitSet/ failed with: java.lang.OutOfMemoryError: Java heap space
P3 JDK-8033148 Lexicographic comparators and mismatchers for arrays
P3 JDK-8155794 Move Objects.checkIndex BiFunction accepting methods to an internal package
P3 JDK-8034043 Native methods for preferences API should not be in libjava
P3 JDK-8176041 Optimize handling of comment lines in Properties$LineReader.readLine
P3 JDK-8167981 Optional: add notes explaining intended use
P3 JDK-8056951 pico-optimize contains(Object) methods
P3 JDK-8176221 Preferences docs contain reference to Sun's JRE
P3 JDK-8175385 ServiceLoader$LazyClassPathLookupIterator scans boot and platform modules for services
P3 JDK-8157964 Static build of libzip is missing JNI_OnLoad_zip entry point
P3 JDK-8169808 Stream returning methods should specify if they are late binding
P3 JDK-8048209 SynchronizedNavigableSet tailSet uses wrong mutex
P3 JDK-8056313 TEST_BUG: java/util/Timer/ fails intermittently
P3 JDK-8072909 TimSort fails with ArrayIndexOutOfBoundsException on worst case long arrays
P3 JDK-8062185 Unpaired braces in javadoc
P3 JDK-8142493 Utility methods to check indexes and ranges doesn't specify behavior when function produces null
P3 JDK-8136924 Vectorized support for array equals/compare/mismatch using Unsafe
P3 JDK-8139507 WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs
P3 JDK-8068790 ZipEntry/JarEntry.setCreation/LastAccessTime(null) don't throw NPE as specified
P4 JDK-8065070 (fmt) Avoid creating substrings when building FormatSpecifier
P4 JDK-8058887 (fmt) Improve java/util/Formatter test coverage of group separators and width
P4 JDK-8068373 (prefs) FileSystemPreferences writes \0 to XML storage, causing loss of all preferences
P4 JDK-8075156 (prefs) get*() and remove() should disallow the use of the null control character '\u0000' as key
P4 JDK-8066013 (prefs) Unused variable in src/java.prefs/share/classes/java/util/prefs/
P4 JDK-8133830 [solaris] Potential memory leak in TimeZone_md.c, function findJavaTZ_md()
P4 JDK-8075824 Add default[Read|Write]Object to java.util.Date
P4 JDK-8080418 Add Optional.or()
P4 JDK-8081678 Add Stream returning methods to classes where there currently exist only Enumeration returning methods
P4 JDK-8072722 add stream support to Scanner
P4 JDK-8129544 ArrayIndexOutOfBoundsException when decoding corrupt Base64 string
P4 JDK-8141409 Arrays.equals accepting a Comparator
P4 JDK-8165243 Base64.Encoder.wrap(os).write(byte[],int,int) with incorrect arguments should not produce output
P4 JDK-8085858 Better failure output for test/java/util/Arrays/
P4 JDK-8040806 BitSet.toString() can throw IndexOutOfBoundsException
P4 JDK-8181824 Broken javadoc link in java.util.BitSet
P4 JDK-8076442 Cannot fully read if bit Integer.MAX_VALUE is set
P4 JDK-8076184 Cleanup compile/link warnings on Solaris
P4 JDK-8154801 deprecate Observer and Observable
P4 JDK-8074674 Doclint regression in java/util/regex/
P4 JDK-8133188 docs: replace tags (obsolete in html5) for java.util
P4 JDK-8133115 docs: replace tags (obsolete in html5) for java.util.logging, java.util.prefs,, java.util.jar
P4 JDK-8131052 Documentation of AbstractSpliterator refers to forEach rather than forEachRemaining
P4 JDK-8022852 Fix serial javac warnings in ArrayPrefixHelpers
P4 JDK-8035452 Fix serial lint warnings in core libs
P4 JDK-8080945 Improve the performance of primitive Arrays.sort for certain patterns of array elements
P4 JDK-8170566 incorrect phrase usage in javadocs documentation
P4 JDK-8062901 Iterators is spelled incorrectly in the Javadoc for Spliterator
P4 JDK-8138963 java.lang.Objects new method to default to non-null
P4 JDK-8080252 java.util.Formatter documentation of %n converter is misleading
P4 JDK-8071670 java.util.Optional: please add a way to specify if-else behavior
P4 JDK-8139414 java.util.Scanner hasNext() returns true, next() throws NoSuchElementException
P4 JDK-8073214 javadoc of Properties methods should specify NullPointerExceptions
P4 JDK-8085879 Mark intermittently failing: java/util/Arrays/
P4 JDK-8151798 Mark java/util/TimeZone/ as intermittently failing and demote to tier2
P4 JDK-8174171 Move spliterator testing of BitSet into big memory tests BitSetStreamTest
P4 JDK-8050142 Optimize java.util.Formatter
P4 JDK-8164934 javadoc code example is incorrect
P4 JDK-8059324 orElseThrow has different signatures for OptionalPrimitive and Optional
P4 JDK-8155600 Performance optimization of Arrays.asList().iterator()
P4 JDK-8050820 Please add to convert Optional to Stream
P4 JDK-8169903 Refactor spliterator traversing tests into a library
P4 JDK-8153933 Remove intermittent key from TimeZone/ and move back to tier1
P4 JDK-8168505 Remove the intermittent keyword from java/util/Arrays/
P4 JDK-8141652 Rename methods Objects.nonNullElse* to requireNonNullElse*
P4 JDK-8023897 Replace/update/rename executeAndCatch in various tests to assertThrows
P4 JDK-8157997 Reverting a push with wrong id
P4 JDK-8072582 Scanner delimits incorrectly when delimiter spans a buffer boundary
P4 JDK-8166261 Scanner.nextInt(int) (and similar methods) throws PatternSyntaxException
P4 JDK-8029451 Tidy warnings cleanup for java.util package; minor changes in java.nio, java.sql
P4 JDK-8073124 Tune test and document TimSort runs stack size increase
P4 JDK-8075560 Typo in Javadoc for java.util.Optional.equals()
P4 JDK-8141243 Unexpected timezone returned after parsing a date
P4 JDK-8030851 Update code in java.util to use newer language features
P4 JDK-8006627 UUID to/from String performance should be improved by reducing object allocations
P5 JDK-8075362 j.u.Properties.load() methods have misaligned @throws clauses
P5 JDK-8042262 Javadoc typo in java.util.Formatter
P5 JDK-8054221 StringJoiner imlementation optimization
P5 JDK-8033943 Typo in the documentation for the class Arrays
P5 JDK-8143858 typo in Timer.purge() doc
P5 JDK-8043772 Typos in Double/Int/


Priority Bug Summary
P2 JDK-8134853 Bulk integration of java.util.concurrent and related java.util classes
P2 JDK-8134854 Bulk integration of java.util.concurrent.atomic classes
P2 JDK-8134855 Bulk integration of java.util.concurrent.locks classes
P2 JDK-8179515 Class java.util.concurrent.ThreadLocalRandom fails to Initialize when using SecurityManager
P2 JDK-8081734 ConcurrentHashMap/, times out 90% of time on sparc with 256 cpu.
P2 JDK-8166507 ConcurrentSkipListSet.clear() can leave the Set in an invalid state
P2 JDK-8147508 Correct fix for JDK-8147480
P2 JDK-8145164 Default implementation of ConcurrentMap::compute can throw NPE
P2 JDK-8134851 Integrate CompletableFuture with API enhancements
P2 JDK-8134852 Integrate fork/join with API enhancements
P2 JDK-8134850 Integrate the Flow API
P2 JDK-8162396 j.u.c java.lang.LinkageError
P2 JDK-8150014 java/lang/invoke/LFCaching/ fails with NoClassDefFoundError
P2 JDK-8065804 JEP 171: Clarifications/corrections for fence intrinsics
P2 JDK-8132960 JEP 266: More Concurrency Updates
P2 JDK-8072030 Race condition in
P2 JDK-8066397 Remove network-related seed initialization code in ThreadLocal/SplittableRandom
P2 JDK-8148638 test failure in test/java/util/concurrent/tck
P2 JDK-8153715 Use Unsafe.weakCompareAndSet in java.util.concurrent
P2 JDK-8173083 VarHandle usages in LockSupport and ThreadLocalRandom result in circularity issues
P3 JDK-8167202 ArrayDeque improvements
P3 JDK-8166465 CompletableFuture.minimalCompletionStage().toCompletableFuture() should be non-minimal
P3 JDK-8143089 CompletableFuture.whenComplete should use addSuppressed
P3 JDK-8172023 Concurrent spliterators fail to handle exhaustion properly
P3 JDK-8161372 ConcurrentHashMap.computeIfAbsent(k,f) locks bin when k present
P3 JDK-8169738 CopyOnWriteArrayList subList needs more synchronization
P3 JDK-8164814 Deprecate Atomic*.weakCompareAndSet and defer to Atomic*.weakCompareAndSetPlain
P3 JDK-8143086 Document that ForkJoinWorkerThreadFactory.newThread can return null to reject request
P3 JDK-8160710 Enable Thread to grant VarHandle field access to ThreadLocalRandom/Striped64
P3 JDK-8181104 Fix specs for updateAndGet and related methods
P3 JDK-8176303 Flow.Subscription.request(0) should be treated as an error
P3 JDK-8172726 ForkJoin common pool retains a reference to the thread context class loader
P3 JDK-8080939 ForkJoinPool and Phaser deadlock
P3 JDK-8060052 FutureTask; fix underflow when timeout = Long.MIN_VALUE
P3 JDK-8160402 Garbage retention with CompletableFuture.anyOf
P3 JDK-8056249 Improve CompletableFuture resource usage
P3 JDK-8139927 Improve documentation for CompletableFuture composition
P3 JDK-8143073 Improve documentation for ConcurrentHashMap serialized form
P3 JDK-8056248 Improve ForkJoin thread throttling
P3 JDK-8142441 Improve jtreg tests for java.util.concurrent
P3 JDK-8152924 Improve scalability of CompletableFuture with large number of dependents
P3 JDK-8146467 Integrate JSR 166 jck tests into JDK repo
P3 JDK-8140468 java/util/concurrent/locks/ReentrantLock/ failed with java.lang.Error: Completed == 4; expected 2
P3 JDK-8040928 java/util/concurrent/locks/ReentrantLock/ java.lang.Error: Completed != 2
P3 JDK-8163210 java/util/concurrent/tck/ testWriteAfterReadLock(StampedLockTest): timed out waiting for thread to terminate
P3 JDK-8166059 fails with NPE in dumpTestThreads on timeout
P3 JDK-8169739 LinkedBlockingDeque spliterator needs to support node self-linking
P3 JDK-8171051 LinkedBlockingQueue spliterator needs to support node self-linking
P3 JDK-8169748 LinkedTransferQueue bulk remove is O(n^2)
P3 JDK-8151501 LockSupport/ AssertionError: lost unpark
P3 JDK-8150417 Make ThreadLocalRandom more robust against static initialization cycles
P3 JDK-8147480 Mark as intermittently failing
P3 JDK-8143087 Miscellaneous changes imported from jsr166 CVS 2015-11
P3 JDK-8150416 Miscellaneous changes imported from jsr166 CVS 2016-03
P3 JDK-8153768 Miscellaneous changes imported from jsr166 CVS 2016-05
P3 JDK-8161591 Miscellaneous changes imported from jsr166 CVS 2016-07
P3 JDK-8162627 Miscellaneous changes imported from jsr166 CVS 2016-08
P3 JDK-8166646 Miscellaneous changes imported from jsr166 CVS 2016-11
P3 JDK-8171886 Miscellaneous changes imported from jsr166 CVS 2017-02
P3 JDK-8173909 Miscellaneous changes imported from jsr166 CVS 2017-03
P3 JDK-8078490 Missed submissions in ForkJoinPool
P3 JDK-8181580 No CCC for LinkedBlockingDeque#addAll
P3 JDK-8159351 non-atomic "bulk" ops note in class javadoc for ConcurrentLinkedQueue, ConcurrentLinkedDeque, & LinkedTransferQueue shouldn't include equals
P3 JDK-8163353 NPE in ConcurrentHashMap.removeAll()
P3 JDK-8162805 Optimize AtomicBoolean.getAndSet
P3 JDK-8160751 Optimize ConcurrentHashMap.keySet().removeAll
P3 JDK-8157522 Performance improvements to CompletableFuture
P3 JDK-8054446 Repeated offer and remove on ConcurrentLinkedQueue lead to an OutOfMemoryError
P3 JDK-8169515 Review and update description
P3 JDK-8161608 StampedLock should use storeStoreFence when acquiring write lock
P3 JDK-8176155 SubmissionPublisher closeExceptionally() may override close()
P3 JDK-8176551 testCommonPoolThreadContextClassLoader fails with "Should throw SecurityException"
P3 JDK-7153400 ThreadPoolExecutor's setCorePoolSize method allows corePoolSize > maxPoolSize
P3 JDK-8157523 Various improvements to ForkJoin/SubmissionPublisher code
P3 JDK-8159924 Various improvements to StampedLock code
P4 JDK-8072456 @since tags missing from TimeUnit
P4 JDK-8140587 Atomic*FieldUpdaters should use Class.isInstance instead of direct class check
P4 JDK-7089615 Broken javadoc link in AbstractQueuedSynchronizer
P4 JDK-8169272 Clarify Semaphore.drainPermits behavior when current permits are negative
P4 JDK-8141452 Convert between TimeUnit and ChronoUnit
P4 JDK-8011645 CopyOnWriteArrayList.COWSubList.subList does not validate range properly
P4 JDK-8074578 Document memory visibility effects of Unsafe compareAndSwap methods
P4 JDK-8164983 Improve CountedCompleter code samples; add corresponding tests
P4 JDK-8151344 Improve timeout factor handling in tck/JSR166TestCase
P4 JDK-8068432 Inconsistent exception handling in CompletableFuture.thenCompose
P4 JDK-8031067 java/util/concurrent/atomic/ java.lang.Error: Unexpected reflective access
P4 JDK-6772009 java/util/concurrent/locks/ReentrantLock/ test failed with 'Completed != 2'
P4 JDK-8140471 java/util/concurrent/locks/ReentrantLock/ timed out
P4 JDK-8139237 java/util/concurrent/ThreadPoolExecutor/ fails intermittently
P4 JDK-8169243 java/util/concurrent/ThreadPoolExecutor/ still fails intermittently
P4 JDK-8073208 javadoc typo in java.util.concurrent.Executor
P4 JDK-8085978 LinkedTransferQueue.spliterator can report LTQ.Node object, not T
P4 JDK-8161567 Mark java/util/concurrent/forkjoin/ as intermittently failing
P4 JDK-8133231 Mark as failing intermittently
P4 JDK-8145485 Miscellaneous changes imported from jsr166 CVS 2016-02
P4 JDK-8164169 Miscellaneous changes imported from jsr166 CVS 2016-09
P4 JDK-8165919 Miscellaneous changes imported from jsr166 CVS 2016-09-21
P4 JDK-8170484 Miscellaneous changes imported from jsr166 CVS 2016-12
P4 JDK-8146762 Move back java/util/concurrent/Phaser/ to tier1
P4 JDK-8177313 Move and back to tier1
P4 JDK-8142370 Move java/util/concurrent/Phaser/ to tier 2
P4 JDK-8151579 Optimize ConcurrentHashMap.Node
P4 JDK-8152083 Optimize TimeUnit conversions
P4 JDK-8139574 ReentrantReadWriteLock documentation example has compile time error
P4 JDK-8032057 Remove unneeded/obsolete -source options in concurrency tests
P4 JDK-8078645 removeIf(filter) in ConcurrentHashMap removes entries for which filter is false
P4 JDK-8080603 Replace Unsafe with VarHandle in java.util.concurrent classes
P4 JDK-8044730 small errors in ConcurrentHashMap and LongAdder docs
P4 JDK-8132964 Spliterator documentation on Priority(Blocking)Queue
P4 JDK-8031374 TEST_BUG: java/util/concurrent/ConcurrentQueues/ fails Intermittently
P4 JDK-8152433 Typo in interface Deque javadocs.


Priority Bug Summary
P1 JDK-8151339 Adding fragment to JAR URLs breaks ant
P1 JDK-8184306 zlib 1.2.11 upgrade triggers regression
P2 JDK-8029646 [pack200] should support the new zip64 format.
P2 JDK-8144958 changes by JDK-8142508 seems to have broken jtreg
P2 JDK-8152276 Clarify behaviour when a Jar Index is found to be invalid
P2 JDK-8165726 fix for 8165595 revealed a bug in pack200 tool's handling of main class attribute of module-info classes
P2 JDK-8147588 Jar file and Zip file not removed in spite of the OPEN_DELETE flag
P2 JDK-8165944 jar utility doesn't process more than one -C argument
P2 JDK-8150680 JarFile.Release enum needs reconsideration with respect to it's values
P2 JDK-8179645 java.util.jar.Packer.newPacker and newUnpacker fails when running with security manager
P2 JDK-8161942 not covering UpperLimit range of DOS epoch
P2 JDK-8175053 Mach 5 builds failed on Windows/install repo after JDK-8173207
P2 JDK-8156807 Pack200 must support v53.0 class files
P2 JDK-8182023 some java.util.jar docs contain links to technotes
P2 JDK-8131777 Test task: Create tests for new JarFile API related to multi-release jar files
P2 JDK-8168862 Tighten permissions granted to the jdk.zipfs module
P2 JDK-8182494 Update jar specification for Automatic-Module-Name
P2 JDK-8048990 ZipFile.entries() can't handle empty zip entry names
P2 JDK-8056934 ZipInputStream does not correctly handle local header data descriptors with the optional signature missing
P3 JDK-8067889 4 pack200 tests fail on mac since jdk became modular
P3 JDK-8157069 Assorted ZipFile improvements
P3 JDK-8152733 Avoid creating Manifest when checking for Multi-Release attribute
P3 JDK-8059973 Broken link in Class Pack200
P3 JDK-8079841 Buffer underflow with empty zip entry names
P3 JDK-8044725 Bug in zlib 1.2.5 prevents inflation of some gzipped files (zlib 1.2.8 port)
P3 JDK-8152352 Compiling warnings in zip_util.c blocks devkit to build with --with-zlib=system
P3 JDK-8163798 Create a JarFile versionedStream method
P3 JDK-8076641 getNextEntry throws ArrayIndexOutOfBoundsException when unzipping file
P3 JDK-8157613 Internal documentation improvements to
P3 JDK-8146431 j.u.z.ZipFile.getEntry("") throws AIOOBE
P3 JDK-8058520 jar xf does not work on zip files with leading garbage
P3 JDK-8150976 JarFile and MRJAR tests should use the JDK specific Version API
P3 JDK-8150678 JarFile stream() and entries() methods need performance enhancement
P3 JDK-8166735 JarFile#getVersion spec clarification for unversioned jars
P3 JDK-8139706 JarFile.getBytes could use InputStream.readNBytes
P3 JDK-8062194 java.util.jar.Attributes should use insertion-ordered iteration
P3 JDK-8165782 java.util.jar.JarFile.runtimeVersion() spec needs clarification
P3 JDK-8075526 Need a way to read and write ZipEntry timestamp using local date/time without tz conversion
P3 JDK-8066272 pack200 must support Multi-Release Jars
P3 JDK-8064736 Part of java.util.jar.JarFile spec looks confusing with references to Zip
P3 JDK-8044727 Problem reading the contents of some zip files
P3 JDK-8029806 Remove Packer/Unpacker addPropertyChangeListener and removePropertyListener methods
P3 JDK-8074839 Resolve disabled warnings for libunpack and the unpack200 binary
P3 JDK-8148627 to 64-bit platforms
P3 JDK-8157524 Revert JarFile methods "entries" and "stream" to Java 8 behavior
P3 JDK-8148624 Test failure of
P3 JDK-8151901 test/tools/pack200/Pack200Test fails on verifying native unpacked JAR
P3 JDK-8142508 To bring j.u.z.ZipFile's native implementation to Java to remove the expensive jni cost and mmap crash risk
P3 JDK-8145260 To bring j.u.z.ZipFile's native implementation to Java to remove the expensive jni cost and mmap crash risk [2]
P3 JDK-8058856 tools/jar/, introduced in JDK-8058520, fails on Windows
P3 JDK-8066745 tools/pack200/ failed with java.lang.OutOfMemoryError: Java heap space
P3 JDK-8060432 tools/pack200/ fails on Windows with after JDK-8058854
P3 JDK-8073187 Unexpected side effect in Pack200
P3 JDK-8150469 unpack200 fails to compare crc correctly.
P3 JDK-8150681 Update JAR specification for multi-release jar files
P3 JDK-8177910 Update zlib copyright note in idk/src/java.base/share/legal/
P3 JDK-8073158 zip files with total entry count 0xFFFF need not be ZIP64 files
P3 JDK-6907252 ZipFileInputStream Not Thread-Safe
P3 JDK-8173072 zipfs fails to handle incorrect info-zip "extended timestamp extra field"
P4 JDK-8033147 [pack200] the closed test needs some improvement
P4 JDK-6321472 Add CRC32C class, similar to
P4 JDK-8068338 Better message about incompatible zlib in Deflater.init
P4 JDK-8144977 Class.getResourceAsStream("directory") in JAR returns broken InputStream
P4 JDK-8133170 Deflater.deflate with small output buffers fails
P4 JDK-8038502 Deflater.needsInput() should use synchronization
P4 JDK-7142247 Disable the mmap usage in ZipFile implementation by default
P4 JDK-7031075 GZIPInputStream's available() reports 1, but read() gives -1.
P4 JDK-8153213 Jar manifest attribute "Multi-Release" accepts any value
P4 JDK-8157850 Jar tests should pass through VM options
P4 JDK-8130914 java/util/zip/ fails with "java.lang.RuntimeException: setTime should make getLastModifiedTime return the specified instant: 3078282244456 got: 3078282244455"
P4 JDK-8135108 java/util/zip/ fails intermittently with Invalid value for NanoOfSecond
P4 JDK-8155616 java/util/zip/ fails intermittently with storing mtime failed
P4 JDK-8073497 Lazy conversion of ZipEntry time
P4 JDK-8130402 Mark intermittently failing test: tools/pack200/
P4 JDK-8154031 Mark tools/pack200/ as intermittently failing
P4 JDK-8146587 Mark tools/pack200/ as intermittently failing
P4 JDK-8142369 Move to tier 2
P4 JDK-8154980 Remove intermittent key from test
P4 JDK-8151286 Remove intermittent key from and move back to tier1
P4 JDK-8031767 Support system or alternative implementations of zlib
P4 JDK-8173752 Syntax error in ZipEntry.setCompressedSize(long) method documentation
P4 JDK-8173751 Syntax error in ZipFile.getComment() method
P4 JDK-8166248 tools/pack200/ fails on Win32: Could not reserve enough space
P4 JDK-8079769 tools/pack200/ may timeout at preparing the large test file
P4 JDK-8174148 Typo in method documentation
P4 JDK-8173871 Typos in Jar Packer/Unpacker PROGRESS field documentation
P4 JDK-8000650 unpack200.exe should check gzip crc
P4 JDK-8074579 Use more efficient and readable way of checking PKZIP signatures
P4 JDK-6233323 ZipEntry.isDirectory() may return false incorrectly
P4 JDK-8170831 ZipFile implementation no longer caches the last accessed entry/pos


Priority Bug Summary
P2 JDK-8177136 Caller sensitive method System::getLogger should specify what happens if there is no caller on the stack.
P2 JDK-8170984 java.util.logging might force the initialization of ResourceBundle class too early.
P2 JDK-8065991 LogManager unecessarily calls JavaAWTAccess from within a critical section
P2 JDK-8153158 Remove sun.misc.ManagedLocalsThread from java.logging
P2 JDK-8177835 System.LoggerFinder#getLogger or getLocalizedLogger does not throw NPE
P3 JDK-8152515 (logging) LogManager.resetLogger should ignore LinkageError
P3 JDK-8029876 Add a test to verify that Logger.getLogger & LogManager.getLogManager don't throw NPE when System.out == null
P3 JDK-8153955 increase java.util.logging.FileHandler MAX_LOCKS limit
P3 JDK-8072645 java.util.logging should use java.time to get more precise time stamps
P3 JDK-8137289 java/util/logging/ hangs
P3 JDK-8132550 java/util/logging/ times out
P3 JDK-8046565 JEP 264: Platform Logging API and Service
P3 JDK-8140364 JEP 264: Platform Logging API and Service Implementation
P3 JDK-6543126 Level.known can leak memory
P3 JDK-8148568 LoggerFinder.getLogger and LoggerFinder.getLocalizedLogger should take a Module argument instead of a Class.
P3 JDK-8159245 Loggers created by system classes are not initialized correctly when configured programmatically from application code.
P3 JDK-8080933 LogManager.demandSystemLogger should accept a 'caller' argument.
P3 JDK-8144262 LogRecord.getMillis() method is a convenience API that should not have been deprecated
P3 JDK-8148820 Missing @since Javadoc tag in Logger.log(Level, Supplier)
P3 JDK-8153666 Optimize Formatter.formatMessage
P3 JDK-8043306 Provide a replacement for the API that allowed to listen for LogManager configuration changes
P3 JDK-8033661 readConfiguration does not cleanly reinitialize the logging system
P3 JDK-8048020 Regression on java.util.logging.FileHandler
P3 JDK-8029805 Remove LogManager addPropertyChangeListener and removePropertyChangeListener methods
P3 JDK-8144214 Some log messages will be discarded when VM is bootstrapping.
P3 JDK-8163162 The separation between system loggers and application loggers should take the extension loader in consideration.
P4 JDK-8146691 @since 9 tag missing for System.getLogger
P4 JDK-8152436 Add a test to verify that the root logger correctly reports the caller's information
P4 JDK-8031980 Add new j.u.l deadlock test for JDK-8027670 and JDK-8029281
P4 JDK-8029595 Avoid cases of Logger being GC'ed in tests
P4 JDK-8130069 closed/java/util/logging/ java.lang.NullPointerException
P4 JDK-8025690 Default FileHandler constructor doesn't throw NullPointerException if pattern is empty and count > 1
P4 JDK-8036916 Deprecation warnings in LogManager
P4 JDK-8059269 FileHandler may throw NPE if pattern is a simple name and the lock file already exists
P4 JDK-8059767 FileHandler should allow 'long' limits and handle overflow of MeteredStream.written.
P4 JDK-8060132 Handlers configured on abstract nodes in are not always properly closed
P4 JDK-8077846 Improve locking strategy for readConfiguration(), reset(), and initializeGlobalHandlers()
P4 JDK-8144460 Improve the code coverage for BootstrapLogger and SimpleConsoleLogger APIs and verify bug fix JDK-8144214
P4 JDK-8150856 Inconsistent API documentation for @param caller in System.LoggerFinder.getLogger
P4 JDK-8152606 java.base no longer needs to export sun.util.logging to java.httpclient
P4 JDK-8031068 java/util/logging/ checkLoggers: getLoggerNames() returned unexpected loggers
P4 JDK-8031525 Logger created in test/tools/jar/ might get gc'ed too early.
P4 JDK-7113878 LogManager - namedLoggers should be ConcurrentHashMap instead of Hashtable
P4 JDK-8075810 LogManager.readConfiguration may throw undocumented IllegalArgumentException
P4 JDK-8145686 SimpleConsoleLogger and LogRecord should take advantage of StackWalker to skip classes implementing System.Logger
P4 JDK-8030801 SocketHandler(host, port) requires permission ("java.util.logging.LoggingPermission" "control")
P4 JDK-8144215 Test development task for : JEP-JDK-8046565: SQE Test Plan for Platform Logging API and Service
P4 JDK-8042147 test sun/util/logging/ failed: Unexpected source: java.util.Currency info
P4 JDK-8033542 test/java/util/logging/SimpleLogManager might let Loggers be gc'ed too early.
P4 JDK-8030187 TEST_BUG: java/util/logging/Logger/setResourceBundle/ failing again
P4 JDK-8030192 TEST_BUG: java/util/logging/ failed with NPE
P4 JDK-8029781 Theoretical data race on java.util.logging.Handler.sealed
P5 JDK-8028788 Logger.enterring uses String concatenation in a loop
P5 JDK-8178139 Minor typo in API documentation of java.util.logging.Logger


Priority Bug Summary
P2 JDK-8074678 JCK test api/java_util/regex/MatchResult/index.html starts failing after JDK-8071479
P3 JDK-8041398 Doclint regresion in java.util.regex
P3 JDK-8176029 Linebreak matcher is not equivalent to the pattern as stated in javadoc
P3 JDK-4867170 Pattern doesn't work with composite character in CANON_EQ mode
P3 JDK-8160302 Reduce number of lambdas created when loading java.util.regex.Pattern
P3 JDK-6609854 Regex does not match correctly for negative nested character classes
P3 JDK-8149787 test/java/util/regex/ source file has non-ascii character u+00f7
P4 JDK-8143282 \p{Cn} unassigned code points should be included in \p{C}
P4 JDK-6736245 A character in Composition Exclusion Table does not match itself.
P4 JDK-6995635 CANON_EQ pattern flag is buggy
P4 JDK-4916384 CANON_EQ supports only combining character sequences with non-spacing marks
P4 JDK-8131034 Cleanup in j.u.regex.Pattern.quote()
P4 JDK-6728861 ExceptionInInitializerError is caught when the pattern has precomposed character
P4 JDK-8039124 j.u.regex.Matcher.appendReplace/Tail() should support StringBuilder variant for better performance
P4 JDK-8079544 Mark java/util/regex/ as failing intermittently
P4 JDK-8158615 Matcher does not terminate, or is extremly slow
P4 JDK-7006761 Matcher.matches() has infinite loop
P4 JDK-8132206 move into OpenJDK
P4 JDK-8145007 Pattern splitAsStream is not late binding as required by the specification
P4 JDK-8035076 Pattern$BnMS never used due to bug in Pattern$BnM.optimize
P4 JDK-8035975 Pattern.compile(String, int) fails to throw IllegalArgumentException
P4 JDK-8069325 Pattern.splitAsStream does not return input if it is empty and there is no match
P4 JDK-6693451 RegEx matcher goes into infinite delay
P4 JDK-6988218 RegEx matcher loops
P4 JDK-8158482 regex UNICODE_CHARACTER_CLASS flag cannot be disabled with an embedded flag expression
P4 JDK-8150224 Regular expression slowly working
P4 JDK-8071479 Stream and lambdafication improvements to j.u.regex.Matcher
P4 JDK-6328855 String: Matches hangs at short and easy Strings containing \r \n
P4 JDK-7080302 the normalization in java regex pattern may have flaw
P4 JDK-8147531 To add named character construct \N{...} to support Unicode name property
P4 JDK-7071819 To support Extended Grapheme Clusters in Regex
P5 JDK-6360775 regular expressions: combining groups and greedy quantifiers halts the JVM


Priority Bug Summary
P1 JDK-8031187 DoubleStream.count is incorrect for a stream containing > Integer.MAX_VALUE elements
P1 JDK-8075307 Pipeline calculating inconsistent flag state for parallel stateful ops
P1 JDK-8032190 Specifications of stream flatMap methods should require mapped streams to be closed
P2 JDK-8148928 java/util/stream/test/**/ timed out intermittently
P2 JDK-8076458 java/util/stream/test/org/openjdk/tests/java/util/stream/ timeout
P2 JDK-8037857 Methods j.u.Arrays.spliterator/stream(X[], int, int) throw IAE instead of specified AIOOBE when endIndex < startIndex
P2 JDK-8058204 stream tests timeout, intermittently but more likely to happen after JDK-8056248
P2 JDK-8134329 fails across platforms after fix for JDK-8129547
P3 JDK-8159821 "PrimitiveStream.iterateFinite" methods contain incorrect code sample
P3 JDK-8068599 Add mutability, serializability, and thread-safety, caveat to all Collectors that do not accept a Collection supplier
P3 JDK-8130023 API explicitly specify guaranteed execution of the pipeline
P3 JDK-8170560 Improve code samples in Collectors javadoc
P3 JDK-8075111 Mark testFlatMappingClose (from CollectorsTest) as serialization hostile
P3 JDK-8142996 move jdk java/util/streams tests into java.base directories
P3 JDK-8075230 Optimized count operations incorrectly declare the stream shape
P3 JDK-8167524 Rogue character in Stream javadoc
P3 JDK-8164691 Stream specification clarifications for iterate and collect
P4 JDK-8032396 [TEST_BUG] lambda SAND framework needs adjustments.
P4 JDK-8144675 Add a filtering collector
P4 JDK-8071600 Add a flat-mapping collector
P4 JDK-8071597 Add Stream dropWhile and takeWhile operations
P4 JDK-8072727 add variation of Stream.iterate() that's finite
P4 JDK-8147505 BaseStream.onClose() should not allow registering new handlers after stream is consumed
P4 JDK-8048689 Clarify documentation on BaseStream.spliterator
P4 JDK-8132800 clarify stream package documentation regarding sequential vs parallel modes
P4 JDK-8136686 Collectors.counting can use Collectors.summingLong to reduce boxing
P4 JDK-8170943 Collectors.partitioningBy should specify that false and true entries are always present
P4 JDK-8151123 Collectors.summingDouble/averagingDouble unnecessarily call mapper twice
P4 JDK-8043327 Collectors.toMap studentToGPA example uses Functions.identity()
P4 JDK-8164189 Collectors.toSet() parallel performance improvement
P4 JDK-8031428 CountTest causes lambda Ser/Derialization tests to fail
P4 JDK-8151785 Doc typo in src/../java/util/stream/
P4 JDK-8175360 Error in Collectors.averagingXXX Java Doc
P4 JDK-8030942 Explicitly state floating-point summation requirements on non-finite inputs
P4 JDK-8030079 Fix raw and unchecked warnings
P4 JDK-8130828 Fix some typos and omissions in the the JavaDoc
P4 JDK-8029452 Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements
P4 JDK-8031306 Incorrect bug id on tests
P4 JDK-8040892 Incorrect message in Exception thrown by Collectors.toMap(Function,Function)
P4 JDK-8131140 Mark some tests from and as serialization hostile
P4 JDK-8044047 Missing null pointer checks for streams
P4 JDK-8154387 Parallel unordered Stream.limit() tries to collect 128 elements even if limit is less
P4 JDK-8050819 Please add java.util.Stream.ofNullable(T object)
P4 JDK-8153293 Preserve SORTED and DISTINCT characteristics for boxed() and asLongStream() operations
P4 JDK-8048989 small errors in Collectors examples
P4 JDK-8141630 Specification of Collections.synchronized* need to state traversal constraints
P4 JDK-8042355 stream with sorted() causes downstream ops not to be lazy
P4 JDK-8148115 Stream.findFirst for unordered source optimization
P4 JDK-8148838 Stream.flatMap(...).spliterator() cannot properly split after tryAdvance()
P4 JDK-8132097 Stream.generate should use a covariant Supplier as parameter
P4 JDK-8148250 Stream.limit() parallel tasks with ordered non-SUBSIZED source should short-circuit
P4 JDK-8129120 Terminal operation properties should not be back-propagated to upstream operations
P4 JDK-8168841 The JavaDoc of method collectingAndThen has incorrect code snippet
P4 JDK-8043328 Typo in documentation of package
P5 JDK-8067969 Optimize Stream.count for SIZED Streams
P5 JDK-8073779 StackOverflowError called StackOverflowException in javadoc
P5 JDK-8157437 Typos in Stream JavaDoc


Priority Bug Summary
P1 JDK-8031133 AbstractMap should specify its default implementation using @implSpec
P1 JDK-8036568 Serial incompatibility in java.util.TreeMap.NavigableSubMap
P2 JDK-8050091 (coll) LinkedList has incorrect implementation comment
P2 JDK-8048207 CheckedQueue.offer calls wrong method on wrapped queue
P2 JDK-8145006 Collections.asLifoQueue(null) doesn't throw NPE as specified
P2 JDK-8047795 Collections.checkedList checking bypassed by List.replaceAll
P2 JDK-8172720 Collections.SingletonList::hashCode not spec-compliant
P2 JDK-8030848 Collections.sort(List l, Comparator) should defer to List.sort(Comparator )
P2 JDK-8030016 HashMap.computeIfAbsent generates spurious access event
P2 JDK-8046085 HashMap.put with null key may throw NullPointerException
P2 JDK-8173706 Is able to set a negative j.u.Vector size in JDK9 b151
P2 JDK-8072015 java/util/Collections/ failed TreeSet(reverseOrder)
P2 JDK-8029055 Map.merge must refuse null values
P3 JDK-6260652 (coll) Arrays.asList(x).toArray().getClass() should be Object[].class
P3 JDK-6721085 (coll) Broken link to Collections Framework Tutorial
P3 JDK-8031142 AbstractCollection and AbstractList should specify their default implementation using @implSpec
P3 JDK-8035284 AbstractMap unnecessarily initializes two volatiles to null
P3 JDK-8181334 add spec for Deque.addAll
P3 JDK-8144952 add wildcards to the Map.ofEntries() method
P3 JDK-8169679 ArrayList.subList().iterator().forEachRemaining() off-by-one-error
P3 JDK-8170733 HashMap.HashIterator.remove method does not use cached value for the hash code.
P3 JDK-8144742 Instrument intermittently failing test
P3 JDK-8048330 JEP 269: Convenience Factory Methods for Collections
P3 JDK-6842353 Linux testcase failure java/util/WeakHashMap/
P3 JDK-8177788 migrate collections technotes/guides into java/util/doc-files
P3 JDK-8014066 Mistake in documentation of ArrayList#removeRange
P3 JDK-8146568 NegativeArraySizeException in ArrayList.grow(int)
P3 JDK-8037106 Optimize Arrays.asList(...).forEach
P3 JDK-8066070 PriorityQueue corrupted when adding non-Comparable
P3 JDK-8032513 The Spliterator characteristics CONCURRENT and IMMUTABLE are mutually exclusive
P3 JDK-8159404 throw UnsupportedOperationException unconditionally for mutator methods
P3 JDK-8029574 TreeMap: optimization of method computeRedLevel()
P3 JDK-8173152 Wrong wording in method spec
P4 JDK-8145539 (coll) AbstractMap.keySet and .values should not be volatile
P4 JDK-6904367 (coll) IdentityHashMap is resized before exceeding the expected maximum size
P4 JDK-8079136 Accessing a nested sublist leads to StackOverflowError
P4 JDK-8072726 add adapter to convert Enumeration to Iterator
P4 JDK-8139232 add initial API and skeleton implementations
P4 JDK-8139233 add initial compact immutable collection implementations
P4 JDK-8133977 add specification for serialized forms
P4 JDK-8035584 ArrayList(c) should avoid inflation if c is empty
P4 JDK-8148748 ArrayList.subList().spliterator() is not late-binding
P4 JDK-8020860 cluster Hashtable field updates for better transactional memory behaviour
P4 JDK-8158253 Collections: Implement a noop clear() for EmptyList, EmptyMap and EmptySet
P4 JDK-8167005 Comment on the need for an empty constructor in ArrayList$Itr
P4 JDK-8023898 Consolidate Map tests Collisions and InPlaceOpsCollisions into general Map-based test
P4 JDK-8080450 doc for Double/Int/LongSummaryStatistics.toString has errors
P4 JDK-8177789 fix collections framework links to point to java.util package doc
P4 JDK-8071667 HashMap.computeIfAbsent() adds entry that HashMap.get() does not find.
P4 JDK-8068427 Hashtable deserialization reconstitutes table with wrong capacity
P4 JDK-8168745 Iterator.forEachRemaining vs. Iterator.remove
P4 JDK-8077097 JEP-JDK-8048330: Test Task: Convenience Factory Methods for Collections
P4 JDK-8158365 List.spliterator should optimize for RandomAccess lists
P4 JDK-8156079 make empty instances singletons
P4 JDK-8169222 minor immutable collections optimizations
P4 JDK-8154911 Move back to tier1
P4 JDK-8148174 NegativeArraySizeException in Vector.grow(int)
P4 JDK-8164793 new ArrayDeque(2**N) allocates backing array of size 2**(N+1)
P4 JDK-8062849 Optimize EnumMap.equals
P4 JDK-8166446 SingletonIterator.forEachRemaining doesn't advance before calling action
P4 JDK-8166365 Small immutable collections should provide optimized implementations when possible
P4 JDK-8166840 Synthetic bridge constructor in ArrayList$Itr blocks inlining
P4 JDK-8151062 unbalanced parenthesis in java.util.EnumMap.clone() Javadoc
P4 JDK-8134373 use collections convenience factories in the JDK
P4 JDK-8043329 Wrong variable used in java.util.Collections javadoc code
P5 JDK-8138938 Clarify javadoc for java.util.Collections.copy()
P5 JDK-8177653 clarify restrictions on Iterator.forEachRemaining
P5 JDK-8145139 clean up jdk_collections and jdk_concurrent test groups
P5 JDK-8144305 documentation of Queue interface contains reference to LinkedBlockingQueue twice in 'See Also' section
P5 JDK-8143577 optimize ArrayList.removeIf
P5 JDK-8148044 Remove Enum[0] constants from EnumSet and EnumMap
P5 JDK-8078463 TEST_BUG: optimize java/util/Map/


Priority Bug Summary
P1 JDK-8165605 Thai resources in jdk.localedata cause split package issue with java.base
P2 JDK-8159766 "Switching encoding from UTF-8 to ISO-8859-1" log message should be trace/debug message
P2 JDK-8075545 Add permission check for locale service provider implementations
P2 JDK-8130845 Change to CLDR Locale data in JDK 9 b71 causes SimpleDateFormat parsing errors
P2 JDK-8134384 Continuation of JDK-8130845 : A date string created by Date#toString() is not parseable neither with ENGLISH, US nor ROOT locale
P2 JDK-8048588 Granularity of localedata and cldrdata
P2 JDK-8134915 Improve performance of CLDRLocaleProviderAdapter.getCandidateLocales
P2 JDK-8152873 java/util/Locale/ fails after JDK-8150432
P2 JDK-8170840 java/util/Locale/ failed with "Uncaught exception thrown in test method TestGetLangsAndCountries"
P2 JDK-8154853 java/util/TimeZone/ fails after JDK-8154231
P2 JDK-8033893 jdk build is broken due to the changeset of JDK-8033370
P2 JDK-8043553 JEP 226: UTF-8 Property Resource Bundles
P2 JDK-8152817 Locale data loading fails silently when running with a security manager
P2 JDK-8152926 PropertyResourceBundle constructor don't understand the System.setProperty change
P2 JDK-8038436 Re-examine the mechanism to determine available localedata and cldrdata
P2 JDK-8148346 Reduce number of packages in jdk.localedata module
P2 JDK-8180375 Rename Provider to .spi.Provider
P2 JDK-8170772 ResourceBundle improper caching causes tools/javadoc tests intermittently
P2 JDK-8161203 ResourceBundle.getBundle performance regression
P2 JDK-8177980 ResourceBundle.getBundle throws NoClassDefFoundError when fails to define a class
P2 JDK-8057747 Several test failing after update to tzdata2014g
P2 JDK-8055253 test/java/util/Currency/ modifies the test JDK
P2 JDK-8168906 Tighten permissions granted to the jdk.localedata module
P2 JDK-8008577 Use CLDR Locale Data by Default
P3 JDK-8152077 (cal) Calendar.roll does not always roll the hours during daylight savings changes
P3 JDK-8027607 (rb) Provide UTF-8 based properties resource bundles
P3 JDK-8043012 (tz) Support tzdata2014c
P3 JDK-8049343 (tz) Support tzdata2014g
P3 JDK-8059206 (tz) Support tzdata2014i
P3 JDK-8064560 (tz) Support tzdata2014j
P3 JDK-8072042 (tz) Support tzdata2015a
P3 JDK-8075667 (tz) Support tzdata2015b
P3 JDK-8077685 (tz) Support tzdata2015d
P3 JDK-8148446 (tz) Support tzdata2016a
P3 JDK-7044727 (tz) TimeZone.getDefault() call returns incorrect value in Windows terminal session
P3 JDK-8054010 [HOST provider, not gregory] Return NULL when calling Calendar.getDisplayNames for Calendar.ERA
P3 JDK-8054482 [HOST provider] only return standalone-style month display name
P3 JDK-8055258 [HOST provider] Short era display name is not returned
P3 JDK-8039301 [ja] Host Locale Provider uses non-translated Calendar field names
P3 JDK-8079186 Add 'localeServiceProvider' target in the class description of RuntimePermission
P3 JDK-8062006 Add a new locale data name "COMPAT" for java.locale.providers system property to reduce ambiguity
P3 JDK-8136356 Add time zone mappings on Windows
P3 JDK-8157792 After Integrating tzdata2016d the test/sun/util/calendar/zi/ fails for "Asia/Oral" and "Asia/Qyzylorda" Timezones
P3 JDK-8134520 Bug8134250 test fails in en_IE locale
P3 JDK-8167273 Calendar.getDisplayNames inconsistent with DateFormatSymbols
P3 JDK-8167143 CLDR timezone parsing does not work for all locales
P3 JDK-8058509 CLDRLocaleDataMetaInfo should be in jdk.localedata
P3 JDK-7068008 closed/java/util/Calendar/CalendarTestScripts/ execution failed on Windows 7
P3 JDK-8134250 Create unit tests for CLDR unique features
P3 JDK-8055222 Currency update needed for ISO 4217 Amendment #159
P3 JDK-8145952 Currency update needed for ISO 4217 Amendment #161
P3 JDK-8164784 Currency update needed for ISO 4217 Amendment #162.
P3 JDK-7102969 supercede not working correctly
P3 JDK-8136668 Default locale provider adapter incorrectly set to JRE
P3 JDK-8171189 Deprecate ResourceBundleControlProvider for removal
P3 JDK-8132125 German (Switzerland) formatting broken if CLDR Locale Data is used
P3 JDK-8166994 Improve sun.util.locale.LocaleMatcher
P3 JDK-8179274 Incorrect Java version in the page "Supported Encoding"
P3 JDK-8129361 ISO 4217 amendment 160
P3 JDK-8130246 java/util/Currency/ fails Exception java.lang.NullPointerException
P3 JDK-8129881 JDK-8008577 breaks Nashorn test
P3 JDK-8043554 JEP 252: Use CLDR Locale Data by Default
P3 JDK-8079548 JEP-JDK-8043553: Test task: Develop Global Suite test
P3 JDK-8174779 Locale issues with Mac 10.12
P3 JDK-8035133 Locale matching: Weight q=0 isn't handled correctly.
P3 JDK-8071929 Locale.getISOCountries() has inconsistent behaviour for "AN", "BU" and "CS" country codes
P3 JDK-8163350 LocaleProviderAdapter Preference list retrieved is wrong, when -Djava.locale.providers=COMPAT
P3 JDK-8039969 Old Korean Calendar conflicts with Host Locale
P3 JDK-8076287 Performance degradation observed with TimeZone Benchmark
P3 JDK-8165936 Potential Heap buffer overflow when seaching timezone info files
P3 JDK-8172365 Provide a better migration path for ResourceBundleControlProvider
P3 JDK-8171140 Re-examine ResourceBundle::clearCache method
P3 JDK-8039317 Read as a resource
P3 JDK-8150434 Remove redundant "jdk_localedata" from the CLDR locale data meta info class name
P3 JDK-8176886 Remove stray @deprecated in Date#getDate
P3 JDK-8153041 Remove unused redundant parameter in CLDRConverter
P3 JDK-8048123 Replace with another mechanism to specify a new Japanese calendar era
P3 JDK-8165984 ResourceBundle lookup fields not completely thread-safe
P3 JDK-8075548 SimpleDateFormat formatting of "LLLL" in English is incorrect; should be identical to "MMMM"
P3 JDK-8171139 Simplify ResourceBundle.CacheKey and ClassLoader may not be needed
P3 JDK-8042360 Subtag syntax check is incomplete in Locale.LanguageRange
P3 JDK-8074351 Support for currencies with the 4 digits (or more) minor unit
P3 JDK-8062588 Support java.util.spi.*, java.text.spi.*, loaded from classpath
P3 JDK-8078020 Test task: Develop new Global Suite tests
P3 JDK-8158504 test/sun/util/locale/provider/ non English locale(s) included in available locales
P3 JDK-8072602 Unpredictable timezone on Windows when OS's timezone is not found in tzmappings
P3 JDK-8165296 update existing i18n test cases of test/java/util
P3 JDK-8164791 Update existing test cases of test/java/text/Format.
P3 JDK-8040211 Update LSR datafile for BCP 47
P3 JDK-8132494 Wrong CLDR resource bundle names for legacy ISO language codes
P4 JDK-7129443 (cal) Difference between comment and implementation of DAY_OF_WEEK_IN_MONTH
P4 JDK-8049835 [ar/HOST adapter] Hijri calendar era is used but date number follows gregorian
P4 JDK-8047780 [Doc] Locale.LanguageRange() throws an undocumented IAE when range is ill-formed.
P4 JDK-8035726 A sentence is truncated in the API doc for j.u.Locale.LanguageRange.parse(String, Map).
P4 JDK-8026766 Add toString() to j.u.Locale.LanguageRange.
P4 JDK-8034220 AIX: Provide better time zone mappings (i.e. tzmappings file)
P4 JDK-8134505 Cleanup of "TimeZone_md.c"
P4 JDK-8154295 Currency iso code is int and hence looses the preceeding zero.
P4 JDK-8075315 Currency.getInstance(Locale) API doc is incorrect
P4 JDK-8066652 Default TimeZone is GMT not local if user.timezone is invalid on Mac OS
P4 JDK-8074411 Describe "minor unit" and/or "default fraction digits" in Currency class' javadoc clearly
P4 JDK-8044233 Development Tasks
P4 JDK-8157138 Error while fetching currency instance by Currency.getInstance(currencycode)
P4 JDK-8050953 Fix raw and unchecked lint warnings in sun.text.normalizer.UnicodeSet
P4 JDK-8146750 java.time.Month.getDisplayName() return incorrct narrow names with JRE provider on locale de,de_DE,en_US,tr_TR.
P4 JDK-8135055 java.util.Date.after(java.sql.Timestamp ) does not return correct results
P4 JDK-8135061 java.util.Locale#lookup throws java.lang.StringIndexOutOfBoundsException for range having '-' as second character
P4 JDK-8132861 java/text/Format/DateFormat/ failed in Thai locale
P4 JDK-8134733 java/util/Calendar/ failed in ar locale.
P4 JDK-8150432 java/util/Locale/ failed on Win10.
P4 JDK-8136518 java/util/TimeZone/ fails for de.
P4 JDK-8176185 java/util/TimeZone/ is not run
P4 JDK-8025547 Locale.toString() documentation error
P4 JDK-8154797 Localization data for "GMT"
P4 JDK-8060006 No Russian time zones mapping for Windows
P4 JDK-8030696 Norwegian locales nb_NO and nn_NO should be available locales
P4 JDK-8055088 Optimization for locale resources loading isn't working
P4 JDK-7047633 remove @ignore 6876961 from test/java/util/ResourceBundle/
P4 JDK-8138613 Remove SPI locale provider adapter from the default provider list
P4 JDK-8039565 Remove test exclusion for java/util/ResourceBundle/
P4 JDK-8169514 Review and update description
P4 JDK-8074350 Support ISO 4217 "Current funds codes" table (A.2)
P4 JDK-8159420 The LanguageRange.parse() method is throwing IllegalArgumentException in Turkish Locale
P4 JDK-8158025 Typo in java.util.Locale
P4 JDK-8166993 typo in java.util.Locale javadoc
P4 JDK-8167992 Update documentation of java.util.Date class
P4 JDK-8145136 Upgrade CLDR locale data
P4 JDK-8033627 UTC+02:00 time zones are not detected correctly on Windows


Priority Bug Summary
P2 JDK-8175013 (ann) Add @Generated
P2 JDK-8175119 Need to specify module of types created by Filer.createSourceFile/Filer.createClassFile?
P3 JDK-8173944 Reference Origin.MANDATED in getEnclosedElements specs
P3 JDK-8174854 Two javax.annotation.processing javadoc link issues
P3 JDK-8178916 Update annotation processing API for terminology changes in modules
P3 JDK-6818181 Update naming convention annotation processing samples for modules
P4 JDK-8159378 Correct wording of RoundEnvironment.getElementsAnnotatedWithAny
P4 JDK-8032230 Enhance javax.a.p.RoundEnvironment after repeating annotations


Priority Bug Summary
P2 JDK-8175184 Annotation processor observes interface private methods as default methods
P2 JDK-8031744 Annotations on many Language Model elements are not returned
P2 JDK-8182566 Including missing test update for JDK-8163989
P2 JDK-8172810 ModuleElement should declare and provide appropriate modifiers
P3 JDK-8173945 Add methods for Elements.getAll{Type, Package, Module}Elements
P3 JDK-8028543 Add SourceVersion.RELEASE_9
P3 JDK-8163989 Clarify ModuleElement spec
P3 JDK-8172531 Correct misstatements in javax.lang.model visitor documentation
P3 JDK-8173609 Elements.printElements needs to support modules
P3 JDK-8175786 Fix small doc issues
P3 JDK-8163315 Implement an API to identify an implicitly declared annotation (or declaration)
P3 JDK-8175335 Improve handling of module types in javax.lang.model.util.Types
P3 JDK-8173676 Improvements to javax.annotation.processing and javax.lang.model docs
P3 JDK-8172458 Make javax.lang.model javadoc HTML 5 compliant
P3 JDK-8176266 Make visitUnknown specification more explicit
P3 JDK-8173776 More javax.lang.model improvements to support modules
P3 JDK-8175118 Revisit modeling of module directives
P3 JDK-8173798 Tests for printing modules
P3 JDK-8172910 Use default methods as appropriate for language model visitors
P3 JDK-8176477 Use DirectiveVisitor to print module information
P3 JDK-8172686 Use less aggressive deprecation of utility visitors
P4 JDK-8051482 Fix deprecation warnings in javax.lang.model.util
P4 JDK-8037120 Fix doclint warnings in javax.lang.model exception types
P4 JDK-6415644 Make javax.lang.model.SourceVersion more informative
P4 JDK-8050430 Provided new utility visitors supporting SourceVersion.RELEASE_9
P4 JDK-8173164 Resolve remaining HTML5 issues in javax.lang.model.*
P4 JDK-8029715 test needs bugID added to @bug tag
P4 JDK-8160506 Use @implSpec tags in javax.lang.model.util


Priority Bug Summary
P2 JDK-8156824 com.sun.jndi.ldap.pool.PoolCleaner should clear its context class loader
P3 JDK-7011441 ./jndi/ldap/ needs to avoid spurious wakeup
P3 JDK-8042857 14 stuck threads waiting for notification on LDAPRequest
P3 JDK-8149521 automatic discovery of LDAP servers with Kerberos authentication
P3 JDK-8041451 com.sun.jndi.ldap.Connection:ReadTimeout should abandon ldap request
P3 JDK-8158802 com.sun.jndi.ldap.SimpleClientId produces wrong hash code
P3 JDK-8169465 Deadlock in com.sun.jndi.ldap.pool.Connections
P3 JDK-8129957 Deadlock in JNDI LDAP implementation when closing the LDAP context
P3 JDK-8140325 Incorrect package.html file
P3 JDK-8141148 LDAP "follow" throws ClassCastException with Java 8
P3 JDK-8149450 LdapCtx.processReturnCode() throwing Null Pointer Exception
P3 JDK-8050798 New unchecked warning introduced in com.sun.jndi.ldap.Connection
P3 JDK-8159822 Non-synchronized access to shared members of com.sun.jndi.ldap.pool.Pool
P3 JDK-8154304 NullpointerException at LdapReferralException.getReferralContext
P3 JDK-8051422 Remove JNDI dependency on java.applet.Applet
P3 JDK-8044627 Update JNDI to work with modules
P4 JDK-8078276 add copyright header to IPv6NameserverPlatformParsingTest
P4 JDK-8170338 com/sun/jndi/rmi/registry/RegistryContext/ failed with "Port already in use"
P4 JDK-8050869 Convert runtime dependency to Applet to a static dependency in cosnaming
P4 JDK-8035105 DNS provider cleanups
P4 JDK-8132877 docs: replace tags (obsolete in html5) for java.naming
P4 JDK-8074761 Empty optional parameters of LDAP query are not interpreted as empty
P4 JDK-8061273 Export JNDI providers
P4 JDK-8066642 Fix deprecation warnings in jdk.naming module
P4 JDK-8051991 Flatten VersionHelper hierarchies
P4 JDK-8047062 Improve diagnostic output in com/sun/jndi/ldap/
P4 JDK-6991580 IPv6 Nameservers in resolv.conf throws NumberFormatException
P4 JDK-8049884 Reduce possible timing noise in com/sun/jndi/ldap/
P4 JDK-8176352 Release Note: Exported elements referring to inaccessible types in java.naming
P4 JDK-8048175 Remove redundant use of reflection on core classes from JNDI
P4 JDK-8066641 Suppress deprecation warnings in jdk.naming module
P4 JDK-8039041 Tidy warnings cleanup for javax.naming
P4 JDK-8151065 Typo in javax.naming.CompoundName
P4 JDK-8051350 Update javadoc for com.sun.jndi.toolkit.corba.CorbaUtils
P5 JDK-8054158 Fix typos in JNDI-related packages
P5 JDK-4682009 Typo in javadocs in javax/naming


Priority Bug Summary
P2 JDK-8062132 Nashorn incorrectly binds "this" for constructor created by another function
P2 JDK-8071588 The spec for javax.script.ScriptEngineFactory.getProgram() should specify NPEs thrown
P3 JDK-8066932 __noSuchMethod__ binds to this-object without proper guard
P3 JDK-8068978 All versions of javax.script.ScriptEngine.eval(...) method may clarify ScriptException throwing
P3 JDK-8041697 CompiledScript slower when eval with binding
P3 JDK-8154192 Deprivilege java.scripting module
P3 JDK-8031359 Invocable.getInterface() works incorrectly if interface has default methods
P3 JDK-8068938 javax.script package description should specify use of ServiceLoader
P3 JDK-8068462 javax.script.ScriptEngineFactory.getParameter spec is not completely consistent with the rest of the API
P3 JDK-8150219 ReferenceError in 1.8.0_72
P3 JDK-8068587 ScriptEngineFactory.getParameter() should specify NPE for a null key
P3 JDK-8072002 The spec on javax.script.Compilable contains a typo and confusing inconsistency
P4 JDK-8068279 (typo in the spec) javax.script.ScriptEngineFactory.getLanguageName
P4 JDK-8073611 javax.script.ScriptEngineFactory: formatting error in javadoc of getParameter
P4 JDK-8062030 Nashorn bug retrieving array property after key string concatenation
P4 JDK-8044689 Nashorn is slower than Rhino on B-Tree test
P4 JDK-8055033 Shell tests for jrunscript don't pass through VM options


Priority Bug Summary
P3 JDK-8181832 Broken link in javax/sql/rowset/spi/package-summary.html
P3 JDK-8164061 Fix @since for javax.sql.rowset.BaseRowSet and javax.sql.CommonDataSource
P4 JDK-8037507 [javadoc] Broken link in javax/sql/rowset/package.html
P4 JDK-8064356 Add BaseRowSet, SQLInputImpl, and SQLOutputImpl tests
P4 JDK-8074939 Add few sample scripts to demo nashorn parser API
P4 JDK-8068732 Add initial RowSet tests
P4 JDK-8062558 Add javax/sql/rowset/spi tests
P4 JDK-8046389 Add missing @since tag under javax.sql.**
P4 JDK-8059570 Add RowSetFactory and RowSetProvider tests
P4 JDK-8062198 Add RowSetMetaDataImpl Tests and add column range validation to isdefinitlyWritable
P4 JDK-8066188 BaseRowSet returns the wrong default value for escape processing
P4 JDK-8059997 Broken link in javax.sql.rowset Interface WebRowSet
P4 JDK-8059882 Disable RowSetFactory and RowSetProviderTests which are failing due to agentvm mode
P4 JDK-8146803 Enhance Sharding API to avoid compiler errors due implementing multiple interfaces
P4 JDK-8055979 java.sql.Wrapper repeat of the word 'the' in api docs
P4 JDK-8180309 Minor update to javax.sql.rowset package.html
P4 JDK-8178915 Minor update to the PooledConnection javadoc
P4 JDK-8132801 Remove extra '" from javax.sql.RowSet.setBlob(String,InputStream,long)
P4 JDK-8059411 RowSetWarning does not correctly chain warnings
P4 JDK-8058480 test/closed/com/sun/rowset/internal/xmlreadercontenthandler/ should not write to testbase
P4 JDK-8039488 Tidy warnings cleanup for javax.sql


Priority Bug Summary
P1 JDK-8135336 Fix broken build after JDK-8135262
P1 JDK-8068994 Forgot to add a test model to JDK-8068573
P1 JDK-8064705 LengthNotWritableFilter breaks the build
P1 JDK-8059132 Nashorn broke JDK9 build, because JDK make of Nasgen has bootstrapping problems
P1 JDK-8080295 Need to adjust test output for 8067931
P1 JDK-8075223 Revert JDK-8073706 (multithreaded deoptimizing compilation livelock prevention)
P1 JDK-8136647 Syntactic error accidentally left in JDK-8135251 changeset
P1 JDK-8073560 Update BuildNashorn.gmk to require source/target 8 for jdk9 build
P2 JDK-8166298 3 nashorn ant tests fail with latest jdk9-dev tip
P2 JDK-8170594 >>>=0 generates invalid bytecode for BaseNode LHS
P2 JDK-8027933 Add --const-as-var option
P2 JDK-8072596 Arrays.asList results in ClassCastException with a JS array
P2 JDK-8062308 b36 of 9 introduces regressions over b35 when running lyra
P2 JDK-8157250 BeanLinker assumes fixed array type linkage
P2 JDK-8061113 Boolean used as optimistic call return type
P2 JDK-8068889 Calling a @FunctionalInterface from JS leaks internal objects
P2 JDK-8072426 Can't compare Java enums to strings
P2 JDK-8046921 Deoptimization type information peristence
P2 JDK-8053905 Eager code generation fails for earley boyer with split threshold set to 1000
P2 JDK-8164748 Edit pad crashes when calling function
P2 JDK-8043605 Enable history for empty property maps
P2 JDK-8075550 Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages
P2 JDK-8134873 ES6 Numeric Literals
P2 JDK-8067139 Finally blocks inlined incorrectly
P2 JDK-8043133 Fix corner cases of JDK-8041995
P2 JDK-8043431 Fix yet another corner case of JDK-8041995
P2 JDK-8043002 Improve performance of Nashorn equality operators
P2 JDK-8047764 Indexed or polymorphic set on global affects Object.prototype
P2 JDK-8065985 Inlining failure of Number.doubleValue() in JSType.toNumeric() causes 15% peak perf regresion on Box2D
P2 JDK-8071678 javax.script.ScriptContext setAttribute method should clarify behavior when GLOBAL_SCOPE is used and global scope object is null
P2 JDK-8176511 JSObject property access is broken for numeric keys outside the int range
P2 JDK-8081204 ListAdapter throws NPE when adding/removing elements outside of JS context
P2 JDK-8073706 Livelock in CompiledFunction.getValidOptimisticInvocation
P2 JDK-8042364 Make __proto__ ES6 draft compliant
P2 JDK-8043956 Make code caching work with optimistic typing and lazy compilation
P2 JDK-8044750 megamorphic getter for scope objects does not call __noSuchProperty__ hook
P2 JDK-8044154 Nashorn : all tests failed with
P2 JDK-8078049 Nashorn crashes when attempting to start TypeScript compiler
P2 JDK-8156820 Nashorn nightly test failure after fix for 8156738
P2 JDK-8044851 nashorn properties leak memory
P2 JDK-8066683 nashorn test failures after modular image changes
P2 JDK-8142501 nashorn tests failing after recent changes
P2 JDK-8156040 Nashorn tests still failing after latest Jigsaw merge
P2 JDK-8007465 Need to supplement JavaScript Programmer's Guide with Rhino to Nashorn Migration Guide
P2 JDK-8038413 NPE in unboxInteger
P2 JDK-8038638 Persistent store for compiled scripts
P2 JDK-8058610 Pessimistic LMUL used where optimistic should be
P2 JDK-8164260 readLine does not echo characters
P2 JDK-8048869 Reduce time spent in
P2 JDK-8043004 Reduce variability at JavaAdapter call sites
P2 JDK-8087136 regression: apply on $EXEC fails with ClassCastException
P2 JDK-8069002 REGRESSION: test/script/external/test262/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T5.js fails with tip
P2 JDK-8144160 Regression: two tests fail on Windows with "ant test" target
P2 JDK-8151518 relax test requirements to reduce dependency on directory contents
P2 JDK-8140273 Restore use of CompositeOperation.contains where it is needed
P2 JDK-8074491 run-nasgen in ant doesn't see the right Nashorn classes
P2 JDK-8030182 scopeCall with -1 as line number
P2 JDK-8053910 ScriptObjectMirror causing havoc with Invocation interface
P2 JDK-8076972 Several nashorn tests failing
P2 JDK-8021350 Share script classes between threads/globals within context
P2 JDK-8057148 Skip nested functions on reparse
P2 JDK-8028373 Specialize parseInt
P2 JDK-8074410 Startup time: Port shell.js to Java
P2 JDK-8057703 Still, lots of trivial classes are generated by Nashorn compiler
P2 JDK-8048586 String concatenation with optimistic types is slow
P2 JDK-8145909 tools/jjs/ fails after JDK-8145750 except on windows
P2 JDK-8043235 Type-based optimizations interfere with continuation methods
P2 JDK-8074545 Undefined object values in object literals with spill properties
P2 JDK-8059370 Unnecessary work in deoptimizing recompilation
P2 JDK-8043003 Use strongly referenced generic invokers
P2 JDK-8131340 Varargs function is recompiled each time it is linked
P2 JDK-8051439 Wrong type calculated for ADD operator with undefined operand
P3 JDK-8168373 "Bad local variable type" in ES6 Nashorn when reassigning a `let` within a `try`
P3 JDK-8151515 $EXEC output is truncated
P3 JDK-8141209 $EXEC should allow streaming
P3 JDK-8151291 $EXEC yields "unknown command" on Cygwin
P3 JDK-8047035 (function() "hello")() crashes in Lexer with jdk9
P3 JDK-8047728 (function(x){var o={x:0}; with(o){delete x} return o.x})() evaluates to 0 instead of undefined
P3 JDK-8144711 (x) => x + 1 causes Assertion failure instead of SyntaxError
P3 JDK-8080090 -d option should dump script source as well
P3 JDK-8159034 4 nashorn ant tests fail with latest jdk9-dev build with IncompatibleClassChangeError
P3 JDK-8068431 @since and @jdk.Exported are missing in jdk.nashorn.api.scripting classes and files
P3 JDK-8062216 [TEST_BUG] [nashorn] regresion test failure with TimeZone
P3 JDK-8057742 [TEST_BUG] ant clean test should not fail if one or more external test suites are missing
P3 JDK-8044647 [TEST_BUG] sun/tools/jrunscript/ start failing: Output of jrunscript -l nashorn differ from expected output
P3 JDK-8055899 [TEST_BUG] Two nashorn tests fail in 8u40 nightly build with ClassNotFoundException
P3 JDK-8077149 __noSuchProperty__ and __noSuchMethod__ invocations are not properly guarded
P3 JDK-8044000 Access to undefined property yields "null" instead of "undefined"
P3 JDK-8158467 AccessControlException is thrown on public Java class access if "script app loader" is set to null
P3 JDK-8145630 accidental debug printlns in
P3 JDK-8158736 Adapter class loaders can avoid creating named dynamic modules
P3 JDK-8054411 Add "nashorn.args.prepend" system property
P3 JDK-8133948 Add 'edit' function to allow external editing of scripts
P3 JDK-8047057 Add a regression test for the passing test cases from JDK-8042304
P3 JDK-8144230 Add a sample for pluggable dynalink linker
P3 JDK-8086032 Add compiler error tests when syntax extensions are used with --no-syntax-extensions option
P3 JDK-8145529 Add documentation for JS builtins in resource
P3 JDK-8140759 add ES6 template literal test
P3 JDK-8078174 Add few FX and parser API samples for nashorn
P3 JDK-8133347 Add makefiles support and basic session, persistence history navigation with jline
P3 JDK-8042600 Add more samples in nashorn/samples directory
P3 JDK-8135054 Add more samples to nashorn samples directory
P3 JDK-8131929 Add option for debuggable scopes
P3 JDK-8072752 Add regression tests for 8071678 and 8071594
P3 JDK-8047369 Add regression tests for passing test cases of JDK-8024971
P3 JDK-8147558 Add support for ES6 collections
P3 JDK-8137149 add tests for issues closed during Nashorn issue cleanup
P3 JDK-8033763 Add tests to assert map identity of certain objects
P3 JDK-8057019 Additional arguments to Function.prototype.apply messes up actual arguments passed
P3 JDK-8157225 adopt method handle for array length getter in BeanLinker
P3 JDK-8131039 after adding a function property to Object.prototype, JSON.parse with reviver function goes into infinite loop
P3 JDK-8134609 Allow constructors with same prototoype map to share the allocator map
P3 JDK-8075454 Anonymous functions have internal names exposed via parser API
P3 JDK-8055368 Ant build broken after modular source code change
P3 JDK-8167157 ant build fails with [javadoc] javadoc: error - Illegal package name: "implNote:a:Implementation Note:"
P3 JDK-8155944 ant build/test of nashorn is broken with the latest jdk9-dev build
P3 JDK-8152533 ant octane target fails with "Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager)"
P3 JDK-8046905 apply on apply is broken
P3 JDK-8145669 apply2call optimized callsite fails after becoming megamorphic
P3 JDK-8161579 Array-like AbstractJSObject-based instance not treated as array by native array functions
P3 JDK-8080182 Array.prototype.sort throws IAE on inconsistent comparison
P3 JDK-8068972 Array.splice should follow the ES6 specification
P3 JDK-8144131 ArrayData.getInt implementations do not convert to int32
P3 JDK-8047078 ArrayLiteral mutability caused trouble in optimistic types
P3 JDK-8061955 asm.js idioms result in unnecessarily code emission
P3 JDK-8060101 AssertionError: __noSuchProperty__ placeholder called from NativeJavaImporter
P3 JDK-8056129 AtomicInteger is treated as primitive number with optimistic compilation
P3 JDK-8150218 Autoconversion SAM adapters sometimes don't get privileges
P3 JDK-8146251 Avoid annotation to specify documentation for JS builtin functions
P3 JDK-8054898 Avoid creation of empty type info files
P3 JDK-8167614 Avoid module dependency from jdk.dynalink to jdk.internal.module of java.base module
P3 JDK-8047959 bindings created for declarations in eval code are not mutable
P3 JDK-8067854 bound java static method throws NPE when 'null' is used for this argument
P3 JDK-8137333 Boundless soft caching of property map histories causes high memory pressure
P3 JDK-8067136 BrowserJSObjectLinker does not handle call on JSObjects
P3 JDK-8067420 BrowserJSObjectLinker should give priority to beans linker for property get/set
P3 JDK-8136544 Call site switching to megamorphic causes incorrect property read
P3 JDK-8157680 Callback parameter of any JS builtin implementation should accept any Callable
P3 JDK-8080042 can't build nashorn.jar from jdk9-dev/nashorn using jdk8 installation as JAVA_HOME
P3 JDK-8171849 Can't unambiguously select between fixed arity signatures [(java.util.Collection), (java.util.Map)]
P3 JDK-8156615 Catch parameter can be a BindingPattern in ES6 mode
P3 JDK-8166186 ClassCastException with arguments usage
P3 JDK-8156492 ClassFormatError thrown when arrow function is used
P3 JDK-8079424 Code generator emits an extra POP for discarded boolean logical operation
P3 JDK-8077168 fails in jtreg mode on Mac
P3 JDK-8170402 Compilation warning with NashornException
P3 JDK-8055042 Compile-time expression evaluator was missing variables
P3 JDK-8060242 Compile-time expression evaluator wasn't seeing into ArrayBufferViews
P3 JDK-8060011 Concatenating an array and converting it to Java gives wrong result
P3 JDK-8044732 ConsString should provide accessors for left and right parts
P3 JDK-8073707 const re-assignment should not reported as a "early error"
P3 JDK-8144979 Context.fromClass should catch exception from Class.getClassLoader call
P3 JDK-8134973 Control flow exceptions should avoid filling stack trace
P3 JDK-8098808 Convert Scope from interface to class
P3 JDK-8059842 Creating symbols for declared functions shouldn't be a special case
P3 JDK-8138910 Ctrl-D causes jjs to crash with NPE
P3 JDK-8134490 Dead var statement evacuation incorrectly descends into nested functions
P3 JDK-8033924 Default permissions are not given for eval code
P3 JDK-8080848 delete of bound Java method property results in crash
P3 JDK-8064467 Deoptimization type information persistence doesn't work - "Failed to calculate version dir name"
P3 JDK-8062386 Different versions of nashorn use same code cache directory
P3 JDK-8152646 disable ant octane target to avoid hudson build failure notifications
P3 JDK-8139269 Do not expose prune method handles from ChainedCallSite
P3 JDK-8139270 Drastically reduce memory footprint of ChainedCallSite
P3 JDK-8066669 dust.js performance regression caused by primitive field conversion
P3 JDK-8147070 Dynalink GuardedInvocation must check the Class object passed
P3 JDK-8144914 Eagerly lookup browser JS object class in BrowserJSObjectLinker
P3 JDK-8139756 Eliminate GuardedTypeConversion, DynamicLinker.getCurrentLinkRequest and its associated permission
P3 JDK-8142857 Enable all nashorn "api" tests for jtreg test run
P3 JDK-8081609 engine.eval call from a java method which was called from a previous engine.eval results in wrong ScriptContext being used.
P3 JDK-8044518 Ensure exceptions related to optimistic recompilation are not serializable
P3 JDK-8133119 Error message associated with TypeError for call and new should include stringified Node
P3 JDK-8031983 Error objects should capture stack at the constructor
P3 JDK-8164467 ES6 computed properties are implemented wrongly
P3 JDK-8156743 ES6 for..of should work for Java Maps and Sets
P3 JDK-8156665 ES6 for..of should work on Java Iterables and Java arrays
P3 JDK-8048071 eval within 'with' statement does not use correct scope if with scope expression has a copy of eval
P3 JDK-8098546 eval within a 'with' leaks definitions into global scope
P3 JDK-8047067 eval("23", ({})[/x/]) crashes with ArrayIndexOutOfBoundsException with optimistic compilation
P3 JDK-8157444 exclude jjs shebang handling test from runs
P3 JDK-8049242 Explicit constructor overload selection should work with StaticClass as well
P3 JDK-8133872 Expression completion should work on contexts where an expression is accepted
P3 JDK-8055107 Extension directives to turn on callsite profiling, tracing, AST print and other debug features locally
P3 JDK-8144051 failing test262parallel run leads to successful build
P3 JDK-8134397 Features that require AWT, swing should handle headless mode properly
P3 JDK-8147613 Fix all jjs tests to run on windows
P3 JDK-8149451 fix bytecode generation issue after 8149186
P3 JDK-8179304 Fix HTML 5 errors in jdk.scripting.nashorn and jdk.dynalink module
P3 JDK-8144221 fix Nashorn shebang argument handling on Mac/Linux
P3 JDK-8168049 Fix Performance of Lexer.isJSWhitespace
P3 JDK-8149744 fix testng.jar delivery in Nashorn build.xml
P3 JDK-8141505 floating point parse incorrect on big integer
P3 JDK-8047371 function f(){ var a=1; with({ get a() { return false } }) return a }; f() throws TypeError with optimistic compilation
P3 JDK-8066407 Function with same body not reparsed after SyntaxError
P3 JDK-8047357 Function("switch((null >> x3)) { default: {var x; break ; }\nthrow x; }")() results in AssertionError in LocalVariableTypesCalculator
P3 JDK-8051778 Function.prototype.bind doesn't work on all callables
P3 JDK-8066218 Fuzzing bug: And jdk.nashorn.internal.runtime.Source#byteToCharArray: Detection for UTF-32LE does not work because it has the same prefix as UTF-16LE.
P3 JDK-8066221 Fuzzing bug: Assertion error related to bytecode slots
P3 JDK-8066238 Fuzzing bug: AssertionError in ParserContext.pop
P3 JDK-8066232 Fuzzing bug: AssertionError when defining local variable in Block
P3 JDK-8066229 Fuzzing bug: Can't find scope depth
P3 JDK-8066227 Fuzzing bug: CodeGenerator load unitialized slot
P3 JDK-8066224 Fuzzing bug: constant folding of ternary operator and IfNode with constant test
P3 JDK-8066225 Fuzzing bug: duplicate integer switch cases
P3 JDK-8066215 Fuzzing bug: length valueOf bug
P3 JDK-8066217 Fuzzing bug: new ArrayBuffer() throws exception
P3 JDK-8066214 Fuzzing bug: Object.prototype.toLocaleString(0)
P3 JDK-8066226 Fuzzing bug: parameter counts differ in TypeConverterFactory
P3 JDK-8066237 Fuzzing bug: Parser error on optimistic recompilation
P3 JDK-8066236 Fuzzing bug: StackMapTable error: bad offset, ClassFormatError
P3 JDK-8066230 Fuzzing bug: Undefined object type assertion when computing TypeBounds
P3 JDK-8042304 Fuzzing jdk9/dev/nashorn
P3 JDK-8044502 Get rid of global optimistic flag
P3 JDK-8049524 Global object initialization via javax.script API should be minimal
P3 JDK-8098578 Global scope is not accessible with indirect load call
P3 JDK-8062937 GlobalConstants produces wrong result with Object.defineProperty
P3 JDK-8073613 Here documents: how to avoid string interpolation?
P3 JDK-8163945 Honor Number type hint in toPrimitive on Numbers
P3 JDK-8133812 identifier and member expression completion handling is not uniform
P3 JDK-8060241 Immediately invoked function expressions cause lot of deoptimization
P3 JDK-8032068 implement @sourceURL and #sourceURL directives
P3 JDK-8144919 Implement missing member handler for BeansLinker
P3 JDK-8059844 Implement optimistic splitter
P3 JDK-8133695 Implement tab-completion for identifiers
P3 JDK-8134255 Implement tab-completion for java package prefixes and package names
P3 JDK-8133652 Implement tab-completion for member select expressions
P3 JDK-8139761 Improve Dynalink class nomenclature and package organization
P3 JDK-8038456 improve nasgen type checks and use specific return type for @Function, @SpecializedFunctio methods
P3 JDK-8173480 in operator should work on java objects and classes
P3 JDK-8148924 Inconsistent "this" context in JSAdapter adaptee function calls
P3 JDK-8043232 Index selection of overloaded java new constructors
P3 JDK-8074021 Indirect eval fails when used as an element of an array or as a property of an object
P3 JDK-8168146 Infinite recursion in Uint8ClampedArray.set
P3 JDK-8032004 instance property "message" of Error objects should be non-enumerable
P3 JDK-8057931 Instead of not skipping small functions in parser, make lexer avoid them instead
P3 JDK-8139895 Introduce GuardingDynamicLinkerExporter
P3 JDK-8139931 Introduce Operation objects in Dynalink instead of string encoding
P3 JDK-8138616 invokeFunction fails if function calls a function defined in GLOBAL_SCOPE
P3 JDK-8137134 invokespecial on indirect super interface is generated by Java adapter generator
P3 JDK-8062024 Issue with date.setFullYear when time other than midnight
P3 JDK-8146147 Java linker indexed property getter does not work for computed nashorn string
P3 JDK-8062624 java.lang.String methods not available on concatenated strings
P3 JDK-8162839 JavaAdapters do not work with ScriptObjectMirror objects
P3 JDK-8079900 javadoc is missing for jdk.nashorn.api.tree package
P3 JDK-8050432 javax.script.filename variable should not be enumerable with nashorn engine's ENGINE_SCOPE bindings
P3 JDK-8053908 jdeps is not PATH on Mac, results in ant clean test failure on Mac
P3 JDK-8173851 JDK-8008448.js fails to parse test for JDK-8169481
P3 JDK-8062490 JDK-8061391 regresses typescript: OOME with too fat SparseArrayData instances
P3 JDK-8156847 jdk.dynalink package is shown under "Other Packages" section
P3 JDK-8066146 jdk.nashorn.api.scripting package javadoc should be included in jdk docs
P3 JDK-8148379 jdk.nashorn.api.scripting spec. adjustments, clarifications
P3 JDK-8134931 jdk.nashorn.internal.codegen.TypeMap should not use Map
P3 JDK-8079145 jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
P3 JDK-8080334 jdk.nashorn.internal.test.framework.ScriptRunnable::test/script/nosecurity/JDK-8078049.js fails on Windows
P3 JDK-8066749 jdk9-dev/nashorn ant build fails with jdk9 modular image build as JAVA_HOME
P3 JDK-8048176 JEP 236: Parser API for Nashorn
P3 JDK-8066046 JEP 292: Implement Selected ECMAScript 6 Features in Nashorn
P3 JDK-8075604 jjs exits even when non-daemon threads are still active
P3 JDK-8055034 jjs exits interactive mode if exception was thrown when trying to print value of last evaluated expression
P3 JDK-8145750 jjs fails to run simple scripts with security manager turned on
P3 JDK-8134562 jjs history object should have methods to save/load history to/from given file and also allow reexecution of commands by a call
P3 JDK-8134260 jjs in jre directory fails with "Could not find or load main class"
P3 JDK-8139852 jjs interactive mode fails to work with security manager
P3 JDK-8145186 jjs package completion should have a fallback when javac is not available
P3 JDK-8049300 jjs scripting: need way to quote $EXEC command arguments to protect spaces
P3 JDK-8146253 jjs should look for "doc string" property to print documentation on shift-tab
P3 JDK-8137320 jjs should support @argfile to pass command line arguments from a file
P3 JDK-8145486 jjs should support documentation key shortcut in interactive mode
P3 JDK-8134279 jjs should support multiple line input to complete incomplete code
P3 JDK-8135151 jjs should work in cygwin environment
P3 JDK-8156489 jjs tab-completion crashes with stack overflow error
P3 JDK-8145314 jjs tab-completion should support camel case completion
P3 JDK-8159031 jjs throws NoSuchFileException if ~/.jjs.history does not exist
P3 JDK-8152268 jjs tool makefile should use --addmods ALL-SYSTEM
P3 JDK-8178954 jjs uses wrong javadoc base URL
P3 JDK-8055796 JSObject and browser JSObject linkers should provide fallback to call underlying Java methods directly
P3 JDK-8170565 JSObject call() is passed undefined for the argument 'thiz'
P3 JDK-8137258 JSObjectLinker and BrowserJSObjectLinker should not expose internal JS objects
P3 JDK-8066773 JSON-friendly wrapper for objects
P3 JDK-8048718 JSON.parse('{"0":0, "64":0}') throws ArrayindexOutOfBoundsException
P3 JDK-8149334 JSON.parse(JSON.stringify([])).push(10) creates an array containing two elements
P3 JDK-8157160 JSON.stringify does not work on ScriptObjectMirror objects
P3 JDK-8081062 ListAdapter should take advantage of JSObject
P3 JDK-8134309 load call argument completion could be done with file chooser
P3 JDK-8134381 load completion should not use swing from non UI thread
P3 JDK-8067774 Local variable type calculation mismatch
P3 JDK-8165595 Main class should be set for nashorn modules
P3 JDK-8059843 Make AST serializable
P3 JDK-8139919 Make CallSiteDescriptor a concrete class
P3 JDK-8057551 Make class dumping available outside --compile-only mode
P3 JDK-8141538 Make DynamicLinker specific to a Context in Nashorn
P3 JDK-8044171 Make optimistic exception handlers smaller
P3 JDK-8139435 Make sure CallSiteDescriptor.getLookup is subject to a security check
P3 JDK-8046898 Make sure that there is no difference in test exercise behavior between lazy and non lazy
P3 JDK-8065832 Man Pages for jjs is being removed
P3 JDK-8065830 Man Pages for jrunscript is being removed
P3 JDK-8145550 Megamorphic invoke should use CompiledFunction variants without any LinkLogic
P3 JDK-8136694 Megemorphic scope access does not throw ReferenceError when property is missing
P3 JDK-8135190 Method code too large in Babel browser.js script
P3 JDK-8079470 Misleading error message when explicit signature constructor is called with wrong arguments
P3 JDK-8061959 Missing ArrayBuffer.isView() Method
P3 JDK-8171219 Missing checks in sparse array shift() implementation
P3 JDK-8066119 Missing resource
P3 JDK-8133624 Move JDK-8055034.js and JDK-8130127.js to currently-failing directory to exclude from test run
P3 JDK-8141338 Move jdk.internal.dynalink package to jdk.dynalink
P3 JDK-8141144 Move NameCodec to jdk.nashorn.internal space
P3 JDK-8046014 MultiGlobalCompiledScript used to cache method handle and strict mode - not anymore
P3 JDK-8141285 NameCode should pass tests from
P3 JDK-8085802 Nashorn -nse option causes parse error on anonymous function definition
P3 JDK-8167018 Nashorn and jjs should support --module-path and --add-modules options
P3 JDK-8178315 nashorn ant build failure with @moduleGraph javadoc tag
P3 JDK-8061257 nashorn ant build script should have a sanity target
P3 JDK-8138643 nashorn ant build.xml javadoc, javadocapi targets are broken and netbeans makefile does not include shell sources
P3 JDK-8134887 nashorn ant test configuration should disable assertion for LamdaFormEditor class
P3 JDK-8171503 Nashorn build, test failures with the latest jdk9-dev forest - javadoc target and test target fail
P3 JDK-8144473 Nashorn code assumes NashornCallSiteDescriptor always
P3 JDK-8172493 Nashorn FX example 3-4 using load for fx: scripts fails to run with latest jdk9 ea build
P3 JDK-8172006 Nashorn JavaScript engine fails to call @FunctionalInterface with a java.util.List argument
P3 JDK-8150731 Nashorn JSObject linker should be exposed as a service provider
P3 JDK-8055762 Nashorn misses linker for netscape.javascript.JSObject instances
P3 JDK-8074671 Nashorn Parser API
P3 JDK-8149929 Nashorn Parser API needs to be updated for ES6
P3 JDK-8075448 nashorn parser API returns init variable tree object of a for loop after for loop statement tree object
P3 JDK-8075207 Nashorn parser API returns StatementTree objects in out of order
P3 JDK-8134403 Nashorn react.js benchmark performance regression
P3 JDK-8143642 Nashorn shebang argument handling is broken
P3 JDK-8158131 Nashorn should not use jdk.internal.module.Modules API
P3 JDK-8055395 Nashorn should use source, target to be 1.8 and use ASM5 version for generated code
P3 JDK-8076646 nashorn tests should avoid using package names used by nashorn sources
P3 JDK-8158338 Nashorn's ScriptLoader split delegation has to be adjusted
P3 JDK-8168663 Nashorn: Add support for external java options in ant testng framework
P3 JDK-8055878 Nashorn: all tests failed with AccessControlException
P3 JDK-8054223 Nashorn: AssertionError when use __DIR__ and ScriptEngine.eval()
P3 JDK-8030197 Nashorn: Object.defineProperty() can be lured to change fixed NaN property
P3 JDK-8030199 Nashorn: Uint8ClampedArray - Incorrect ToUint8Clamp implementation
P3 JDK-8071989 NashornScriptEngine returns javax.script.ScriptContext instance with insonsistent get/remove methods behavior for undefined attributes
P3 JDK-8068603 NashornScriptEngine.put/get() impls don't conform to NPE, IAE spec assertions
P3 JDK-8068524 NashornScriptEngineFactory.getParameter() throws IAE for an unknown key, doesn't conform to the general spec
P3 JDK-8135337 NativeDebug.dumpCounters with incorrect scope count
P3 JDK-8011964 need indexed access to externally-managed ByteBuffer
P3 JDK-8134865 Need to restore for container block from lexical context in finally
P3 JDK-8137240 Negative