Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for open JDK 21 by updating dependencies #647

Merged
merged 1 commit into from
Mar 9, 2024

Conversation

napoly
Copy link
Contributor

@napoly napoly commented Jul 13, 2023

Reverts #645

OK.. so this is revert of a revert.. but the original migration was not working since Java 9 introduced strong encapsulation with a warning sign and since Java 17+ (i believe) reflective access was throwing an exception. This should be resolved now but along the way I had to drop JFXProgressBar for this issue as suggested here: gluonhq/substrate#934 (comment) so for now I have just commented it out.. not ideal.. (maybe we can later replace with textual info) but works.. affected views are: Main, DisplayUpdateDownload and TradeStep

@napoly napoly requested review from a team and woodser as code owners July 13, 2023 13:40
@napoly napoly force-pushed the revert-645-revert_642 branch 7 times, most recently from d07310d to cbf4a3d Compare July 14, 2023 04:07
@napoly
Copy link
Contributor Author

napoly commented Jul 14, 2023

Solved the JFXProgressBar issue by going with pure JavaFX ProgressBar inmplementation. It seems the JavaFX is sexy / skinnable enough so the project should move away from JFoenix lib as it is getting outdated.

JFoenix splash progress bar:
loading_old_scaled

JavaFX splash default progress bar:
loading_new_scaled

@napoly napoly force-pushed the revert-645-revert_642 branch 2 times, most recently from b049b2e to 58e2ea0 Compare July 14, 2023 20:02
@napoly napoly closed this Feb 24, 2024
@napoly napoly reopened this Mar 1, 2024
@napoly napoly force-pushed the revert-645-revert_642 branch 2 times, most recently from a10a4a4 to 746fc09 Compare March 1, 2024 18:53
@napoly napoly changed the title Support for open JDK 20 by updating dependencies Support for open JDK 21 by updating dependencies Mar 1, 2024
@napoly napoly force-pushed the revert-645-revert_642 branch 3 times, most recently from a0c62f0 to b5f9c21 Compare March 1, 2024 19:30
@woodser
Copy link
Contributor

woodser commented Mar 2, 2024

Trying to get this running on x86 mac just to verify, but getting an error on startup. I thought the progress bar was removed based on your description, so don't know if something is wrong with my setup. It runs for you?

Mar-02 08:22:08.948 [JavaFX Application Thread] ERROR haveno.desktop.app.HavenoApp: Error during app init java.lang.NoSuchMethodError: 'javafx.beans.binding.BooleanExpression com.sun.javafx.scene.NodeHelper.treeShowingProperty(javafx.scene.Node)'
	at com.jfoenix.skins.JFXProgressBarSkin.<init>(JFXProgressBarSkin.java:64)
	at com.jfoenix.controls.JFXProgressBar.createDefaultSkin(JFXProgressBar.java:73)
	at javafx.scene.control.Control.doProcessCSS(Control.java:910)
	at javafx.scene.control.Control$1.doProcessCSS(Control.java:88)
	at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:68)
	at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147)
	at javafx.scene.Parent.doProcessCSS(Parent.java:1401)
	at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
	at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
	at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147)
	at javafx.scene.Parent.doProcessCSS(Parent.java:1401)
	at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
	at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
	at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147)
	at javafx.scene.Parent.doProcessCSS(Parent.java:1401)
	at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
	at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
	at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147)
	at javafx.scene.Parent.doProcessCSS(Parent.java:1401)
	at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
	at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
	at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147)
	at javafx.scene.Node.processCSS(Node.java:9624)
	at javafx.scene.Scene.doCSSPass(Scene.java:587)
	at javafx.scene.Scene.preferredSize(Scene.java:1786)
	at javafx.scene.Scene$2.preferredSize(Scene.java:411)
	at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:65)
	at javafx.stage.Window$12.invalidated(Window.java:1163)
	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
	at javafx.stage.Window.setShowing(Window.java:1239)
	at javafx.stage.Window.show(Window.java:1254)
	at javafx.stage.Stage.show(Stage.java:277)
	at haveno.desktop.app.HavenoApp.setupStage(HavenoApp.java:260)
	at haveno.desktop.app.HavenoApp.startApplication(HavenoApp.java:130)
	at haveno.desktop.app.HavenoAppMain.startApplication(HavenoAppMain.java:141)
	at haveno.common.UserThread.lambda$execute$0(UserThread.java:64)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)

