7 Replies Latest reply on Feb 17, 2015 10:08 AM by 2850337

    All drop down menus empty / SQLDeveloper 4

    2850337

      Hello all,

       

      I have an issue with dropdown menus showing empty in SQLDeveloper 4 on Linux. See the example screenshots for an idea of the problem.

      All drop down menus opens properly, but look empty. For some of them (eg my two first screenshots) I can still select the option I want with the keyboard arrows (but I have to know what are the displayed options) ; but for some even that does not do anything (in my third screenshot for example, I can not select any connection, even though I have 4 properly configured in the editor).

       

      The same behavior occurs with SQLDeveloper 4.0.3.16 and 4.1.0.17, with Java 1.7.0_75 (for SQLDeveloper 4.0.3 only) and 1.8.0_31, flavor OpenJDK and Oracle for both (6 combinations tested overall : 4 for SQLDev 4.0.3 + 2 for SQLDev 4.1.0).

      I am on Ubuntu 14.04.1 LTS 64 bits.

       

      In addition, I can not use the GTK+ theme, as it generates a stacktrace at startup (see end of this message), and prevent some sub-windows within the main windows to load and display completely (eg. see the left panel on the fourth screenshot, which is supposed to be the 'Connections' panel with 4 properly configured DB).

       

      At this point, I'm completely stuck and don't know what else to do. I can't work anymore on my Oracle DBs.

       

      If any of you have a solution, or just an idea, that would be great.

       

      Thanks you all!

       

      Example 1:

      screen1.png

      Example 2:

      screen2.png

      Example 3:

      screen3.png

      Example 4:

      screen4.png

       

      Stacktrace emitted for the GTK+ theme:

      java.lang.ClassCastException: oracle.dbtools.raptor.navigator.db.impl.ConnectionStoresTreeNode cannot be cast to oracle.ideimpl.explorer.ExplorerNode

        at oracle.ideimpl.explorer.CustomTreeCellRenderer.getTreeCellRendererComponent(CustomTreeCellRenderer.java:133)

        at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2805)

        at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492)

        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1359)

        at javax.swing.tree.VariableHeightLayoutCache.updateNodeSizes(VariableHeightLayoutCache.java:917)

        at javax.swing.tree.VariableHeightLayoutCache.invalidateSizes(VariableHeightLayoutCache.java:371)

        at javax.swing.plaf.basic.BasicTreeUI.setCellRenderer(BasicTreeUI.java:385)

        at javax.swing.plaf.basic.BasicTreeUI$Handler.propertyChange(BasicTreeUI.java:3409)

        at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)

        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)

        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)

        at java.awt.Component.firePropertyChange(Component.java:8393)

        at javax.swing.JTree.setCellRenderer(JTree.java:759)

        at oracle.ideimpl.explorer.CustomTree.<init>(CustomTree.java:69)

        at oracle.dbtools.raptor.navigator.ui.CustomTree.<init>(CustomTree.java:36)

        at oracle.dbtools.raptor.navigator.model.NavigatorTree.createGUI(NavigatorTree.java:173)

        at oracle.dbtools.raptor.navigator.model.NavigatorTree.getTree(NavigatorTree.java:167)

        at oracle.dbtools.raptor.navigator.core.NavigatorWindow.createGUI(NavigatorWindow.java:106)

        at oracle.dbtools.raptor.navigator.core.NavigatorWindow.getGUI(NavigatorWindow.java:319)

        at oracle.ide.docking.DockableWindow.getHostedComponent(DockableWindow.java:238)

        at com.oracle.jdeveloper.nbwindowsystem.NbDockableContainer.componentOpened(NbDockableContainer.java:171)

        at org.openide.windows.WindowManager.componentOpenNotify(WindowManager.java:307)

        at org.netbeans.core.windows.WindowManagerImpl.notifyTopComponentOpened(WindowManagerImpl.java:1140)

        at org.netbeans.core.windows.Central.addModeOpenedTopComponent(Central.java:798)

        at org.netbeans.core.windows.ModeImpl.addOpenedTopComponent(ModeImpl.java:354)

        at org.netbeans.core.windows.PersistenceHandler.initModeFromConfig(PersistenceHandler.java:451)

        at org.netbeans.core.windows.PersistenceHandler.load(PersistenceHandler.java:214)

        at org.netbeans.core.windows.WindowSystemImpl.load(WindowSystemImpl.java:81)

        at org.netbeans.core.GuiRunLevel$InitWinSys.run(GuiRunLevel.java:231)

        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)

        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)

        at java.awt.EventQueue.access$300(EventQueue.java:103)

        at java.awt.EventQueue$3.run(EventQueue.java:699)

        at java.awt.EventQueue$3.run(EventQueue.java:697)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

        at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)

        at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)

        at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)

        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)

        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)

        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

        • 1. Re: All drop down menus empty / SQLDeveloper 4
          thatJeffSmith-Oracle

          Definitely don't use the native LnF on Linux, stay with the Oracle one.

           

          Also, try to use the Oracle JDK, not the open one.

           

          So that's not working for you now, you might want to check the Log panel for error messages, or we might need you to generate a jstack dump. Just run jstack against the PID, and send the entire log here.

          • 2. Re: Re: All drop down menus empty / SQLDeveloper 4
            2850337

            Hello,

            Thanks for the reply.

             

            OK, I'll stay with the Oracle LnF, not with the GTK+ one.

             

            Still I have teh same issue of all drop down lists appearing empty.

             

            I checked on the 'Log' panel, absolutely nothing pops up.

             

            Full jstack trace while the display bug is here (SQLDeveloper 4.0.3.16 build MAIN-16.84 with Oracle Java JDK 1.7.0_76 on Ubuntu LTS 14.04.1 64bits). If you need more intel I can provide, please let me know.

             

            Thanks.

            $  jstack -l 21627
            2015-02-05 18:41:12
            Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.76-b04 mixed mode):
            
            "Timer-4" prio=10 tid=0x00007f0e2c3c4000 nid=0x54dc in Object.wait() [0x00007f0e40bcc000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.lang.Object.wait(Object.java:503)
                 at java.util.TimerThread.mainLoop(Timer.java:526)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "process reaper" daemon prio=10 tid=0x00007f0e2c42b000 nid=0x54d4 waiting on condition [0x00007f0e40047000]
               java.lang.Thread.State: TIMED_WAITING (parking)
                 at sun.misc.Unsafe.park(Native Method)
                 - parking to wait for   (a java.util.concurrent.SynchronousQueue$TransferStack)
                 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
                 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
                 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)
                 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)
                 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "Timer-3" prio=10 tid=0x00007f0e2c040800 nid=0x54d2 in Object.wait() [0x00007f0e409ca000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.lang.Object.wait(Object.java:503)
                 at java.util.TimerThread.mainLoop(Timer.java:526)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "Attach Listener" daemon prio=10 tid=0x00007f0e58001000 nid=0x54cf waiting on condition [0x0000000000000000]
               java.lang.Thread.State: RUNNABLE
            
               Locked ownable synchronizers:
                 - None
            
            "WaitCursor-Timer" prio=10 tid=0x00007f0e2c361800 nid=0x54b2 in Object.wait() [0x00007f0e29aae000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.lang.Object.wait(Object.java:503)
                 at java.util.TimerThread.mainLoop(Timer.java:526)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "Timer-2" prio=10 tid=0x00007f0e2c127000 nid=0x54af in Object.wait() [0x00007f0e401d7000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.lang.Object.wait(Object.java:503)
                 at java.util.TimerThread.mainLoop(Timer.java:526)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "IconOverlayTracker Timer: null-jdbcNodeInfoType" prio=10 tid=0x00007f0e201be000 nid=0x54ac in Object.wait() [0x00007f0e4053c000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.lang.Object.wait(Object.java:503)
                 at java.util.TimerThread.mainLoop(Timer.java:526)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "pool-2-thread-2" prio=10 tid=0x00007f0de8009000 nid=0x54aa waiting on condition [0x00007f0e4063d000]
               java.lang.Thread.State: WAITING (parking)
                 at sun.misc.Unsafe.park(Native Method)
                 - parking to wait for   (a java.util.concurrent.SynchronousQueue$TransferStack)
                 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
                 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:458)
                 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)
                 at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:925)
                 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "DestroyJavaVM" prio=10 tid=0x00007f0e8c00d000 nid=0x547c waiting on condition [0x0000000000000000]
               java.lang.Thread.State: RUNNABLE
            
               Locked ownable synchronizers:
                 - None
            
            "Thread-8" daemon prio=10 tid=0x00007f0e20202000 nid=0x54a7 in Object.wait() [0x00007f0e4083f000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.LinkedList)
                 at java.lang.Object.wait(Object.java:503)
                 at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1476)
                 - locked  (a java.util.LinkedList)
            
               Locked ownable synchronizers:
                 - None
            
            "ChangeSetService" daemon prio=10 tid=0x00007f0e20d2b800 nid=0x54a5 in Object.wait() [0x00007f0e40acb000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
                 at java.lang.Object.wait(Object.java:503)
                 at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetService.java:131)
                 - locked  (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
                 at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetService.java:152)
                 at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$000(ChangeSetService.java:60)
                 at oracle.jdevimpl.vcs.changeset.ChangeSetService$1.run(ChangeSetService.java:99)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "Scheduler" daemon prio=10 tid=0x00007f0e20b27800 nid=0x54a2 in Object.wait() [0x00007f0e41672000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
                 at java.lang.Object.wait(Object.java:503)
                 at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(TaskLinkedList.java:47)
                 - locked  (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
                 at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThread.run(RaptorTaskManager.java:479)
            
               Locked ownable synchronizers:
                 - None
            
            "Log Poller" prio=10 tid=0x00007f0e20831000 nid=0x54a1 waiting on condition [0x00007f0e417f7000]
               java.lang.Thread.State: WAITING (parking)
                 at sun.misc.Unsafe.park(Native Method)
                 - parking to wait for   (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
                 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
                 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
                 at oracle.ide.log.QueuedLoggingHandler.take(QueuedLoggingHandler.java:60)
                 at oracle.ideimpl.log.TabbedLogManager$4.run(TabbedLogManager.java:321)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "JarIndex Timer" daemon prio=10 tid=0x00007f0e206cc800 nid=0x549f in Object.wait() [0x00007f0e41c01000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.util.TimerThread.mainLoop(Timer.java:552)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "Inactive RequestProcessor thread [Was:System clipboard synchronizer/org.netbeans.NbClipboard$GetContents]" daemon prio=10 tid=0x00007f0e20692000 nid=0x549e in Object.wait() [0x00007f0e41fff000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.Object)
                 at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1989)
                 - locked  (a java.lang.Object)
            
               Locked ownable synchronizers:
                 - None
            
            "TimedCache-Timer" daemon prio=10 tid=0x00007f0e20309000 nid=0x549c in Object.wait() [0x00007f0e41efe000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.util.TaskQueue)
                 at java.util.TimerThread.mainLoop(Timer.java:552)
                 - locked  (a java.util.TaskQueue)
                 at java.util.TimerThread.run(Timer.java:505)
            
               Locked ownable synchronizers:
                 - None
            
            "Framework Event Dispatcher" daemon prio=10 tid=0x00007f0e2c14d800 nid=0x5498 in Object.wait() [0x00007f0e42147000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
                 at java.lang.Object.wait(Object.java:503)
                 at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
                 - locked  (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
                 at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
            
               Locked ownable synchronizers:
                 - None
            
            "State Data Manager" daemon prio=10 tid=0x00007f0e20132800 nid=0x5497 waiting on condition [0x00007f0e42248000]
               java.lang.Thread.State: TIMED_WAITING (sleeping)
                 at java.lang.Thread.sleep(Native Method)
                 at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:297)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "Framework Active Thread" prio=10 tid=0x00007f0e2010b000 nid=0x5496 in Object.wait() [0x00007f0e42349000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a org.eclipse.osgi.framework.internal.core.Framework)
                 at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1863)
                 - locked  (a org.eclipse.osgi.framework.internal.core.Framework)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "Inactive RequestProcessor thread [Was:Folder recognizer/org.openide.loaders.FolderList$ListTask]" daemon prio=10 tid=0x00007f0e20063000 nid=0x5495 in Object.wait() [0x00007f0e42454000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.Object)
                 at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1989)
                 - locked  (a java.lang.Object)
            
               Locked ownable synchronizers:
                 - None
            
            "Active Reference Queue Daemon" daemon prio=10 tid=0x00007f0e8c295000 nid=0x5492 in Object.wait() [0x00007f0e42c77000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.ref.ReferenceQueue$Lock)
                 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
                 - locked  (a java.lang.ref.ReferenceQueue$Lock)
                 at org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.java:180)
                 - locked  (a java.lang.ref.ReferenceQueue$Lock)
            
               Locked ownable synchronizers:
                 - None
            
            "TimerQueue" daemon prio=10 tid=0x00007f0e8c1ee800 nid=0x5491 waiting on condition [0x00007f0e436e5000]
               java.lang.Thread.State: WAITING (parking)
                 at sun.misc.Unsafe.park(Native Method)
                 - parking to wait for   (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
                 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
                 at java.util.concurrent.DelayQueue.take(DelayQueue.java:209)
                 at javax.swing.TimerQueue.run(TimerQueue.java:171)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 -  (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
            
            "AWT-EventQueue-0" prio=10 tid=0x00007f0e8c1e7800 nid=0x5490 waiting on condition [0x00007f0e437e3000]
               java.lang.Thread.State: WAITING (parking)
                 at sun.misc.Unsafe.park(Native Method)
                 - parking to wait for   (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
                 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
                 at java.awt.EventQueue.getNextEvent(EventQueue.java:548)
                 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
                 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
                 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
                 at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
                 at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
                 at java.security.AccessController.doPrivileged(Native Method)
                 at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
                 at java.awt.Dialog.show(Dialog.java:1082)
                 at java.awt.Component.show(Component.java:1655)
                 at java.awt.Component.setVisible(Component.java:1607)
                 at java.awt.Window.setVisible(Window.java:1014)
                 at java.awt.Dialog.setVisible(Dialog.java:1005)
                 at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:400)
                 at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:361)
                 at oracle.ide.dialogs.WizardLauncher.runDialog(WizardLauncher.java:55)
                 at oracle.ide.panels.TDialogLauncher.showDialog(TDialogLauncher.java:225)
                 at oracle.ide.config.IdeSettings.showDialog(IdeSettings.java:857)
                 at oracle.ide.config.IdeSettings.showDialog(IdeSettings.java:608)
                 at oracle.ide.cmd.IdeSettingsCommand.doit(IdeSettingsCommand.java:39)
                 at oracle.ide.controller.CommandProcessor.invoke(CommandProcessor.java:377)
                 at oracle.ide.controller.IdeAction.performAction(IdeAction.java:711)
                 at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:1153)
                 at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:618)
                 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
                 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
                 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
                 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
                 at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
                 at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
                 at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
                 at java.awt.Component.processMouseEvent(Component.java:6516)
                 at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
                 at java.awt.Component.processEvent(Component.java:6281)
                 at java.awt.Container.processEvent(Container.java:2229)
                 at java.awt.Component.dispatchEventImpl(Component.java:4872)
                 at java.awt.Container.dispatchEventImpl(Container.java:2287)
                 at java.awt.Component.dispatchEvent(Component.java:4698)
                 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
                 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
                 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
                 at java.awt.Container.dispatchEventImpl(Container.java:2273)
                 at java.awt.Window.dispatchEventImpl(Window.java:2719)
                 at java.awt.Component.dispatchEvent(Component.java:4698)
                 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
                 at java.awt.EventQueue.access$300(EventQueue.java:103)
                 at java.awt.EventQueue$3.run(EventQueue.java:699)
                 at java.awt.EventQueue$3.run(EventQueue.java:697)
                 at java.security.AccessController.doPrivileged(Native Method)
                 at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
                 at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
                 at java.awt.EventQueue$4.run(EventQueue.java:713)
                 at java.awt.EventQueue$4.run(EventQueue.java:711)
                 at java.security.AccessController.doPrivileged(Native Method)
                 at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
                 at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
                 at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)
                 at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)
                 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
                 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
                 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
                 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
                 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
                 at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
            
               Locked ownable synchronizers:
                 - None
            
            "AWT-Shutdown" prio=10 tid=0x00007f0e8c1e6000 nid=0x548f in Object.wait() [0x00007f0e438e7000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.Object)
                 at java.lang.Object.wait(Object.java:503)
                 at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:296)
                 - locked  (a java.lang.Object)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "AWT-XAWT" daemon prio=10 tid=0x00007f0e8c1e5000 nid=0x548e runnable [0x00007f0e439e8000]
               java.lang.Thread.State: RUNNABLE
                 at sun.awt.X11.XToolkit.waitForEvents(Native Method)
                 at sun.awt.X11.XToolkit.run(XToolkit.java:541)
                 at sun.awt.X11.XToolkit.run(XToolkit.java:505)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "Java2D Disposer" daemon prio=10 tid=0x00007f0e8c1c3800 nid=0x548d in Object.wait() [0x00007f0e68164000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.ref.ReferenceQueue$Lock)
                 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
                 - locked  (a java.lang.ref.ReferenceQueue$Lock)
                 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
                 at sun.java2d.Disposer.run(Disposer.java:145)
                 at java.lang.Thread.run(Thread.java:745)
            
               Locked ownable synchronizers:
                 - None
            
            "Service Thread" daemon prio=10 tid=0x00007f0e8c0a5800 nid=0x548b runnable [0x0000000000000000]
               java.lang.Thread.State: RUNNABLE
            
               Locked ownable synchronizers:
                 - None
            
            "C2 CompilerThread1" daemon prio=10 tid=0x00007f0e8c0a3000 nid=0x548a waiting on condition [0x0000000000000000]
               java.lang.Thread.State: RUNNABLE
            
               Locked ownable synchronizers:
                 - None
            
            "C2 CompilerThread0" daemon prio=10 tid=0x00007f0e8c0a0000 nid=0x5489 waiting on condition [0x0000000000000000]
               java.lang.Thread.State: RUNNABLE
            
               Locked ownable synchronizers:
                 - None
            
            "Signal Dispatcher" daemon prio=10 tid=0x00007f0e8c09e000 nid=0x5488 runnable [0x0000000000000000]
               java.lang.Thread.State: RUNNABLE
            
               Locked ownable synchronizers:
                 - None
            
            "Finalizer" daemon prio=10 tid=0x00007f0e8c07c800 nid=0x5487 in Object.wait() [0x00007f0e884f3000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.ref.ReferenceQueue$Lock)
                 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
                 - locked  (a java.lang.ref.ReferenceQueue$Lock)
                 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
                 at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
            
               Locked ownable synchronizers:
                 - None
            
            "Reference Handler" daemon prio=10 tid=0x00007f0e8c07a800 nid=0x5486 in Object.wait() [0x00007f0e885f4000]
               java.lang.Thread.State: WAITING (on object monitor)
                 at java.lang.Object.wait(Native Method)
                 - waiting on  (a java.lang.ref.Reference$Lock)
                 at java.lang.Object.wait(Object.java:503)
                 at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
                 - locked  (a java.lang.ref.Reference$Lock)
            
               Locked ownable synchronizers:
                 - None
            
            "VM Thread" prio=10 tid=0x00007f0e8c076000 nid=0x5485 runnable 
            
            "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f0e8c023000 nid=0x547d runnable 
            
            "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f0e8c025000 nid=0x547e runnable 
            
            "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f0e8c027000 nid=0x547f runnable 
            
            "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f0e8c029000 nid=0x5480 runnable 
            
            "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f0e8c02a800 nid=0x5481 runnable 
            
            "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f0e8c02c800 nid=0x5482 runnable 
            
            "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f0e8c02e800 nid=0x5483 runnable 
            
            "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f0e8c030000 nid=0x5484 runnable 
            
            "VM Periodic Task Thread" prio=10 tid=0x00007f0e8c0b0800 nid=0x548c waiting on condition 
            
            JNI global references: 2225
            
            • 3. Re: All drop down menus empty / SQLDeveloper 4
              thatJeffSmith-Oracle

              Thanks for that. I've asked one of the devs to come take a look.

              • 4. Re: All drop down menus empty / SQLDeveloper 4
                Brian Jeffries-Oracle

                It has something to do with the Unity desktop environment.

                Edit <sqldev_home>/sqldeveloper/bin/sqldeveloper

                at the very end, add a new line containing

                unset GNOME_DESKTOP_SESSION_ID

                just before the line containing

                LaunchIDE "$@"

                 

                Tested SQLDeveloper 4.0.3.16.84 on clean install Ubuntu 14.04 LTS VirtualBox VM with

                Java jdk1.7.0_75

                Desktop environments:

                  Unity - changes required as specified above

                  LXDE - works

                  Xfce - works

                 

                Please make sure to use jdk1.7 with SQLDeveloper 4.0 and jdk1.8 with 4.1. There are known incompatibilities with other configurations.

                 

                I will test it tomorrow but have every reason to think this will work for SQL Developer 4.1 as well. (It's late in Eastern USA at the moment)

                EDIT: Tested SQLDeveloper 4.1.0.17.29 on above Ubuntu 14.04 LTS VirtualBox VM with

                Java jdk1.8.0_31

                Desktop environments:

                  Unity - changes required as specified above

                 

                Brian Jeffries

                SQL Developer Team

                • 5. Re: All drop down menus empty / SQLDeveloper 4
                  Brian Jeffries-Oracle

                  This fix will be in version 4.1.0.18.05++

                   

                  Brian Jeffries

                  SQL Developer Team

                  • 6. Re: Re: All drop down menus empty / SQLDeveloper 4
                    2850337

                    Hello,

                     

                    First, thanks a lot for the answer and time spent on this.

                    Unfortunately, the proposed fix does not work for me, I have the exact same improper behavior (drop-down lists showing empty).

                    I added the unset line to my sqldeveloper file (and even unsetting the environment variable directly to my local shell). But sadly it did not change anything (with both jdk1.7.0_75/76 (and OpenJDK 1.7.0_75  7u75-2.5.4-1 for what it worth) with SQLD 4.0.3.16.84).

                    I do however confirm that it has something to do with Unity. If I log in using Xfce or LXDE, both work properly.

                    Even though there is a workaround (shut down your X server and start a new one using a different window manager), I still think this issue does matter, as Ubuntu is the #1 most used Linux desktop environment, and Unity is its WM by default (OK, at least for the few latest releases now).

                     

                    As for the fact it works in a VM, are you sure it is not related to 3D or 2D material acceleration? Indeed, in a clean new installation in a VM Oracle SQLDeveloper does work properly. But if I activate the 2/3D acceleration in the VM, then the issue reappears in the VM (even with your fix).

                    Conversely, on my host machine, Unity + acceleration => the bug is here ; Unity without acceleration => the bug disappears (but the system is awfully sluggish, obviously).

                    Also, the issue has been confirmed on a different machine (different hardware) but with the same software configuration (Ubuntu LTS + SQLDeveloper 4.0.3 + JDK 1.7_75).

                     

                    If I can provide you any more information that might help you in finding the issue (well, the solution actually...), please let me know what I can do.

                     

                    Regards,

                    • 7. Re: All drop down menus empty / SQLDeveloper 4
                      2850337

                      Hello all,

                       

                      Sorry to come back to this subject, this is really blocking for me ... Any others ideas, on that subject? Why would the hardware acceleration on Unity/Ubuntu make dropdown lists disappear? What can I do more to help resolve this issue?

                       

                      Thanks.

                      Regards,