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

Object Explorer on Mac requires at least Java 17 (or really 14+) #70

Open
apocalyptech opened this issue Jan 31, 2024 · 0 comments
Open
Labels
bug Something isn't working

Comments

@apocalyptech
Copy link
Contributor

System Info
Operating System:
Mac / OSX

Describe the bug
Launching OE using Java 8 on Mac yields the following:

2024-01-30 21:46:04 blcmm.gui.ObjectExplorer.<init>(ObjectExplorer.java:103) -> Opened Object Explorer
2024-01-30 21:46:04 blcmm.Startup$MyExceptionHandler.logError(Startup.java:388) -> class java.lang.NullPointerException: null
    blcmm.gui.panels.ObjectExplorerPanel$3.<init>(ObjectExplorerPanel.java:245)
    blcmm.gui.panels.ObjectExplorerPanel.initBookmarks(ObjectExplorerPanel.java:244)
    blcmm.gui.panels.ObjectExplorerPanel.<init>(ObjectExplorerPanel.java:233)
    blcmm.gui.ObjectExplorer$OETabbedPane.getDefaultNewComponent(ObjectExplorer.java:812)
    blcmm.gui.ObjectExplorer$OETabbedPane.getDefaultNewComponent(ObjectExplorer.java:804)
    blcmm.gui.components.VariableTabsTabbedPane.<init>(VariableTabsTabbedPane.java:70)
    blcmm.gui.ObjectExplorer$OETabbedPane.<init>(ObjectExplorer.java:807)
    blcmm.gui.ObjectExplorer.initComponents(ObjectExplorer.java:313)
    blcmm.gui.ObjectExplorer.<init>(ObjectExplorer.java:104)
    blcmm.gui.MainGUI.lambda$launchObjectExplorerWindow$9(MainGUI.java:2445)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

This turns out to be due to this bug: https://bugs.openjdk.org/browse/JDK-7124404 -- Basically, Mac Java does not have an awt.multiClickInterval property in their default toolkit, and it ends up throwing an NPE. Judging from that bug, that was added in in Java 14, so Java 17 would be our minimum-supported to run OE.

It could be that there's some ways to bypass this; I've got to look to even see what we're using that property for. Possibly we could just do without, instead?

Regardless, it's one of two solutions: 1) bypass the property, or 2) update the docs to say that Mac users need to be on Java 17+.

@apocalyptech apocalyptech added the bug Something isn't working label Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant