ho-dev / HattrickOrganizer

Assistant for Hattrick online football manager
https://ho-dev.github.io/HattrickOrganizer/
GNU Lesser General Public License v3.0
194 stars 79 forks source link

[BUG] darcula theme breaks HO #2148

Closed Sheeperich closed 2 months ago

Sheeperich commented 2 months ago

Darcula Theme makes HO unusable

To Reproduce Steps to reproduce the behavior:

  1. Go to File -> Settings -> Colors
  2. Click on dropdown 3 select darcula
  3. restart ho
  4. click anywhere to open any swing menu
  5. see error

Screenshots image

image

Platform information:

Additional context totally broken, no idea how to reset the theme setting, all i can do is use another portable instance seems weird

github-actions[bot] commented 2 months ago

Hey, thanks for opening your first issue! 🙂 Be sure to check out the wiki and the HT forum for support.

tychobrailleur commented 2 months ago

I also run manjaro, but don't have that issue. Would you please be able to share the logs of your HO setup? They should be under the logs folder of your HO installation.

tychobrailleur commented 2 months ago

Also, what version of Java do you use?

Sheeperich commented 2 months ago

My os uses java 17. Or do you need the specific, i think openjdk.17.0.1 I'll post my log when I'm back at my pc

Sheeperich commented 2 months ago

HO-1725542973.log HO-1725605546.log HO-1725661069.log HO-1725661196.log

so these are the last logs from my "real" HO instance. where i didn't test to reproduce that issue

anything else i can provide you with? I just don't know anything about swing ui Happy to help ;)

tychobrailleur commented 2 months ago

anything else i can provide you with? I just don't know anything about swing ui Happy to help ;)

Thanks, the issue seems to come from our darklaf dependency. The full stracktrace is:

2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.lang.IllegalAccessError: class com.github.weisj.darklaf.compatibility.SwingUtil (in unnamed module @0x65fcc44) cannot access class sun.awt.SunToolkit (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @0x65fcc44
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.compatibility.SwingUtil.grab(SwingUtil.java:109)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.popupmenu.MouseGrabber.grabWindow(MouseGrabber.java:74)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.popupmenu.MouseGrabber.stateChanged(MouseGrabber.java:112)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.MenuSelectionManager.fireStateChanged(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.MenuSelectionManager.setSelectedPath(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.delegate.MouseInputDelegate.mousePressed(MouseInputDelegate.java:81)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.menu.DarkMenuUI$1.mousePressed(DarkMenuUI.java:83)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.processEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.processEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$4.run(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$4.run(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.base/java.security.AccessController.doPrivileged(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$5.run(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$5.run(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.base/java.security.AccessController.doPrivileged(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2024-09-06 08:52:31 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.lang.IllegalAccessError: class com.github.weisj.darklaf.compatibility.SwingUtil (in unnamed module @0x65fcc44) cannot access class sun.awt.SunToolkit (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @0x65fcc44
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.compatibility.SwingUtil.grab(SwingUtil.java:109)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.popupmenu.MouseGrabber.grabWindow(MouseGrabber.java:74)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.popupmenu.MouseGrabber.stateChanged(MouseGrabber.java:112)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.MenuSelectionManager.fireStateChanged(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.MenuSelectionManager.setSelectedPath(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.delegate.MouseInputDelegate.mousePressed(MouseInputDelegate.java:81)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.menu.DarkMenuUI$1.mousePressed(DarkMenuUI.java:83)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.processEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.processEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$4.run(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$4.run(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.base/java.security.AccessController.doPrivileged(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$5.run(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$5.run(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.base/java.security.AccessController.doPrivileged(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2024-09-06 08:52:39 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.lang.IllegalAccessError: class com.github.weisj.darklaf.compatibility.SwingUtil (in unnamed module @0x65fcc44) cannot access class sun.awt.SunToolkit (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @0x65fcc44
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.compatibility.SwingUtil.grab(SwingUtil.java:109)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.popupmenu.MouseGrabber.grabWindow(MouseGrabber.java:74)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.popupmenu.MouseGrabber.stateChanged(MouseGrabber.java:112)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.MenuSelectionManager.fireStateChanged(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.MenuSelectionManager.setSelectedPath(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.delegate.MouseInputDelegate.mousePressed(MouseInputDelegate.java:81)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: com.github.weisj.darklaf.ui.menu.DarkMenuUI$1.mousePressed(DarkMenuUI.java:83)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.processEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.processEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$4.run(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$4.run(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.base/java.security.AccessController.doPrivileged(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$5.run(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue$5.run(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.base/java.security.AccessController.doPrivileged(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2024-09-06 08:52:47 [Error]   core.util.ExceptionHandler: java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

The JDK Version is 17.0.12 (Arch Linux), is it the JDK that gets installed via package manager?
That could be the main difference with my own setup because I use Using java: 17 (Oracle Corporation)

tychobrailleur commented 2 months ago

The JDK Version is 17.0.12 (Arch Linux), is it the JDK that gets installed via package manager? That could be the main difference with my own setup because I use Using java: 17 (Oracle Corporation)

Maybe this could be a workaround to fix your setup and switch back to Nimbus while we are looking into this, BTW.

tychobrailleur commented 2 months ago

Odd, I still cannot reproduce:

    /tmp/HO-tmp  unset JAVA_HOME    
    /tmp/HO-tmp  sudo pacman -Syu jdk17-openjdk    
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
. . .
    /tmp/HO-tmp  archlinux-java set java-17-openjdk                                                                                                                       
This script must be run as root
    /tmp/HO-tmp  sudo !!     
sudo archlinux-java set java-17-openjdk
    /tmp/HO-tmp  java -version   
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)

Still cannot reproduce...

Sheeperich commented 2 months ago

image

image

now its working,

2024-09-07 22:59:34 [Info] core.HO: VERSION: 8.1 versionType: RELEASE RevisionNumber: 655 2024-09-07 22:59:34 [Info] core.db.backup.HOZip: Create Backup: /home/emanueln/HO-7.3.523.2-portable-unix/db/db_user-2024-09-07.zip 2024-09-07 22:59:35 [Info] core.db.DBManager: instance jdbc:hsqldb:file:db/database; parent folder: /home/emanueln/HO-7.3.523.2-portable-unix 2024-09-07 22:59:36 [Info] core.model.HOVerwaltung: language used for interface is: Deutsch 2024-09-07 22:59:36 [Info] core.training.TrainingWeekManager: Next week training date: 2024-09-06 00:30:00 2024-09-07 22:59:36 [Info] core.gui.HOMainFrame: This is HO! version 8.1, have fun! 2024-09-07 22:59:36 [Info] core.gui.HOMainFrame: Operating system found: Linux on amd64 (6.6.47-1-MANJARO) 2024-09-07 22:59:36 [Info] core.gui.HOMainFrame: Using java: 17.0.12 (Arch Linux)

i dont get it. But i'm fine if it works, so thanks and we can close this issue.

but wtf ? :(

image works with newer versions as well.

how did ho display java version 17.0.1 if my default was 11?