OpenJDK 8u262 Released

Andrew Hughes gnu.andrew at
Wed Jul 15 14:45:25 UTC 2020

We are pleased to announce the release of OpenJDK 8u262.

The source tarball is available from:


The tarball is accompanied by a digital signature available at:


This is signed by our Red Hat OpenJDK key (openjdk at

PGP Key: rsa4096/0x92EF8D39DC13168F (hkp://
Fingerprint = CA5F 11C6 CE22 644D 42C6  AC44 92EF 8D39 DC13 168F

SHA256 checksums:


The checksums can be downloaded from:


New in release OpenJDK 8u262 (2020-07-14):
Live versions of these release notes can be found at:

* New features
  - JDK-8223147: JFR Backport
* Security fixes
  - JDK-8028431, CVE-2020-14579: NullPointerException in
  - JDK-8028591, CVE-2020-14578: NegativeArraySizeException in
  - JDK-8230613: Better ASCII conversions
  - JDK-8231800: Better listing of arrays
  - JDK-8232014: Expand DTD support
  - JDK-8233255: Better Swing Buttons
  - JDK-8234032: Improve basic calendar services
  - JDK-8234042: Better factory production of certificates
  - JDK-8234418: Better parsing with CertificateFactory
  - JDK-8234836: Improve serialization handling
  - JDK-8236191: Enhance OID processing
  - JDK-8237117, CVE-2020-14556: Better ForkJoinPool behavior
  - JDK-8237592, CVE-2020-14577: Enhance certificate verification
  - JDK-8238002, CVE-2020-14581: Better matrix operations
  - JDK-8238804: Enhance key handling process
  - JDK-8238842: AIOOBE in GIFImageReader.initializeStringTable
  - JDK-8238843: Enhanced font handing
  - JDK-8238920, CVE-2020-14583: Better Buffer support
  - JDK-8238925: Enhance WAV file playback
  - JDK-8240119, CVE-2020-14593: Less Affine Transformations
  - JDK-8240482: Improved WAV file playback
  - JDK-8241379: Update JCEKS support
  - JDK-8241522: Manifest improved jar headers redux
  - JDK-8242136, CVE-2020-14621: Better XML namespace handling
* Other changes
  - JDK-4949105: Access Bridge lacks html tags parsing
  - JDK-7147060:
doesn't run in agentvm mode
  - JDK-8003209: JFR events for network utilization
  - JDK-8030680: 292 cleanup from default method code assessment
  - JDK-8035633: TEST_BUG: java/net/NetworkInterface/ and
some tests failed on windows intermittently
  - JDK-8037866: Replace the Fun class in tests with lambdas
  - JDK-8041626: Shutdown tracing event
  - JDK-8041915: Move 8 awt tests to OpenJDK regression tests tree
  - JDK-8067796: (process) Process.waitFor(timeout, unit) doesn't throw
NPE if timeout is less than, or equal to zero when unit == null
  - JDK-8076475: Misuses of strncpy/strncat
  - JDK-8130737: AffineTransformOp can't handle child raster with
non-zero x-offset
  - JDK-8141056: Erroneous assignment in HeapRegionSet.cpp
  - JDK-8146612: C2: Precedence edges specification violated
  - JDK-8148886: SEGV in sun.java2d.marlin.Renderer._endRendering
  - JDK-8149338: JVM Crash caused by Marlin renderer not handling NaN
  - JDK-8150986:
serviceability/sa/jmap-hprof/ failing because
expects HPROF JAVA PROFILE 1.0.1 file format
  - JDK-8151582: (ch) test java/nio/channels/
failing due to "Connection succeeded"
  - JDK-8165675: Trace event for thread park has incorrect unit for timeout
  - JDK-8171934:
ObjectSizeCalculator.getEffectiveMemoryLayoutSpecification() does not
recognize OpenJDK's HotSpot VM
  - JDK-8172559: [PIT][TEST_BUG] Move @test to be 1st annotation in
  - JDK-8176182: 4 security tests are not run
  - JDK-8178374: Problematic ByteBuffer handling in
CipherSpi.bufferCrypt method
  - JDK-8178910: Problemlist sample tests
  - JDK-8181841: A TSA server returns timestamp with precision higher
than milliseconds
  - JDK-8183925: Decouple crash protection from watcher thread
  - JDK-8191393: Random crashes during cfree+0x1c
  - JDK-8195817: JFR.stop should require name of recording
  - JDK-8195818: JFR.start should increase autogenerated name by one
  - JDK-8195819: Remove recording=x from jcmd JFR.check output
  - JDK-8196969: JTreg Failure: serviceability/sa/
causes NPE
  - JDK-8199712: Flight Recorder
  - JDK-8202578: Revisit location for class unload events
  - JDK-8202835: jfr/event/os/ fails on missing events
  - JDK-8203287: Zero fails to build after JDK-8199712 (Flight Recorder)
  - JDK-8203346: JFR: Inconsistent signature of jfr_add_string_constant
  - JDK-8203664: JFR start failure after AppCDS archive created with JFR
  - JDK-8203921: JFR thread sampling is missing fixes from JDK-8194552
  - JDK-8203929: Limit amount of data for JFR.dump
  - JDK-8205516: JFR tool
  - JDK-8207392: [PPC64] Implement JFR profiling
  - JDK-8207829: FlightRecorderMXBeanImpl is leaking the first
classloader which calls it
  - JDK-8209960: -Xlog:jfr* doesn't work with the JFR
  - JDK-8210024: JFR calls virtual is_Java_thread from ~Thread()
  - JDK-8210776: Upgrade X Window System 6.8.2 to the latest XWD 1.0.7
  - JDK-8211239: Build fails without JFR: empty JFR events signatures
  - JDK-8212232: Wrong metadata for the configuration of the cutoff for
old object sample events
  - JDK-8213015: Inconsistent settings between JFR.configure and
  - JDK-8213421: Line number information for execution samples always 0
  - JDK-8213617: JFR should record the PID of the recorded process
  - JDK-8213734: SAXParser.parse(File, ..) does not close resources when
Exception occurs.
  - JDK-8213914: [TESTBUG] Several JFR VM events are not covered by tests
  - JDK-8213917: [TESTBUG] Shutdown JFR event is not covered by test
  - JDK-8213966: The ZGC JFR events should be marked as experimental
  - JDK-8214542: JFR: Old Object Sample event slow on a deep heap in
debug builds
  - JDK-8214750: Unnecessary <p> tags in jfr classes
  - JDK-8214896: JFR Tool left files behind
  - JDK-8214906: [TESTBUG] jfr/event/sampling/ fails with
  - JDK-8214925: JFR tool fails to execute
  - JDK-8215175: Inconsistencies in JFR event metadata
  - JDK-8215237: jdk.jfr.Recording javadoc does not compile
  - JDK-8215284: Reduce noise induced by periodic task getFileSize()
  - JDK-8215355: Object monitor deadlock with no threads holding the
monitor (using jemalloc 5.1)
  - JDK-8215362: JFR GTest JfrTestNetworkUtilization fails
  - JDK-8215771: The jfr tool should pretty print reference chains
  - JDK-8216064: -XX:StartFlightRecording:settings= doesn't work properly
  - JDK-8216486: Possibility of integer overflow in JfrThreadSampler::run()
  - JDK-8216528:
failing with Xcomp
  - JDK-8216559: [JFR] Native libraries not correctly parsed from
  - JDK-8216578: Remove unused/obsolete method in JFR code
  - JDK-8216995: Clean up JFR command line processing
  - JDK-8217744: [TESTBUG] JFR TestShutdownEvent fails on some systems
due to process surviving SIGINT
  - JDK-8217748: [TESTBUG] Exclude TestSig test case from JFR
  - JDK-8218935: Make jfr strncpy uses GCC 8.x friendly
  - JDK-8220293: Deadlock in JFR string pool
  - JDK-8223689: Add JFR Thread Sampling Support
  - JDK-8223690: Add JFR BiasedLock Event Support
  - JDK-8223691: Add JFR G1 Region Type Change Event Support
  - JDK-8223692: Add JFR G1 Heap Summary Event Support
  - JDK-8224172: assert(jfr_is_event_enabled(id)) failed: invariant
  - JDK-8224475: JTextPane does not show images in HTML rendering
  - JDK-8225068: Remove DocuSign root certificate that is expiring in
May 2020
  - JDK-8225069: Remove Comodo root certificate that is expiring in May 2020
  - JDK-8226253: JAWS reports wrong number of radio buttons when buttons
are hidden.
  - JDK-8226779: [TESTBUG] Test JFR API from Java agent
  - JDK-8226892: ActionListeners on JRadioButtons don't get notified
when selection is changed with arrow keys
  - JDK-8227011: Starting a JFR recording in response to JVMTI VMInit
and / or Java agent premain corrupts memory
  - JDK-8227269: Slow class loading when running with JDWP
  - JDK-8227605: Kitchensink fails "assert((((klass)->trace_id() &
(JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant"
  - JDK-8229366: JFR backport allows unchecked writing to memory
  - JDK-8229401: Fix JFR code cache test failures
  - JDK-8229708: JFR backport code does not initialize
  - JDK-8229873: 8229401 broke jdk8u-jfr-incubator
  - JDK-8229888: (zipfs) Updating an existing zip file does not preserve
original permissions
  - JDK-8229899: Make less racy
  - JDK-8230448: [test] is failing on Windows
  - JDK-8230597: Update GIFlib library to the 5.2.1
  - JDK-8230707: JFR related tests are failing
  - JDK-8230769: BufImg_SetupICM add ReleasePrimitiveArrayCritical call
in early return
  - JDK-8230782: Robot.createScreenCapture() fails if ?awt.robot.gtk? is
set to false
  - JDK-8230856: Java_java_net_NetworkInterface_getByName0 on unix
misses ReleaseStringUTFChars in early return
  - JDK-8230926: [macosx] Two apostrophes are entered instead of one
with "U.S. International - PC" layout
  - JDK-8230947: is failing after JDK-8230707
  - JDK-8231995: two jtreg tests failed after 8229366 is fixed
  - JDK-8233197: Invert JvmtiExport::post_vm_initialized() and
Jfr:on_vm_start() start-up order for correct option parsing
  - JDK-8233623: Add classpath exception to copyright in file
  - JDK-8233880: Support compilers with multi-digit major version numbers
  - JDK-8236002: CSR for JFR backport suggests not leaving out the
  - JDK-8236008: Some backup files were accidentally left in the hotspot
  - JDK-8236074: Missed package-info
  - JDK-8236174: Should update javadoc since tags
  - JDK-8236996: Incorrect Roboto font rendering on Windows with
subpixel antialiasing
  - JDK-8238076: Fix OpenJDK 7 Bootstrap Broken by JFR Backport
  - JDK-8238452: Keytool generates wrong expiration date if validity is
set to 2050/01/01
  - JDK-8238590: Enable JFR by default during compilation in 8u
  - JDK-8239055: Wrong implementation of VMState.hasListener
  - JDK-8239476: JDK-8238589 broke windows build by moving OrderedPair
  - JDK-8239479: minimal1 and zero builds are failing
  - JDK-8239852: java/util/concurrent tests fail with
-XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification
should have failed
  - JDK-8239867: correct over use of INCLUDE_JFR macro
  - JDK-8240375: Disable JFR by default for July 2020 release
  - JDK-8240576: JVM crashes after transformation in C2
  - JDK-8241444: Metaspace::_class_vsm not initialized if compressed
class pointers are disabled
  - JDK-8241638: launcher time metrics always report 1 on Linux when
  - JDK-8241750: x86_32 build failure after JDK-8227269
  - JDK-8241902: AIX Build broken after integration of JDK-8223147 (JFR
  - JDK-8242788: Non-PCH build is broken after JDK-8191393
  - JDK-8242883: Incomplete backport of JDK-8078268: backport test part
  - JDK-8243059: Build fails when --with-vendor-name contains a comma
  - JDK-8243474: [TESTBUG] removed three tests of 0 bytes
  - JDK-8243539: Copyright info (Year) should be updated for fix of 8241638
  - JDK-8243541: (tz) Upgrade time-zone data to tzdata2020a
  - JDK-8244407: JVM crashes after transformation in C2
  - JDK-8244461: [JDK 8u] Build fails with glibc 2.32
  - JDK-8244548: JDK 8u: sun.misc.Version.jdkUpdateVersion() returns
wrong result
  - JDK-8244777: ClassLoaderStats VM Op uses constant hash value
  - JDK-8244843: JapanEraNameCompatTest fails
  - JDK-8245167: Top package in method profiling shows null in JMC
  - JDK-8246223: Windows build fails after JDK-8227269
  - JDK-8246703: [TESTBUG] Add test for JDK-8233197
  - JDK-8248399: Build installs jfr binary when JFR is disabled
  - JDK-8248715: New JavaTimeSupplementary localisation for 'in'
installed in wrong package

Notes on individual issues:


JDK-8240687: JDK Flight Recorder Integrated to OpenJDK 8u

OpenJDK 8u now contains the backport of JEP 328: Flight Recorder
( from later versions of OpenJDK.

JFR is a low-overhead framework to collect and provide data helpful to
troubleshoot the performance of the OpenJDK runtime and of Java
applications. It consists of a new API to define custom events under the
jdk.jfr namespace and a JMX interface to interact with the framework.
The recording can also be initiated with the application startup using
the -XX:+FlightRecorder flag or via jcmd. JFR replaces the
+XX:EnableTracing feature introduced in JEP 167, providing a more
efficient way to retrieve the same information. For compatibility
reasons, +XX:EnableTracing is still accepted, however no data will be

For this initial release, JFR is not built by default. Downstream
distributions need to pass the --enable-jfr flag at configure time to
enable it.


JDK-8205622: JFR Start Failure After AppCDS Archive Created with JFR

JFR will be disabled with a warning message if it is enabled during CDS
dumping. The user will see the following warning message:

OpenJDK 64-Bit Server VM warning: JFR will be disabled during CDS dumping

if JFR is enabled during CDS dumping such as in the following command line:

$ java -Xshare:dump -XX:StartFlightRecording=dumponexit=true


JDK-8244167: Removal of Comodo Root CA Certificate

The following expired Comodo root CA certificate was removed from the
`cacerts` keystore: + alias name "addtrustclass1ca [jdk]"

Distinguished Name: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP
Network, O=AddTrust AB, C=SE

JDK-8244166: Removal of DocuSign Root CA Certificate

The following expired DocuSign root CA certificate was removed from  the
`cacerts` keystore: + alias name "keynectisrootca [jdk]"



JDK-8240191: Allow SunPKCS11 initialization with NSS when external FIPS
modules are present in the Security Modules Database

The SunPKCS11 security provider can now be initialized with NSS when
FIPS-enabled external modules are configured in the Security Modules
Database (NSSDB). Prior to this change, the SunPKCS11 provider would
throw a RuntimeException with the message: "FIPS flag set for
non-internal module" when such a library was configured for NSS in
non-FIPS mode.

This change allows the JDK to work properly with recent NSS releases on
GNU/Linux operating systems when the system-wide FIPS policy is turned on.

Further information can be found in JDK-8238555.

Andrew :)

Senior Free Java Software Engineer
OpenJDK Package Owner
Red Hat, Inc. (

PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222

More information about the jdk8u-dev mailing list