software-challenge / gui

Software-Challenge GUI since 2020/21
https://software-challenge.de
10 stars 3 forks source link

GUI crashes during launch on macOS #91

Closed fwcd closed 1 year ago

fwcd commented 1 year ago

Was ist passiert?

Running the main branch with Java 11 on arm64 macOS 13.5 crashes with the exception below. Stackoverflow suggests that this is an upstream issue that was fixed in JDK 19: https://stackoverflow.com/a/75344792

Dein Betriebssystem?

MacOS

Logs

01:08:15 WARN               sc.server.Configuration - Could not find server.properties at /Users/<user>/git/socha-gui/server.properties, will use default values!
01:08:15 INFO   sc.server.network.NewClientListener - Listening on port 13050 for incoming connections.
01:08:15 DEBUG             sc.server.ServiceManager - Spawning thread for new service (name=NewClientListener, daemon=true)
01:08:15 DEBUG             sc.server.ServiceManager - Spawning thread for new service (name=ClientManager, daemon=true)
01:08:15 INFO       sc.server.network.ClientManager - ClientManager running
01:08:15 DEBUG                  sc.gui.LobbyManager - System Font: Font[name=System Regular, family=System, style=Regular, size=13.0]
Sep 01, 2023 1:08:15 AM tornadofx.CssSelectionBlock <init>
WARNING: CSS rule caused an error
java.lang.IllegalStateException: component.javaClass.getResource(resource) must not be null
        at tornadofx.ResourceLookup.url(Component.kt:1327)
        at sc.gui.AppStyle$6.invoke(AppStyle.kt:110)
        at sc.gui.AppStyle$6.invoke(AppStyle.kt:107)
        at tornadofx.CssSelectionBlock.<init>(CSS.kt:931)
        at tornadofx.CssSelection.<init>(CSS.kt:887)
        at tornadofx.SelectionHolder$DefaultImpls.invoke(CSS.kt:63)
        at tornadofx.Stylesheet.invoke(CSS.kt:96)
        at sc.gui.AppStyle.<init>(AppStyle.kt:107)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at java.base/java.lang.Class.newInstance(Class.java:584)
        at sun.net.www.protocol.css.Handler$CSSURLConnection.getInputStream(Handler.kt:20)
        at java.base/java.net.URL.openStream(URL.java:1165)
        at javafx.css.CssParser.parse(CssParser.java:240)
        at com.sun.javafx.css.StyleManager.loadStylesheetUnPrivileged(StyleManager.java:1124)
        at com.sun.javafx.css.StyleManager.loadStylesheet(StyleManager.java:952)
        at com.sun.javafx.css.StyleManager.processStylesheets(StyleManager.java:1615)
        at com.sun.javafx.css.StyleManager.gatherSceneStylesheets(StyleManager.java:1673)
        at com.sun.javafx.css.StyleManager.findMatchingStyles(StyleManager.java:1709)
        at javafx.scene.CssStyleHelper.createStyleHelper(CssStyleHelper.java:113)
        at javafx.scene.Node.reapplyCss(Node.java:9530)
        at javafx.scene.Node.doProcessCSS(Node.java:9712)
        at javafx.scene.Node$1.doProcessCSS(Node.java:482)
        at com.sun.javafx.scene.NodeHelper.processCSSImpl(NodeHelper.java:194)
        at com.sun.javafx.scene.ParentHelper.superProcessCSSImpl(ParentHelper.java:93)
        at com.sun.javafx.scene.ParentHelper.superProcessCSS(ParentHelper.java:63)
        at javafx.scene.Parent.doProcessCSS(Parent.java:1369)
        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:9603)
        at javafx.scene.Scene.doCSSPass(Scene.java:585)
        at javafx.scene.Scene.preferredSize(Scene.java:1783)
        at javafx.scene.Scene$2.preferredSize(Scene.java:409)
        at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
        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 tornadofx.App.start(App.kt:102)
        at sc.gui.ServerApp.start(GuiApp.kt:16)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)

