Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does Oracle SQL Developer have null pointer exception on startup on Mac OS

When I launch a fresh install of Oracle SQL Developer the icon bounces in the dock a bit then disappears.

When I launch it via CLI I get this error:

Oracle SQL Developer
 Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.

java.lang.IllegalStateException: Problem creating splash screen on ETD.
    at oracle.ide.osgi.boot.SplashScreenImpl.SynchronizeWithEdt(SplashScreenImpl.java:541)
    at oracle.ide.osgi.boot.api.SplashScreen.createInstance(SplashScreen.java:66)
    at oracle.ide.osgi.boot.OracleIdeLauncher.showSplashScreen(OracleIdeLauncher.java:828)
    at oracle.ide.osgi.boot.OracleIdeLauncher.main(OracleIdeLauncher.java:109)
Caused by: java.lang.reflect.InvocationTargetException
    at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1328)
    at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1303)
    at java.desktop/javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1475)
    at oracle.ide.osgi.boot.SplashScreenImpl.SynchronizeWithEdt(SplashScreenImpl.java:537)
    ... 3 more
Caused by: java.lang.NullPointerException
    at java.desktop/java.awt.Window.init(Window.java:495)
    at java.desktop/java.awt.Window.<init>(Window.java:535)
    at java.desktop/java.awt.Frame.<init>(Frame.java:423)
    at java.desktop/java.awt.Frame.<init>(Frame.java:388)
    at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
    at oracle.ide.osgi.boot.OracleIdeLauncher$2.getHiddenWindow(OracleIdeLauncher.java:807)
    at oracle.ide.osgi.boot.api.SplashScreen$1.run(SplashScreen.java:61)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
    at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
A fatal error in the IDE boostraping code. Exiting ...

I have tried to verify the JDK version is correct, and there are no other missing dependencies. What is causing this error?

Edit:

Currently connected via Dell D6000 dock over minidisplay port, using DisplayLink drivers

MacBook Pro (15-inch, 2017), High Sierra v10.13.3, DisplayLinkDriver v4.0.0 (85514)

$ java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
like image 911
RyanS Avatar asked Apr 04 '18 17:04

RyanS


Video Answer


1 Answers

After pulling my hair out, a coworker discovered the cause: I was using multiple monitors.

It turns out the splash screen was trying to display on the main monitor but wasnt able to for some reason. Disconecting my extra displays solved the issue and allowed me to launch the application. After launching I plugged in the displays and dragged the window over to them, no issue.

TLDR: set your main monitor to the Macbook screen or use one monitor to launch

You can change the main monitor by using spotlight search for displays and then drag the white bar to your actual computers display (in my case the macbook screen).

like image 148
RyanS Avatar answered Oct 16 '22 06:10

RyanS