JetBrainsRuntime
JetBrainsRuntime copied to clipboard
Update JBR/jbr21 to OpenJDK 21.0.5
Update JBR/jbr21 branch with OpenJDK release version 21.0.5 (jdk-21.0.5-ga), merged and tested by BellSoft.
All changes applied cleanly except for 9 cases, that required manual merge. Please see the summary of the conflicts below.
JDK-8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab
Patch overrides the code block updated with JBR-6125 (https://github.com/JetBrains/JetBrainsRuntime/commit/3a897b7784d37ae4be7f137cc76d7024c83a37e3). It applies cleanly after JBR-6125 gets reverted. The resulting patch combines the reverted modification of GrabTest.java
and the clean backport of JDK-8317288. The test passes after update.
JDK-8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04
Conflict with JBR-5095 (https://youtrack.jetbrains.com/issue/JBR-5095, https://github.com/JetBrains/JetBrainsRuntime/commit/9fe0b5365737f78a03b8ec3c439fff3bf0c383f6) that fixes an incorrect initial window location with Mutter WM/GNOME. JDK-8305825 attempts to fix the underlying problem in XWM and DecoratedPeer, and requires to combine with the functional part of the JBR-5095. The fix being proposed (99b8edcb9aaab434f7633201affc5c147625772d) combines the logic of JBR-5095 in such a way that the change only affects WMID = XWM.MUTTER_WM, just like the original fix does. The tests (6) added by 8305825 pass after the fix under X11 (some may fail in Wayland - they also fail in Wayland before the fix, so we didn't consider it a regression). Both tests added by JBR-5095 behave similarly before and after the fix. RestoreFromFullScreen.java
fails in X11 (it also fails before the fix) and passes in Wayland, WindowsInitialPosition.java
fails in Wayland and passes in X11. Please see the REGRESSIONS chapter below.
JDK-8325763: Revert properties: vm.opt.x.*
Context conflict due to absense of JBR-3572 (https://github.com/JetBrains/JetBrainsRuntime/commit/0d56a31d55573a4f2421eebe8bfcb131e6d763f8)
JDK-8332431: NullPointerException in JTable of SwingSet2
Whitespace conflict due to absense of JBR-5661 (https://github.com/JetBrains/JetBrainsRuntime/commit/470c36bbd802bcf18c098c8d90502a6fb72099e3) that increased the indent of the corresponding code block in ToolTipManager.java, wrapping it with the condition when isTooltipPositionedRelatively()
is false. The original patch JDK-8332431 (https://github.com/openjdk/jdk21u/commit/eee3b4261c71b99350fc435937d3209e84e0ed66) fixes NPE by checking that mouseEvent
is not null
prior to querying it's location on screen.
In addition to the checks implemented in JDK-8332431 we suggest (da1a38efcd116daf52ccb6ab58f1cffad9bee91f) to check the mouseEvent
for null
here at the code block specific to JBR-5661 that is not present in JDK 21. When isTooltipPositionedRelatively()
is true, that required moving
Point screenLocation = insideComponent.getLocationOnScreen();
definition to the outside of the condition. 'insideComponent' is guaranteed to be showing currently at line 251.
JDK-8328115: Convert java/awt/font/TextLayout/TestJustification.html applet test to main
The patch applied cleanly but required additional modifications in the test suite. Among other things the patch removes java/awt/font/TextLayout/TestJustification.html
file, which required additional fixes in test/jdk/TEST.groups
and test/jdk/jbProblemList.txt
, otherwise the builds would be broken (standard jtreg test groups cannot be run).
JDK-8320608: Many jtreg printing tests are missing the @printer keyword
Conflict in TEST.ROOT - due to "enabling dtrace-tests: added dtrace keyword" (https://github.com/JetBrains/JetBrainsRuntime/commit/0c86ae72f1a22d004c8cb57e0c80cf1478651bcd)
JDK-8299790: os::print_hex_dump is racy
Context conflict in os.cpp
due to absense of JBR-3323 (https://github.com/JetBrains/JetBrainsRuntime/commit/39a2607fe615775dc7e400c6d3e5647c7aa9b972)
JDK-8308286: Fix clang warnings in linux code
Context conflict in the build system due to absense of JBR-4982 (https://github.com/JetBrains/JetBrainsRuntime/commit/a3cc396874d1919471e105d58107df4d1cad7c33)
JDK-8338286: GHA: Demote x86_32 to hotspot build only
Context conflict in GHA related to JBR-5318 (https://github.com/JetBrains/JetBrainsRuntime/commit/171b12a1cb531f0d1e3412eb0c10627ccd507673)
TESTING
- Run the standard jtreg test groups (tiers 1-3)
- test/jdk/jb
REGRESSIONS
-
RestoreFromFullScreen.java
added by JBR-5095 works in Wayland but behaves (fails) differently in X11 before and after JDK-8305825. Before, the frame has decreased the height after returning from full screen by 37px (the test was failing), after the fix the frame height is increased by 37px that is still incorrect (the test keeps failing), that can be related to events being repeatedly sent to the window and the insets height is added twice to the frame height. We're investigating in the problem cause and possible solutions (to follow in a separate PR).
Best regards
BELLSOFT