6 Replies Latest reply on Jun 27, 2014 7:33 AM by vasso123 Branched to a new discussion.

    SQL Developer v4.0.2 on Windows 7 64 bit hangs

    user6092357

      Hello,

       

      I installed SQL Developer 4.0.2 bundled with JRE7 and it hangs soon after being launched, the progress bar stops around 10%. Deleting "c:\Users\<username>\AppData\Roaming\SQL Developer" completely does not help.

       

      Is there any way to show debug details during the startup to understand why it is hanging?

       

      Thanks.

        • 1. Re: SQL Developer v4.0.2 on Windows 7 64 bit hangs
          Gary Graham-Oracle

          Is there any way to show debug details during the startup to understand why it is hanging?

          Sure. One way is to start the product from a command line console, take a full thread dump when it hangs, and post the results back here.  Here are some detailed instructions:  http://www.thatjeffsmith.com/archive/2012/06/how-to-collect-debug-info-for-oracle-sql-developer/

           

          Or just start the product as you normally do.  When a hang occurs, take a full thread dump using these Java utilities from a command line console:

          1. jps -l                                             (obtain pid (process id) of JVM running SQL Dev -- look for oracle.ide.osgi.boot.OracleIdeLauncher as of 4.0).

          2. jstack <pid>  > myHang.log  (take the dump and redirect it to a log file)

          Anyway, depending on the OS and JDK version, there are several possible bugs that can cause hangs aside from the more typical issues of a corrupt installation or a corrupt user settings migration.  Or it might even be a Windows permission issue on the C-drive, as one poster discovers here:

          SQLDeveloper 4.0.0 Hangs on start up (Windows 7)

           

          Regards,
          Gary

          SQL Developer Team

          1 person found this helpful
          • 2. Re: SQL Developer v4.0.2 on Windows 7 64 bit hangs
            user6092357

            Thank you Gary,

             

            this is the full dump that I obtained after deleting the SQL Developer folder under AppData, so it is like a "clean install":

             

            Microsoft Windows [Version 6.1.7601]

            Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

             

            2014-06-25 08:42:58

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

             

            "Flushing caches" prio=2 tid=0x000000000c55f000 nid=0x16f4 in Object.wait() [0x0

            00000000ebcf000]

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

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

                    - waiting on <0x00000000f3d5fc50> (a org.netbeans.Stamps$Worker)

                    at org.netbeans.Stamps$Worker.run(Stamps.java:824)

                    - locked <0x00000000f3d5fc50> (a org.netbeans.Stamps$Worker)

             

            "Thread-3" daemon prio=6 tid=0x000000000c55e800 nid=0x1314 in Object.wait() [0x0

            00000000eacf000]

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

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

                    - waiting on <0x00000000f21d2538> (a java.util.LinkedList)

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

                    at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractP

            references.java:1476)

                    - locked <0x00000000f21d2538> (a java.util.LinkedList)

             

            "Inactive RequestProcessor thread [Was:Folder recognizer/org.openide.loaders.Fol

            derList$ListTask]" daemon prio=6 tid=0x000000000c55d800 nid=0xbd4 in Object.wait

            () [0x000000000e9cf000]

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

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

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

                    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java

            :1989)

                    - locked <0x00000000f1282b90>

            (a java.lang.Object)

             

            c:\SAL\Software\DBA\sqldeveloper4\sqldeveloper\bin>"Framework Event Dispatcher"

            daemon prio=6 tid=0x000000000c55d000 nid=0xe10 in Object.wait() [0x000000000d8ff

            000]

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

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

                    - waiting on <0x00000000f3d340b8> (a org.eclipse.osgi.framework.eventmgr

            .EventManager$EventThread)

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

                    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextE

            vent(EventManager.java:400)

                    - locked <0x00000000f3d340b8> (a org.eclipse.osgi.framework.eventmgr.Eve

            ntManager$EventThread)

                    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Even

            tManager.java:336)

             

            "State Saver" prio=6 tid=0x000000000b657800 nid=0x22c in Object.wait() [0x000000

            000d71f000]

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

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

                    - waiting on <0x00000000f3c5d688> (a org.eclipse.osgi.internal.resolver.

            SystemState)

                    at org.eclipse.osgi.internal.baseadaptor.BaseStorage$StateSaver.run(Base

            Storage.java:1292)

                    - locked <0x00000000f3c5d688> (a org.eclipse.osgi.internal.resolver.Syst

            emState)

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

             

            "Framework Active Thread" prio=6 tid=0x000000000b706800 nid=0x144c in Object.wai

            t() [0x000000000d58f000]

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

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

                    - waiting on <0x00000000f3c5a898> (a org.eclipse.osgi.framework.internal

            .core.Framework)

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

            :1863)

                    - locked <0x00000000f3c5a898> (a org.eclipse.osgi.framework.internal.cor

            e.Framework)

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

             

            "Inactive RequestProcessor thread [Was:NbStatusDisplayer/org.netbeans.core.NbSta

            tusDisplayer$MessageImpl]" daemon prio=2 tid=0x000000000b170000 nid=0xa50 in Obj

            ect.wait() [0x000000000c3bf000]

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

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

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

                    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java

            :1989)

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

             

            "RequestProcessor queue manager" daemon prio=6 tid=0x000000000b1c7000 nid=0xf54

            in Object.wait() [0x000000000c1ef000]

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

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

                    - waiting on <0x00000000f3d2be98> (a java.lang.Class for org.openide.uti

            l.RequestProcessor$TickTac)

                    at org.openide.util.RequestProcessor$TickTac.obtainFirst(RequestProcesso

            r.java:2267)

                    - locked <0x00000000f3d2be98> (a java.lang.Class for org.openide.util.Re

            questProcessor$TickTac)

                    at org.openide.util.RequestProcessor$TickTac.run(RequestProcessor.java:2

            243)

             

            "Active Reference Queue Daemon" daemon prio=2 tid=0x0000000009f6e000 nid=0x13f8

            in Object.wait() [0x000000000bfef000]

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

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

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

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

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

                    at org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.ja

            va:180)

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

             

            "TimerQueue" daemon prio=6 tid=0x0000000009dd8800 nid=0x17c4 waiting on conditio

            n [0x000000000b98f000]

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

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

                    - parking to wait for  <0x00000000f3df6ed0> (a java.util.concurrent.lock

            s.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:745)

             

            "AWT-EventQueue-0" prio=6 tid=0x0000000009e70000 nid=0x1688 waiting on condition

            [0x000000000a7bf000]

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

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

                    - parking to wait for  <0x00000000f3ddcf08> (a java.util.concurrent.lock

            s.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(EventDispatchThre

            ad.java:211)

                    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.

            java:161)

                    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

            ad.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)

             

            "AWT-Windows" daemon prio=6 tid=0x0000000009e6f800 nid=0x1528 runnable [0x000000

            000a57f000]

               java.lang.Thread.State: RUNNABLE

                    at sun.awt.windows.WToolkit.eventLoop(Native Method)

                    at sun.awt.windows.WToolkit.run(WToolkit.java:307)

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

             

            "AWT-Shutdown" prio=6 tid=0x0000000009e6e800 nid=0x113c in Object.wait() [0x0000

            00000a47f000]

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

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

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

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

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

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

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

             

            "Java2D Disposer" daemon prio=10 tid=0x0000000009e6e000 nid=0x12a8 in Object.wai

            t() [0x000000000a37f000]

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

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

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

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

                    - locked <0x00000000f3d06708> (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)

             

            "Service Thread" daemon prio=6 tid=0x00000000084c0000 nid=0x15d4 runnable [0x000

            0000000000000]

               java.lang.Thread.State: RUNNABLE

             

            "C2 CompilerThread1" daemon prio=10 tid=0x00000000084be800 nid=0x1510 waiting on

            condition [0x0000000000000000]

               java.lang.Thread.State: RUNNABLE

             

            "C2 CompilerThread0" daemon prio=10 tid=0x00000000084b9800 nid=0x440 waiting on

            condition [0x0000000000000000]

               java.lang.Thread.State: RUNNABLE

             

            "Attach Listener" daemon prio=10 tid=0x00000000084b9000 nid=0xba8 runnable [0x00

            00000000000000]

               java.lang.Thread.State: RUNNABLE

             

            "Signal Dispatcher" daemon prio=10 tid=0x00000000084b2000 nid=0xb1c waiting on c

            ondition [0x0000000000000000]

               java.lang.Thread.State: RUNNABLE

             

            "Finalizer" daemon prio=8 tid=0x000000000845e000 nid=0x104c in Object.wait() [0x

            00000000097bf000]

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

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

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

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

                    - locked <0x00000000ce453a28> (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)

             

            "Reference Handler" daemon prio=10 tid=0x0000000008455000 nid=0x884 in Object.wa

            it() [0x00000000096bf000]

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

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

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

             

            "main" prio=6 tid=0x000000000233b800 nid=0x1290 waiting on condition [0x00000000

            00000000]

               java.lang.Thread.State: RUNNABLE

             

            "VM Thread" prio=10 tid=0x0000000008451000 nid=0x154c runnable

             

            "GC task thread#0 (ParallelGC)" prio=6 tid=0x0000000002351000 nid=0x15dc runnabl

            e

             

            "GC task thread#1 (ParallelGC)" prio=6 tid=0x0000000002353000 nid=0x1770 runnabl

            e

             

            "GC task thread#2 (ParallelGC)" prio=6 tid=0x0000000002354800 nid=0x129c runnabl

            e

             

            "GC task thread#3 (ParallelGC)" prio=6 tid=0x0000000002356000 nid=0x1220 runnabl

            e

             

            "VM Periodic Task Thread" prio=10 tid=0x00000000084ca000 nid=0x1390 waiting on c

            ondition

             

            JNI global references: 754

             

            Heap

            PSYoungGen      total 72704K, used 65869K [0x00000000ef500000, 0x00000000f41000

            00, 0x0000000100000000)

              eden space 67584K, 89% used [0x00000000ef500000,0x00000000f305a368,0x00000000f

            3700000)

              from space 5120K, 99% used [0x00000000f3c00000,0x00000000f40f91b8,0x00000000f4

            100000)

              to   space 5120K, 0% used [0x00000000f3700000,0x00000000f3700000,0x00000000f3c

            00000)

            ParOldGen       total 87552K, used 14717K [0x00000000ce000000, 0x00000000d35800

            00, 0x00000000ef500000)

              object space 87552K, 16% used [0x00000000ce000000,0x00000000cee5f4a0,0x0000000

            0d3580000)

            PSPermGen       total 23040K, used 22569K [0x00000000be000000, 0x00000000bf6800

            00, 0x00000000ce000000)

              object space 23040K, 97% used [0x00000000be000000,0x00000000bf60a4e8,0x0000000

            0bf680000)

             

            Salvatore

            • 3. Re: SQL Developer v4.0.2 on Windows 7 64 bit hangs
              Gary Graham-Oracle

              Salvatore,

               

              Thank you for providing the full thread dump.  Unfortunately, examining it shows no deadlock or other type of blocking situation.  Also, neither of the 2 known hang bugs on Windows is the culprit.  Those are:

              1) Java call to native code hangs when painting something on screen; 

              2) SQL Dev hangs incorrectly trying to open a connection to support completion insight on a sql file opened in an prior session.

              I do see two threads (including the main event dispatch thread) running at the same priority "waiting on condition" that seem suspicious -- everything seems to point to waiting on some resource outside of the JVM.  Have you tried installing and running SQL Developer from a different drive (even a flash drive)?

               

              Regards,

              Gary 

              • 4. Re: SQL Developer v4.0.2 on Windows 7 64 bit hangs
                vasso123

                Hello, I have exactly the same problem. I installed the latest version of sql developer in order to solve another problem and now it hangs.

                • 5. Re: SQL Developer v4.0.2 on Windows 7 64 bit hangs
                  Gary Graham-Oracle

                  Even though the symptom is the same, the problem's root may differ.  Provide some details... Did you also use the 64-bit Windows download with the JDK?  So, there was no prompt for a JDK location?  And did the hang occur before or after any prompt to migrate user settings from a prior install?

                   

                  If you wish, you can provide a full thread dump of the hang just like the original poster -- it may show something.   I prefer you use the jstack technique -- it typically requires less reformatting for me.

                   

                  Another approach is to assume your user settings are corrupt.  If you wish to check for such corruption without renaming or deleting what you already have (assuming WIndow Vista or higher) under %APPDATA%\Roaming\SQL Developer\system4.0.2.15.21, then just add the following to your install's sqldeveloper.conf file:

                  AddVMOption -Dide.user.dir=<empty_folder_where_system4.0.2.15.21_should_go>  (I usually have something like D:/SQLDev/.sqldeveloper)

                  I typically also install the problematic copy of SQL Developer under the D:\SQLDev folder, sometimes after downloading it again.  Remember, a bad download archive tends not to unzip at all, but sometimes unzip on a good archive can still produce a bad install.  Post back here with your results -- perhaps it will also help the OP.

                   

                  Regards,

                  Gary

                  • 6. Re: SQL Developer v4.0.2 on Windows 7 64 bit hangs
                    vasso123

                    Thanks, I used AddVMOption -Dide.user.dir in my sqldeveloper.conf file and it worked.