Sep 01, 2023 1:08:15 AM javafx.css.CssParser term
WARNING: CSS Error parsing css://sc.gui.AppStyle: Unexpected token ';' at [46,26]
2023-09-01 01:08:15.836 java[42044:634319] *** Assertion failure in -[_NSTrackingAreaAKViewHelper removeTrackingRect:], _NSTrackingAreaAKManager.m:1637
2023-09-01 01:08:15.838 java[42044:634319] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '0x0 is an invalid NSTrackingRectTag. Common possible reasons for this are: 1. already removed this trackingRectTag, 2. Truncated the NSTrackingRectTag to 32bit at some point.'
*** First throw call stack:
(
        0   CoreFoundation                      0x000000018f69f154 __exceptionPreprocess + 176
        1   libobjc.A.dylib                     0x000000018f1be4d4 objc_exception_throw + 60
        2   Foundation                          0x0000000190652a88 -[NSCalendarDate initWithCoder:] + 0
        3   AppKit                              0x0000000192dfea24 -[_NSTrackingAreaAKViewHelper removeTrackingRect:] + 200
        4   libglass.dylib                      0x0000000125fa9e80 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 3456
        5   libglass.dylib                      0x0000000125fae540 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 21568
        6   AppKit                              0x00000001928856f8 -[NSView setFrame:] + 304
        7   libglass.dylib                      0x0000000125fae5a0 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 21664
        8   AppKit                              0x000000019289366c -[NSView resizeWithOldSuperviewSize:] + 508
        9   AppKit                              0x000000019289305c -[NSView resizeSubviewsWithOldSize:] + 360
        10  AppKit                              0x000000019287753c -[NSView setFrameSize:] + 1136
        11  AppKit                              0x00000001928856f8 -[NSView setFrame:] + 304
        12  AppKit                              0x000000019289366c -[NSView resizeWithOldSuperviewSize:] + 508
        13  AppKit                              0x000000019289305c -[NSView resizeSubviewsWithOldSize:] + 360
        14  AppKit                              0x000000019287753c -[NSView setFrameSize:] + 1136
        15  AppKit                              0x0000000192891cc8 -[NSThemeFrame setFrameSize:] + 244
        16  AppKit                              0x0000000192891628 -[NSWindow _oldPlaceWindow:fromServer:] + 540
        17  AppKit                              0x00000001928906f8 -[NSWindow _setFrameCommon:display:fromServer:] + 1832
        18  libglass.dylib                      0x0000000125fa1700 getImage + 5228
        19  libglass.dylib                      0x0000000125fb8274 Java_com_sun_glass_ui_mac_MacWindow__1setBounds2 + 416
        20  ???                                 0x0000000111f4fbfc 0x0 + 4596235260
        21  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        22  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        23  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        24  ???                                 0x0000000111f4b1f4 0x0 + 4596216308
        25  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        26  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        27  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        28  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        29  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        30  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        31  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        32  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        33  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        34  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        35  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        36  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        37  ???                                 0x0000000111f4b1f4 0x0 + 4596216308
        38  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        39  ???                                 0x0000000111f4b1f4 0x0 + 4596216308
        40  ???                                 0x0000000111f4aee0 0x0 + 4596215520
        41  ???                                 0x0000000111f44144 0x0 + 4596187460
        42  libjvm.dylib                        0x0000000108f2a400 _ZN9JavaCalls11call_helperEP9JavaValueRK12methodHandleP17JavaCallArgumentsP6Thread + 736
        43  libjvm.dylib                        0x0000000108fb0fc8 JVM_DoPrivileged + 1572
        44  ???                                 0x0000000111f4fbfc 0x0 + 4596235260
        45  ???                                 0x0000000111f4aee0 0x0 + 4596215520
        46  ???                                 0x0000000111f4b19c 0x0 + 4596216220
        47  ???                                 0x0000000111f4b1f4 0x0 + 4596216308
        48  ???                                 0x0000000111f44144 0x0 + 4596187460
        49  libjvm.dylib                        0x0000000108f2a400 _ZN9JavaCalls11call_helperEP9JavaValueRK12methodHandleP17JavaCallArgumentsP6Thread + 736
        50  libjvm.dylib                        0x0000000108f6ce80 _ZL20jni_invoke_nonstaticP7JNIEnv_P9JavaValueP8_jobject11JNICallTypeP10_jmethodIDP18JNI_ArgumentPusherP6Thread + 556
        51  libjvm.dylib                        0x0000000108f70974 jni_CallVoidMethod + 260
        52  libglass.dylib                      0x0000000125fa59e8 JNI_OnLoad + 204
        53  Foundation                          0x00000001905bac54 __NSThreadPerformPerform + 264
        54  CoreFoundation                      0x000000018f62663c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
        55  CoreFoundation                      0x000000018f6265d0 __CFRunLoopDoSource0 + 176
        56  CoreFoundation                      0x000000018f626340 __CFRunLoopDoSources0 + 244
        57  CoreFoundation                      0x000000018f624f48 __CFRunLoopRun + 828
        58  CoreFoundation                      0x000000018f6244b8 CFRunLoopRunSpecific + 612
        59  HIToolbox                           0x0000000198e76df0 RunCurrentEventLoopInMode + 292
        60  HIToolbox                           0x0000000198e76c2c ReceiveNextEventCommon + 648
        61  HIToolbox                           0x0000000198e76984 _BlockUntilNextEventMatchingListInModeWithFilter + 76
        62  AppKit                              0x000000019284b97c _DPSNextEvent + 636
        63  AppKit                              0x000000019284ab18 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716
        64  AppKit                              0x000000019283ef7c -[NSApplication run] + 464
        65  libglass.dylib                      0x0000000125fa7b70 JNI_OnLoad + 8788
        66  Foundation                          0x00000001905bac54 __NSThreadPerformPerform + 264
        67  CoreFoundation                      0x000000018f62663c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
        68  CoreFoundation                      0x000000018f6265d0 __CFRunLoopDoSource0 + 176
        69  CoreFoundation                      0x000000018f626340 __CFRunLoopDoSources0 + 244
        70  CoreFoundation                      0x000000018f624f48 __CFRunLoopRun + 828
        71  CoreFoundation                      0x000000018f6244b8 CFRunLoopRunSpecific + 612
        72  libjli.dylib                        0x00000001028a34a8 CreateExecutionEnvironment + 400
        73  libjli.dylib                        0x000000010289f918 JLI_Launch + 1196
        74  java                                0x000000010281bbb0 main + 396
        75  dyld                                0x000000018f1eff28 start + 2236
)
libc++abi: terminating due to uncaught exception of type NSException
xeruf commented 1 year ago

So the solution is to solve https://github.com/software-challenge/backend/issues/410 ?

xeruf commented 1 year ago

Also, why did this never occure before?

fwcd commented 1 year ago

This seems to have been a regression that came up with the macOS 13/Ventura SDK: