Forum Stats

  • 3,760,455 Users
  • 2,251,709 Discussions
  • 7,871,131 Comments

Discussions

SQL Developer v4.0.2 on Windows 7 64 bit hangs

user6092357
user6092357 Member Posts: 3
edited Jun 27, 2014 3:33AM in SQL Developer

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.

Tagged:

Answers

  • Gary Graham-Oracle
    Gary Graham-Oracle Member Posts: 3,256 Bronze Crown
    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

    Gary Graham-Oracle
  • 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

  • Gary Graham-Oracle
    Gary Graham-Oracle Member Posts: 3,256 Bronze Crown

    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 

  • vasso123
    vasso123 Member Posts: 9

    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.

  • Gary Graham-Oracle
    Gary Graham-Oracle Member Posts: 3,256 Bronze Crown

    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

  • vasso123
    vasso123 Member Posts: 9

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

This discussion has been closed.