11 Replies Latest reply: Apr 25, 2014 11:15 AM by Michael N RSS

    SQL Developer will not start, hangs with load screen, MAC Mavericks

    Michael N

      I don't know where to go from here, I have the JDK path worked out I believe (see below).

       

      The start window opens, the blue bar goes to about 1/2" and then it just sits there and does nothing.

       

      How can I debug this from here?

       

      I don't think it is the JDK, I've done the following and I can see in the open file log that SqlDeveloper has the JDK files open.

       

      Ive done everything that I have found to be relevant, all the following without success..

       

      • added SetJavaHome /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home to sqldeveloper_darwin.conf
      • added IncludeConfFile  sqldeveloper-Darwin.conf to sqldeveloper.conf
      • added (link)

      function setjdk() {

        if [ $# -ne 0 ]; then

         removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'

         if [ -n "${JAVA_HOME+x}" ]; then

          removeFromPath $JAVA_HOME

         fi

         export JAVA_HOME=`/usr/libexec/java_home -v $@`

         export PATH=$JAVA_HOME/bin:$PATH

        fi

      }

      function removeFromPath() {

        export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")

      }

      setjdk 1.7

       

      to ./bash_profile added it to

        • 1. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
          Michael N

          Download File: sqldeveloper-4.0.1.14.48-macosx

          • 2. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
            Jeff Smith Sqldev Pm-Oracle

            what happens if you do java -version from the terminal?

             

            none of what you did above should be necessary. download, extract, run

            • 3. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
              Michael N

              I had an issue with the java_home path not being found.

               

              $ java -version

              java version "1.7.0_51"

              Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

              Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

              Mikes-MacBook-Pro:~ mnicholas$

               

              I've also reinstalled SQL Developer several times too, but continue to have the same results.

              • 4. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                Jeff Smith Sqldev Pm-Oracle

                re-installing won't do anything - that just puts the files down

                 

                if the window starts and it gets half-way, it's finding java

                • 5. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                  Michael N

                  Ok, any ideas on what I can do to debug? Trace files? Log Files?

                   

                  -mike

                  • 6. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                    Jeff Smith Sqldev Pm-Oracle

                    you can run jstack against the process ID and get a stack dump

                    • 7. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                      Michael N

                      Jstack...

                       

                      2014-04-08 17:19:47

                      Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode):

                       

                      "Attach Listener" daemon prio=5 tid=0x00007f949787b800 nid=0x8f0b waiting on condition [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "DestroyJavaVM" prio=5 tid=0x00007f94929e4800 nid=0x1903 waiting on condition [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Framework Event Dispatcher" daemon prio=5 tid=0x00007f9491321800 nid=0xfb03 in Object.wait() [0x000000015f894000]

                         java.lang.Thread.State: WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x0000000140251748> (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 <0x0000000140251748> (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=5 tid=0x00007f94922e0000 nid=0xf903 waiting on condition [0x000000015fd44000]

                         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:744)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Framework Active Thread" prio=5 tid=0x00007f94922e9000 nid=0xf713 in Object.wait() [0x000000015fc41000]

                         java.lang.Thread.State: TIMED_WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x000000013ff107e0> (a org.eclipse.osgi.framework.internal.core.Framework)

                          at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1863)

                          - locked <0x000000013ff107e0> (a org.eclipse.osgi.framework.internal.core.Framework)

                          at java.lang.Thread.run(Thread.java:744)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "CLI Requests Server" daemon prio=5 tid=0x00007f949222a000 nid=0xec03 runnable [0x000000015ed36000]

                         java.lang.Thread.State: RUNNABLE

                          at java.net.PlainSocketImpl.socketAccept(Native Method)

                          at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)

                          at java.net.ServerSocket.implAccept(ServerSocket.java:530)

                          at java.net.ServerSocket.accept(ServerSocket.java:498)

                          at org.netbeans.CLIHandler$Server.run(CLIHandler.java:1100)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Active Reference Queue Daemon" daemon prio=5 tid=0x00007f94918ef800 nid=0xea03 in Object.wait() [0x000000015e516000]

                         java.lang.Thread.State: TIMED_WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x00000001400091e8> (a java.lang.ref.ReferenceQueue$Lock)

                          at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

                          - locked <0x00000001400091e8> (a java.lang.ref.ReferenceQueue$Lock)

                          at org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.java:180)

                          - locked <0x00000001400091e8> (a java.lang.ref.ReferenceQueue$Lock)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "TimerQueue" daemon prio=5 tid=0x00007f949184c000 nid=0xcd03 waiting on condition [0x00000001593e0000]

                         java.lang.Thread.State: TIMED_WAITING (parking)

                          at sun.misc.Unsafe.park(Native Method)

                          - parking to wait for  <0x000000014027e748> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

                          at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

                          at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)

                          at java.util.concurrent.DelayQueue.take(DelayQueue.java:220)

                          at javax.swing.TimerQueue.run(TimerQueue.java:171)

                          at java.lang.Thread.run(Thread.java:744)

                       

                         Locked ownable synchronizers:

                          - <0x00000001403d22f8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

                       

                      "Java2D Disposer" daemon prio=5 tid=0x00007f9491041000 nid=0xcb03 in Object.wait() [0x0000000159195000]

                         java.lang.Thread.State: WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x000000014006cc30> (a java.lang.ref.ReferenceQueue$Lock)

                          at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

                          - locked <0x000000014006cc30> (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:744)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Java2D Queue Flusher" daemon prio=5 tid=0x00007f949106a000 nid=0xc107 in Object.wait() [0x0000000157e9e000]

                         java.lang.Thread.State: TIMED_WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x000000014011cf60> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)

                          at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:208)

                          - locked <0x000000014011cf60> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "AWT-EventQueue-0" prio=5 tid=0x00007f949215b000 nid=0xbc07 waiting on condition [0x0000000157d9b000]

                         java.lang.Thread.State: WAITING (parking)

                          at sun.misc.Unsafe.park(Native Method)

                          - parking to wait for  <0x00000001401528b8> (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:543)

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

                          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=5 tid=0x00007f9492875800 nid=0x750b in Object.wait() [0x00000001558a9000]

                         java.lang.Thread.State: WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x000000014027e8b0> (a java.lang.Object)

                          at java.lang.Object.wait(Object.java:503)

                          at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:287)

                          - locked <0x000000014027e8b0> (a java.lang.Object)

                          at java.lang.Thread.run(Thread.java:744)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "AppKit Thread" daemon prio=5 tid=0x00007f949183e800 nid=0x507 runnable [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Service Thread" daemon prio=5 tid=0x00007f9491808000 nid=0x5303 runnable [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "C2 CompilerThread1" daemon prio=5 tid=0x00007f9492808000 nid=0x5103 waiting on condition [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "C2 CompilerThread0" daemon prio=5 tid=0x00007f9492068800 nid=0x4f03 waiting on condition [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Signal Dispatcher" daemon prio=5 tid=0x00007f9492060800 nid=0x4d03 runnable [0x0000000000000000]

                         java.lang.Thread.State: RUNNABLE

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Finalizer" daemon prio=5 tid=0x00007f949204c800 nid=0x3903 in Object.wait() [0x00000001534d8000]

                         java.lang.Thread.State: WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x0000000140187818> (a java.lang.ref.ReferenceQueue$Lock)

                          at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

                          - locked <0x0000000140187818> (a java.lang.ref.ReferenceQueue$Lock)

                          at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)

                          at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "Reference Handler" daemon prio=5 tid=0x00007f9491805800 nid=0x3703 in Object.wait() [0x00000001533d5000]

                         java.lang.Thread.State: WAITING (on object monitor)

                          at java.lang.Object.wait(Native Method)

                          - waiting on <0x00000001401872d8> (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 <0x00000001401872d8> (a java.lang.ref.Reference$Lock)

                       

                         Locked ownable synchronizers:

                          - None

                       

                      "VM Thread" prio=5 tid=0x00007f949204a000 nid=0x3503 runnable

                       

                      "GC task thread#0 (ParallelGC)" prio=5 tid=0x00007f949200d000 nid=0x2503 runnable

                       

                      "GC task thread#1 (ParallelGC)" prio=5 tid=0x00007f9492800000 nid=0x2703 runnable

                       

                      "GC task thread#2 (ParallelGC)" prio=5 tid=0x00007f949200e000 nid=0x2903 runnable

                       

                      "GC task thread#3 (ParallelGC)" prio=5 tid=0x00007f9491802000 nid=0x2b03 runnable

                       

                      "GC task thread#4 (ParallelGC)" prio=5 tid=0x00007f9491803000 nid=0x2d03 runnable

                       

                      "GC task thread#5 (ParallelGC)" prio=5 tid=0x00007f9491803800 nid=0x2f03 runnable

                       

                      "GC task thread#6 (ParallelGC)" prio=5 tid=0x00007f9491804000 nid=0x3103 runnable

                       

                      "GC task thread#7 (ParallelGC)" prio=5 tid=0x00007f9491804800 nid=0x3303 runnable

                       

                      "VM Periodic Task Thread" prio=5 tid=0x00007f9492808800 nid=0x5503 waiting on condition

                       

                      JNI global references: 2345

                      • 8. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                        Michael N

                        Does this Jstack help?

                         

                        I dont see anything indicative...?

                         

                        Thanks

                        • 9. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                          Michael N

                          Any other ideas on how to debug this, I'm not sure why Sql Developer will not run.

                           

                          -mike

                          • 10. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                            Gary Graham-Oracle

                            Hi Mike,

                             

                            I guess the full thread dump from jstack is the same you posted in SQL Developer freezes at start (OSX 1.9.2)

                             

                            That discussion's original poster's jstack listing included a suspicious looking AppKit thread issue that jumped out at us (solution was to use JDK 1.8).  Your jstack listing shows AppKit as runnable, but without any similar stack trace, so while it is possible JDK 1.8 (which, by the way, is now in General Availability) might help, there is nothing to indicate you should expect it to solve the hang issue.

                             

                            Anyway, hangs are caused by deadlocks (none show in your jstack), a couple of other lockout types with similar results as a deadlock (not sure if jstack can detect those), or thread CPU starvation due to non-fair locking.  So if you do not see SQL Developer using CPU during the hang, the issue must be some type of lockout, otherwise it is starvation.  If you could manage to run jstack twice during a hang, with a time gap of, say, a minute or more between them, then a thread dump analyzer could take diff of the jstack listings and detect which threads are the long running ones.  That might narrow it down.

                             

                            Otherwise, the only other thing that looks interesting is the TimerQueue thread with the ReentrantLock$NonfairSync line, which also appears in the jstack from the other discussion.

                             

                            Regards,
                            Gary

                            SQL Developer Team 

                            • 11. Re: SQL Developer will not start, hangs with load screen, MAC Mavericks
                              Michael N

                              I downloaded the previous version Version 4.0.0.13 and it runs with no issues.

                               

                              I'll wait until the next version comes out and try it.

                               

                              thanks