RELEASE NOTES FOR: 8u112 ==================================================================================================== Notes generated: Mon Apr 01 13:01:58 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: javafx/web: JDK-8154127: 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. client-libs/java.awt: JDK-8169589: 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. client-libs/javax.swing: JDK-8166591: 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. security-libs/java.security: JDK-8098581: 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 java.security.SecureRandom class. Improvements in the JDK implementation has allowed for synchronization to be removed from the java.security.SecureRandom.nextBytes(byte[] bytes) method. core-libs/java.time: JDK-8169191: IANA Data 2016i JDK contains IANA time zone data version 2016i. For more information, refer to [Timezone Data Versions in the JRE Software](http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html). ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs/2d: (P2) JDK-6477756: GraphicsDevice.getConfigurations() is slow taking 3 or more seconds (P3) JDK-8133309: [win10] Some unicode characters do not display any more after upgrading to Windows 10 (P3) JDK-8144703: ClassCastException: sun.font.CompositeFont cannot be cast to PhysicalFont (P3) JDK-8028486: java/awt/Window/WindowsLeak/WindowsLeak.java fails (P3) JDK-8160693: ScriptRunData.java uses bitwise AND instead of logical AND (P3) JDK-8078382: Wrong glyph is displayed for a derived font (P3) JDK-7172749: Xrender: Class cast exception in 2D code running an AWT regression test (P4) JDK-8158495: CCE: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.opengl.OGLSurfaceData (P4) JDK-8158072: Need a test for JDK-7172749 client-libs/java.awt: (P2) JDK-8169589: [macosx] Activating a JDialog puts to back another dialog (P4) JDK-8035568: [macosx] Cursor management unification (P4) JDK-8158178: java.awt.SplashScreen.getSize() returns incorrect size for high dpi splash screens client-libs/java.awt:i18n: (P3) JDK-8154816: Caps Lock doesn't work as expected when using Pinyin Simplified input method client-libs/javax.accessibility: (P3) JDK-8145984: [macosx] sun.lwawt.macosx.CAccessible leaks (P3) JDK-8154069: Jaws reads wrong values from comboboxes when no element is selected client-libs/javax.swing: (P2) JDK-8166591: [macos 10.12] Trackpad scrolling of text on macOS 10.12 Sierra is very fast (Trackpad, Retina only) (P3) JDK-8078268: javax.swing.text.html.parser.Parser parseScript incorrectly optimized (P3) JDK-8136998: JComboBox prevents wheel mouse scrolling of JScrollPane (P3) JDK-8057791: Selection in JList is drawn with wrong colors in Nimbus L&F core-libs/java.lang: (P3) JDK-8147585: Annotations with lambda expressions has parameter result in wrong behavior. core-libs/java.lang.invoke: (P3) JDK-8155214: java/lang/invoke/PermuteArgsTest.java fails due to exhausted code cache (P3) JDK-8155106: MHs.Lookup.findConstructor returns handles for array classes core-libs/java.net: (P4) JDK-8156521: Minor fixes and cleanups in NetworkInterface.c core-libs/java.nio: (P3) JDK-8153192: (se) Selector.select(long) uses wrong timeout after EINTR (lnx) core-libs/java.nio.charsets: (P4) JDK-8067964: Native2ascii doesn't close one of the streams it opens core-libs/java.time: (P2) JDK-8166875: (tz) Support tzdata2016g (P3) JDK-8169191: (tz) Support tzdata2016i core-libs/java.util: (P3) JDK-8154553: Incorrect GPL header in package-info.java reported core-libs/javax.naming: (P3) JDK-8158802: com.sun.jndi.ldap.SimpleClientId produces wrong hash code (P3) JDK-8159822: Non-synchronized access to shared members of com.sun.jndi.ldap.pool.Pool core-libs/javax.script: (P3) JDK-8150219: ReferenceError in 1.8.0_72 core-libs/jdk.nashorn: (P2) JDK-8144160: Regression: two tests fail on Windows with "ant test" target (P3) JDK-8138906: [TEST_BUG] Test test/script/trusted/JDK-8087292.js intermittently fails. (P3) JDK-8158467: AccessControlException is thrown on public Java class access if "script app loader" is set to null (P3) JDK-8157680: Callback parameter of any JS builtin implementation should accept any Callable (P3) JDK-8157444: exclude jjs shebang handling test from runs (P3) JDK-8144221: fix Nashorn shebang argument handling on Mac/Linux (P3) JDK-8157160: JSON.stringify does not work on ScriptObjectMirror objects (P3) JDK-8143642: Nashorn shebang argument handling is broken (P3) JDK-8158338: Nashorn's ScriptLoader split delegation has to be adjusted (P3) JDK-8137240: Negative lookahead in RegEx breaks backreference (P3) JDK-8156714: Parsing issue with automatic semicolon insertion (P3) JDK-8141541: Simplify Nashorn's Context class loader handling (P3) JDK-8157819: TypeError when a java.util.Comparator object is invoked as a function (P4) JDK-8130317: "ant test" fails to complete on Windows when run under cygwin shell (P4) JDK-8148140: arguments are handled differently in apply for JS functions and AbstractJSObjects (P4) JDK-8150814: correct package declaration in Nashorn test (P4) JDK-8145305: fix Nashorn shebang handling on Cygwin (P4) JDK-8156896: Script stack trace should display function names (P4) JDK-8130127: streamline input parameter of Nashorn scripting $EXEC function core-svc: (P3) JDK-8151819: JFR: Time-fixed recordings should be released at the end of the duration when destination is set (P3) JDK-8154144: Tests in com/sun/jdi fails intermittently with "jdb input stream closed prematurely" core-svc/debugger: (P3) JDK-8049226: com/sun/jdi/OptionTest.java test times out again deploy: (P3) JDK-8029309: [macosx] Java Control Panel unable to perform tasks requiring admin privileges deploy/javafx: (P3) JDK-8155849: FXUIToolkit.showMessageDialog() fails when running jre below 7u55 (P4) JDK-8155835: FXUIToolkit.showFileChooser() fails when jre is below 7u21 (P4) JDK-8155837: FXUIToolkit.showSandboxSecurityDialog fails when running jre below 7u21 deploy/webstart: (P2) JDK-8157337: Allow always checkbox in security dialog when jnlp location is unknown hotspot/compiler: (P2) JDK-8154831: CastII/ConvI2L for a range check is prematurely eliminated (P2) JDK-8158260: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions (P3) JDK-8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space hotspot/gc: (P3) JDK-8158871: Long response times with G1 and StringDeduplication (P4) JDK-8077276: allocating heap with UseLargePages and HugeTLBFS may trash existing memory mappings (linux) (P4) JDK-8054326: Confusing message in "Current rem set statistics" (P4) JDK-8017629: G1: UseSHM in combination with a G1HeapRegionSize > os::large_page_size() falls back to use small pages hotspot/jvmti: (P2) JDK-8147451: Crash in Method::checked_resolve_jmethod_id(_jmethodID*) (P2) JDK-8161144: Fix for JDK-8147451 failed: Crash in Method::checked_resolve_jmethod_id(_jmethodID*) (P3) JDK-8022203: Intermittent test failures in demo/jvmti/hprof hotspot/runtime: (P2) JDK-8157548: JVM crashes sometimes while starting (P2) JDK-8158373: SIGSEGV: Metadata::mark_on_stack (P3) JDK-8135322: ConstantPool::release_C_heap_structures not run in some circumstances (P3) JDK-8147026: Convert an assert in ClassLoaderData to a guarantee (P3) JDK-8042660: vm/mlvm/anonloader/stress/byteMutation failed with: assert(index >=0 && index < _length) failed: symbol index overflow (P4) JDK-8036630: Null ProtectionDomain in JVM can cause NPE because principals field is not initialized to an empty array (P4) JDK-8154210: Zero: Better byte behaviour hotspot/svc: (P3) JDK-8166208: FlightRecorderOptions settings for defaultrecording ignored. (P3) JDK-8071909: Port testlibrary improvments in jdk/test to hotspot/test as required for DCMD test port infrastructure/build: (P3) JDK-8055772: get_source.sh : version check assumes English localization infrastructure/licensing: (P4) JDK-8154469: Update FSF address install/install: (P3) JDK-8156895: ent msi does not have double-click support javafx/application-lifecycle: (P3) JDK-8161053: Passing objects between JavaScript (JavaFX / WebKit) and Java causes a memory leak javafx/base: (P3) JDK-8134655: SortedList wrapping a FilteredList causes AIOOBE javafx/controls: (P3) JDK-8144501: TreeTableView's selectedItems reports include null items. (P4) JDK-8161449: Enhance CustomColorDialog to have flexibility to hide 'Opacity', 'Use' and 'Save' Button javafx/graphics: (P2) JDK-8155903: Crash while running imported/w3c/canvas/2d.gradient.interpolate.overlap2.html (P3) JDK-8159860: JavaFX Path drawing appears to leak native memory (P3) JDK-8150181: javafx print jobs take 60 times longer than javax.print (P3) JDK-8150076: Print jobs do not finish when using a page range (P3) JDK-8158688: Revert fix for JDK-8150181 to push it with the correct commit message (P3) JDK-8145516: Scene content shows too large on Retina display, when a regular screen attached (P4) JDK-8155692: changes to compile under Visual Studio 14.0 (P4) JDK-8156094: ContextMenu shown at wrong position on Windows10 with Extended Screen (P4) JDK-8152423: Generated temp files (+JXF...temp) for custom fonts not deleted on exit. javafx/other: (P4) JDK-8158078: IDE cleanup [IntelliJ] javafx/web: (P2) JDK-8161258: [Win] Timer functionality is broken after JDK-8089563 (P2) JDK-8149045: Debug build is not working after new WebKit upgrade (P2) JDK-8157145: DRT crash at fast/css-generated-content/initial-letter-basic.html (P2) JDK-8161724: EOFException in GZIPInputStream.readUByte while browsing (P2) JDK-8160563: jvm crash at javafx com.sun.webkit.WebPage.twkPrePaint (GFlag + Heap verification) (P2) JDK-8158056: Linux: libjfxwebkit.so has hard-coded path (P2) JDK-8165853: Loading "https://www.windyty.com" with JavaFX WebView crashes JVM. (P2) JDK-8156887: Revert fix for JDK-8155903 to push it with the correct author (P2) JDK-8159868: the JVM for our Swing application crashes, once we login into our application server (P2) JDK-8156698: Update to newer version of WebKit (P2) JDK-8162979: Website weibo.com cannot be loaded (P3) JDK-8152420: [WebView] Icon font doesn't work if single page application will be loaded from jar (P3) JDK-8160769: [WebView] Unable to tile SVG image using css background property (P3) JDK-8162949: [WebView] WebView can't display social network icons on wellsfargo.com (P3) JDK-8164076: [Windows] JavaFX crash in WebPage.twkOpen in 8u112 when closing WebView while debugging (P3) JDK-8159549: Add timestamp to WebView Keyboard Event (P3) JDK-8161137: Assertion fails with https://html-online.com/editor/ (P3) JDK-8159614: Can't get file size with javascript (P3) JDK-8160326: Char value is returned as integer, not as character (P3) JDK-8158926: Char value is set as integer, not as character (P3) JDK-8162977: General sibling selector is broken for selected input boxes in WebView (P3) JDK-8160757: Implement overridePreference() for DRT framework (P3) JDK-8163582: JavaFX browser can get stuck in an infinite loop when calling path.getTotalLength() (P3) JDK-8089563: Javascript Timing Events stop work on system clock changes at past (P3) JDK-8157559: Linux: Javascript Timing Events stop work on system clock changes at past (P3) JDK-8154127: Need to document that JavaScript to Java bindings use weak references (P3) JDK-8152393: SQL Server Reporting Services in WebViews shows 401 (P3) JDK-8160388: Test Case Failure in CallBackTest (P3) JDK-8157384: Update java-wrappers for WebKit generated classes following WebKit update (P3) JDK-8160837: WebEngine doesn't handle html5 color picker (P3) JDK-8160400: WebView can't alert from a timer (P3) JDK-8160260: WebView cannot render CSS background image with SVG data (P3) JDK-8130727: WebView Tooltip position no longer changes in 8u60 (P4) JDK-8161405: [OS X] Compilation Issue in WebPage.cpp (P4) JDK-8161699: Fix compilation warnings in WebCore and JavaScriptCore (P4) JDK-8150800: NullPointer exception in WebView other-libs/corba: (P3) JDK-8146975: NullPointerException in IIOPInputStream.inputClassFields security-libs/java.security: (P3) JDK-8085903: New fix for memory leak in ProtectionDomain cache (P3) JDK-8098581: SecureRandom.nextBytes() hurts performance with small size requests (P3) JDK-8154009: Some methods of java.security.Security require more permissions, than necessary (P4) JDK-8147969: Print size of DH keysize when errors are encountered (P4) JDK-8155211: Ucrypto Library leaks native memory security-libs/javax.crypto: (P3) JDK-8157603: TestCipher.java doesn't check one of the decrypted message as expected (P4) JDK-8160723: Improve jurisdiction policy file signing exception (P4) JDK-8160267: Ucrypto config file cannot be read when -Dfile.encoding=UTF-16 is set security-libs/javax.crypto:pkcs11: (P3) JDK-8134232: KeyStore.load() throws an IOException with a wrong cause in case of wrong password (P3) JDK-8158873: LoadKeystore.java test is failing security-libs/javax.net.ssl: (P3) JDK-8133070: Hot lock on BulkCipher.isAvailable security-libs/javax.security: (P3) JDK-8158059: The fix for 8050402 was partially committed security-libs/org.ietf.jgss:krb5: (P3) JDK-8022582: Relax response flags checking in sun.security.krb5.KrbKdcRep.check. (P4) JDK-8160518: Semicolon is not recognized as comment starting character (Kerberos) tools/javac: (P4) JDK-8129740: Incorrect class file created when passing lambda in inner class constructor tools/launcher: (P2) JDK-8143640: Showing incorrect result while passing specific argument in the Java launcher tools xml/jaxp: (P3) JDK-8153781: Issue in XMLScanner: EXPECTED_SQUARE_BRACKET_TO_CLOSE_INTERNAL_SUBSET when skipping large DOCTYPE section with CRLF at wrong place