RELEASE NOTES FOR: 8u92 ==================================================================================================== Notes generated: Mon Apr 01 11:18:59 CEST 2024 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): None. RELEASE NOTES: security-libs/javax.net.ssl: JDK-8064330: 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. javafx/web: JDK-8089681: 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. security-libs/javax.crypto: JDK-6483657: MSCAPI KeyStore can handle same named certificates Java SE KeyStore does not allow certificates that have the same aliases. http://docs.oracle.com/javase/8/docs/api/java/security/KeyStore.html 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." http://docs.oracle.com/javase/8/docs/api/java/security/KeyStore.html hotspot/runtime: JDK-8138745: 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). ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs/2d: (P2) JDK-8041900: [macosx] Java forces the use of discrete GPU client-libs/java.awt: (P3) JDK-8132503: [macosx] Chinese full stop symbol cannot be entered with Pinyin IM on OS X (P3) JDK-8138764: In some cases the usage of TreeLock can be replaced by other synchronization client-libs/javax.imageio: (P3) JDK-8041501: ImageIO reader is not capable of reading JPEGs without JFIF header client-libs/javax.swing: (P2) JDK-8158734: JEditorPane.createEditorKitForContentType throws NPE after 6882559 (P4) JDK-6882559: new JEditorPane("text/plain","") fails for null context class loader core-libs: (P4) JDK-8145017: Add support for 3 digit hotspot minor version numbers core-libs/java.lang: (P2) JDK-8140344: add support for 3 digit update release numbers core-libs/java.lang.invoke: (P3) JDK-8131129: Attempt to define a duplicate BMH$Species class core-libs/java.time: (P2) JDK-8067800: Clarify java.time.chrono.Chronology.isLeapYear for out of range years core-libs/java.util: (P4) JDK-8062901: Iterators is spelled incorrectly in the Javadoc for Spliterator core-libs/java.util.concurrent: (P4) JDK-8140587: Atomic*FieldUpdaters should use Class.isInstance instead of direct class check core-libs/java.util:collections: (P4) JDK-8145539: (coll) AbstractMap.keySet and .values should not be volatile core-libs/jdk.nashorn: (P3) JDK-8145669: apply2call optimized callsite fails after becoming megamorphic (P3) JDK-8144131: ArrayData.getInt implementations do not convert to int32 (P3) JDK-8146147: Java linker indexed property getter does not work for computed nashorn string (P3) JDK-8145550: Megamorphic invoke should use CompiledFunction variants without any LinkLogic (P3) JDK-8144020: Remove long as an internal numeric type (P4) JDK-8143896: java.lang.Long is implicitly converted to double (P4) JDK-8143297: Nashorn compilation time reported in nanoseconds (P4) JDK-8146274: Thread spinning on WeakHashMap.getEntry() with concurrent use of nashorn (P4) JDK-8147845: Varargs Array functions still leaking longs core-svc/javax.management: (P4) JDK-8147857: RMIConnector logs attribute names incorrectly core-svc/tools: (P3) JDK-8140244: Port fix of JDK-8075773 to AIX and possibly MacOSX deploy: (P2) JDK-8145217: Fix GenericCookieHandlerTest (P3) JDK-8143294: cookie handler can't get JSESSIONID on linux (P4) JDK-8139773: Add more debug traces to deployment registration process (RegFx.cpp) deploy/packager: (P3) JDK-8143314: Runtime not respected with INI-configuration while creating native bundle deploy/plugin: (P2) JDK-8148062: FF42 liveconnect problem deploy/webstart: (P2) JDK-8154899: System property 'user.dir' now set to 'java.home' value rather than user's working directory (P3) JDK-8081847: Add a URL scheme handler to reliably launch .jnlp files - Mac registration part (P3) JDK-8156822: Application started using javaws now starts in {java.home} rather than current directory (P3) JDK-8136844: Change JavawsLauncher.app to use NSTask or execv (P3) JDK-8144348: Desktop shortcut is not updated after JNLP is changed in deployment cache (P3) JDK-8139389: Register a protocol handler for Java Webstart hotspot/compiler: (P1) JDK-8159244: Partially initialized string object created by C2's string concat optimization may escape (P2) JDK-8144935: C2: safepoint is pruned from a non-counted loop (P2) JDK-8058563: InstanceKlass::_dependencies list isn't cleared from empty nmethodBucket entries (P2) JDK-8145754: PhaseIdealLoop::is_scaled_iv_plus_offset() does not match AddI (P3) JDK-8129847: Compiling methods generated by Nashorn triggers high memory usage in C2 (P3) JDK-8063086: Math.pow yields different results upon repeated calls (P3) JDK-8144487: PhaseIdealLoop::build_and_optimize() must restore major_progress flag if skip_loop_opts is true (P4) JDK-6869327: Add new C2 flag to keep safepoints in counted loops. (P4) JDK-8140483: Atomic*FieldUpdaters final fields should be trusted (P4) JDK-8131782: C1 Class.cast optimization breaks when Class is loaded from static final (P4) JDK-8080650: Enable stubs to use frame pointers correctly (P4) JDK-8139421: PPC64LE: MacroAssembler::bxx64_patchable kills register R12 hotspot/gc: (P1) JDK-8147087: Race when reusing PerRegionTable bitmaps may result in dropped remembered set entries (P3) JDK-8134963: [Newtest][TEST_BUG] New stress test for changing the coarseness level of G1 remembered set (P3) JDK-8145442: Add the facility to verify remembered sets for G1 (P3) JDK-8138966: Intermittent SEGV running ParallelGC (P4) JDK-8065579: WB method to start G1 concurrent mark cycle should be introduced hotspot/runtime: (P3) JDK-8138745: Implement ExitOnOutOfMemory and CrashOnOutOfMemory in HotSpot (P3) JDK-8143963: improve ClassLoader::trace_class_path to accept an additional outputStream* arg (P3) JDK-8144483: One long Safepoint pause directly after each GC log rotation (P3) JDK-8029630: Thread id should be displayed as hex number in error report (P4) JDK-8087120: [GCC5] java.lang.StackOverflowError on Zero JVM initialization on non x86 platforms (P4) JDK-8046611: Build errors with gcc on sparc/fastdebug (P4) JDK-8139258: PPC64LE: argument passing problem when passing 15 floats in native call hotspot/svc: (P3) JDK-8144885: agent/src/os/linux/libproc.h needs to support Linux/SPARC builds (P3) JDK-8122944: perfdata used is seen as too high on sparc zone with jdk1.9 and causes a test failure (P4) JDK-8145099: Better error message when SA can't attach to a process (P4) JDK-8130910: hsperfdata file is created in wrong directory and not cleaned up if /tmp/hsperfdata_ has wrong permissions (P4) JDK-8029727: On OS X dtrace probes CallMethodA/CallMethodV are not fired. (P4) JDK-8029728: On OS X dtrace probes SetStaticBooleanField are not fired (P4) JDK-8029726: On OS X some dtrace probe names are mismatched with Solaris (P4) JDK-8140031: SA: Searching for a value in Threads does not work infrastructure/build: (P2) JDK-8146979: Backport of 8046471 breaks ppc64 build in jdk8u because 8072383 was badly backported before (P3) JDK-8047763: Recognize sparc64 as a sparc platform (P3) JDK-8044363: Remove special build options for unpack200 executable (P3) JDK-8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH (P4) JDK-8143855: Bad printf formatting in frame_zero.cpp (P4) JDK-8048232: Fix for 8046471 breaks PPC64 build (P4) JDK-8146566: OpenJDK build can't handle commas in LDFLAGS install/install: (P2) JDK-8132434: On Mac Install Run javawslauncher.app to register protocol handler with Launch Services javafx/build: (P2) JDK-8142443: Error compiling generated web classes with gradle 2.8 (P2) JDK-8154022: Upgrade production compilers on Windows to Visual Studio 2013 SP4 javafx/controls: (P3) JDK-8143033: [CSS] Performance issue with JavaFX (P3) JDK-8136535: JavaFX NumberAxis AutoRange Infinite Loop (P3) JDK-8090029: NullPointerException in DatePicker when a custom ButtonSkin is set (P3) JDK-8143266: TreeTableView flickers when inserting elements javafx/graphics: (P2) JDK-8145565: Stage.show() blocked for several minutes (P3) JDK-8089847: [JAVADOC] Change docs to not refer to full-screen exclusive mode (P3) JDK-8139210: JavaFX rendering glitch when rendering many Paths using HW pipeline (P3) JDK-8144942: Remove false ARM dependancy on X11 in libjavafx_font_freetype.so (P4) JDK-8146520: Stage full screen property remains true even when it fails to enter full screen mode (P4) JDK-8143598: Stage.setMinWidth and Stage.setMinHeight is useless with DPI scaling enabled javafx/media: (P2) JDK-8153534: Intermittent hang in GSTMedia.gstDispose (P3) JDK-8154287: Intermittent crash when disposing MediaPlayer javafx/scenegraph: (P3) JDK-8144686: PathElement.isAbsolute() return value changes after calling absoluteProperty() (P3) JDK-8144680: Stage.alwaysOnTop() doesn't work if a security manager is set javafx/web: (P2) JDK-8151576: Cleanup whitespace after fix for JDK-8149537 (P2) JDK-8151044: Cleanup whitespace in WebView.java after fix for JDK-8147851 (P2) JDK-8153501: Crash in ResourceLoader::releaseResources() (P2) JDK-8152737: Crash in RuntimeObject::put when object passed to JSObject::setMember is GCed (P2) JDK-8147410: Crash with long selector list (P2) JDK-8149537: JavaFX WebView performance regression when inserting html via javascript (P2) JDK-8154186: JVM crash while using JavaFW WebView and colgroup/cols html feature (P2) JDK-8145937: Not able to enter text and pop menu disappearing on Mouseover Menu (P2) JDK-8147485: Revert fix for JDK-8090061 to push it with the correct commit message (P2) JDK-8146177: SVG "Copy Image to Clipboard" action causes JVM Crash in WebView (P2) JDK-8139114: WebView crashes on Yahoo login page (P2) JDK-8089681: WebView leaks memory when containing object acts as javascript callback handler (P3) JDK-8144472: [Webcore] DRT test fast/dom/HTMLInputElement/input-line-height.html fails (P3) JDK-8153151: Call JavaScriptCore GC whenever JVM GC happens (P3) JDK-8141345: Cannot build WebKit with bison3 (P3) JDK-8153148: Defer image decoding until WebCore requests ImageFrame (P3) JDK-8146715: Input fields accepting characters beyond maxlength attribute (P3) JDK-8149768: JavaFX Application Performance Issue (P3) JDK-8144688: JFX WebView DRT implementation doesn't pass mouse button for mousemove simulation (P3) JDK-8149737: JRE crash in com.sun.webkit.network.URLLoader.twkDidFinishLoading (P3) JDK-8147851: jvm crash at javafx com.sun.webkit.WebPage.twkPrePaint (P3) JDK-8144162: NullPointerException printed when loading webpage in WebView with anchor (P3) JDK-8146512: Table Borders are not drawn properly (P3) JDK-8090292: Test transitions/created-while-suspended.html fails (P3) JDK-8145682: topDocument() returns an incorrect reference for cached Documents (P3) JDK-8141386: Unable to pass values to java functions which takes wrapper objects as arguments (P3) JDK-8140501: WebView crashes when loading content in a locationlistener (P4) JDK-8090061: [WebView] replace "char*" with "const char*" where appropriate (P4) JDK-8141388: Add Compiled Python Objects(*.pyc) into .hgignore (P4) JDK-8143894: clipboard paste on outlook email body doesn't work for the first time security-libs/java.security: (P3) JDK-8154491: [TEST_BUG] test/closed/security/infra/java/security/cert/CertPathValidator/certification/ValidatePathWithParams.java needs modification (P3) JDK-8074935: jdk8 keytool doesn't validate pem files for RFC 1421 correctness, as jdk7 did (P4) JDK-8143913: MSCAPI keystore should accept Certificate[] in setEntry() (P4) JDK-8139436: sun.security.mscapi.KeyStore might load incomplete data security-libs/javax.crypto: (P3) JDK-6483657: MSCAPI provider does not create unique alias names security-libs/javax.net.ssl: (P3) JDK-8136442: Don't tie Certificate signature algorithms to ciphersuites (P3) JDK-8146725: Issues with SignatureAndHashAlgorithm.getSupportedAlgorithms (P3) JDK-8064330: Remove SHA224 from the default support list if SunMSCAPI enabled (P4) JDK-8131665: Bad exception message in HandshakeHash.getFinishedHash security-libs/javax.xml.crypto: (P3) JDK-8038349: Signing XML with DSA throws Exception when key is larger than 1024 bits (P4) JDK-8038184: XMLSignature throws StringIndexOutOfBoundsException if ID attribute value is empty String tools/javac: (P2) JDK-8139751: Javac crash with -XDallowStringFolding=false (P3) JDK-8065986: Compiler fails to NullPointerException when calling super with Object<>() (P3) JDK-8134007: Improve string folding (P3) JDK-8145466: javac: No line numbers in compilation error (P3) JDK-8134759: jdb: Incorrect stepping inside finally block (P4) JDK-8066974: Compiler doesn't infer method's generic type information in lambda body (P4) JDK-8130506: javac AssertionError when invoking MethodHandle.invoke with lambda parameter (P4) JDK-8068254: Method reference uses wrong qualifying type tools/javadoc(tool): (P2) JDK-8145722: NullPointerException in javadoc xml/jaxp: (P3) JDK-8133924: NPE may be thrown when xsltc select a non-existing node after JDK-8062518