And then a segfault:

Java has been detached already, but someone is still trying to use it at -[GlassWindow(Overrides) windowDidResignKey:]:/Users/jenkins/workspace/OpenJFX-build-mac-x86_64/modules/javafx.graphics/src/main/native-glass/mac/GlassWindow+Overrides.m:96
0   libglass.dylib                      0x000000010888995b libglass.dylib + 18779
1   CoreFoundation                      0x00007ff80c8c4698 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 137
2   CoreFoundation                      0x00007ff80c95d40e ___CFXRegistrationPost_block_invoke + 88
3   CoreFoundation                      0x00007ff80c95d363 _CFXRegistrationPost + 536
4   CoreFoundation                      0x00007ff80c897937 _CFXNotificationPost + 729
5   Foundation                          0x00007ff80d703b30 -[NSNotificationCenter postNotificationName:object:userInfo:] + 82
6   AppKit                              0x00007ff80fb033c3 -[NSWindow resignKeyWindow] + 758
7   AppKit                              0x00007ff8102af12b -[NSWindow _orderOut:calculatingKeyWithOptions:documentWindow:] + 326
8   AppKit                              0x00007ff80f9b4f47 NSPerformVisuallyAtomicChange + 132
9   AppKit                              0x00007ff8102b1387 -[NSWindow _reallyDoOrderWindowOutRelativeTo:] + 618
10  AppKit                              0x00007ff8102b17aa -[NSWindow _reallyDoOrderWindow:] + 99
11  AppKit                              0x00007ff8102b1a20 -[NSWindow _doOrderWindow:] + 295
12  AppKit                              0x00007ff8102ac309 -[NSWindow _finishClosingWindow] + 306
13  AppKit                              0x00007ff80fc6a08d -[NSWindow _close] + 336
14  libglass.dylib                      0x000000010889fa8f Java_com_sun_glass_ui_mac_MacPasteboard__1getAllowedOperation + 863
15  Foundation                          0x00007ff80d779743 __NSThreadPerformPerform + 177
16  CoreFoundation                      0x00007ff80c8ceeca __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17  CoreFoundation                      0x00007ff80c8cee6c __CFRunLoopDoSource0 + 157
18  CoreFoundation                      0x00007ff80c8ceca3 __CFRunLoopDoSources0 + 311
19  CoreFoundation                      0x00007ff80c8cd8cf __CFRunLoopRun + 916
20  CoreFoundation                      0x00007ff80c8cced1 CFRunLoopRunSpecific + 560
21  libjli.dylib                        0x0000000107f61c42 CreateExecutionEnvironment + 386
22  libjli.dylib                        0x0000000107f5d548 JLI_Launch + 1304
23  java                                0x0000000107edfc01 main + 369
24  dyld                                0x00007ff80c49941f start + 1903
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000010888999e, pid=18506, tid=259
#
# JRE version: OpenJDK Runtime Environment Temurin-21.0.2+13 (21.0.2+13) (build 21.0.2+13-LTS)
# Java VM: OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (21.0.2+13-LTS, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
# Problematic frame:
# C  [libglass.dylib+0x499e]

@napoly napoly force-pushed the revert-645-revert_642 branch from b5f9c21 to a59a5ba Compare March 2, 2024 14:49
@napoly
Copy link
Contributor Author

napoly commented Mar 2, 2024

fixed.. give it a try pls

@woodser
Copy link
Contributor

woodser commented Mar 2, 2024

Working now on my x86 machine.

@napoly napoly force-pushed the revert-645-revert_642 branch 6 times, most recently from 9c5b5d0 to d8da5ee Compare March 2, 2024 20:12
@napoly napoly force-pushed the revert-645-revert_642 branch 15 times, most recently from 877f83b to 04819f2 Compare March 9, 2024 14:32
@napoly napoly force-pushed the revert-645-revert_642 branch from 04819f2 to f8cfd30 Compare March 9, 2024 14:34
@woodser woodser merged commit c777133 into haveno-dex:master Mar 9, 2024
6 checks passed
@napoly napoly deleted the revert-645-revert_642 branch March 10, 2024 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants