developersu / ns-usbloader

Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files.
GNU General Public License v3.0
1.87k stars 127 forks source link

Garbled text in the UI #44

Closed ctrlaltca closed 4 years ago

ctrlaltca commented 4 years ago

Hi, all the text in the application is garbled:

Schermata 2020-02-08 alle 12 18 03

Running on macOS Catalina 10.15.2, I followed these steps:

Terminal log:

2020-02-08 12:15:45.561 java[76371:6424310] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:15:45.561 java[76371:6424310] CoreText note: Set a breakpoint on CTFontLogSystemFontNameRequest to debug.
2020-02-08 12:15:45.578 java[76371:6424310] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:15:46.369 java[76371:6424354] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:15:46.455 java[76371:6424354] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:18:05.596 java[76371:6424310] unrecognized type is 4294967295
2020-02-08 12:18:05.596 java[76371:6424310] *** Assertion failure in -[NSEvent _initWithCGEvent:eventRef:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1894.20.140/AppKit.subproj/NSEvent.m:1959
ctrlaltca commented 4 years ago

Seeing that the minimum requested version is java 8u60, i tried installing java8 instead:

With the following result:

Exception in thread "main" java.lang.UnsupportedClassVersionError: javafx/application/Application has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    at nsusbloader.Main.main(Main.java:7)
ctrlaltca commented 4 years ago

Third attempt using brew cask install adoptopenjdk installed OpenJDK13U-jdk_x64_mac_hotspot_13.0.2_8.tar.gz , and ns-usbloader works fine.

andyoneal commented 4 years ago

Looks like this is a bug in JavaFX starting with macOS 10.15. Fixed in JavaFX 14.

https://bugs.openjdk.java.net/browse/JDK-8234916

farces commented 4 years ago

A quick fix for this is to switch to javafx 14 and rebuild - it works without any issues for me but I also haven't given it any particular rigor in testing.

Modify pom.xml and change version to 14 for any of the javafx items that are currently version 11.

i-am-the-slime commented 3 years ago

Why is this closed?

ctrlaltca commented 3 years ago

Because the problem seems not to be in ns-usbloader itself, but is caused by some broken combinations of Java and macOS.

i-am-the-slime commented 3 years ago

I'd argue that it uses a dependency that is broken which can apparently be fixed by updating it.