This discussion is archived
10 Replies Latest reply: Jun 12, 2013 11:09 AM by Gary Graham RSS

Version 3.2.20.09.87 often hangs in endless loop

user8898185 Newbie
Currently Being Moderated
Hope the screenshot of the stack helps somehow...

[http://www.imagebam.com/image/403bed240969000]

Also when this happens the sqldeveloper steals window focus and you can't even keep the taskmanager in front to kill sqldeveloper. For this to happen you don't need to do anything just let the program idle for a couple of hours while it is connected to a database.

Edited by: user8898185 on 04.03.2013 01:39
  • 1. Re: Version 3.2.20.09.87 often hangs in endless loop
    Gary Graham Expert
    Currently Being Moderated
    Hi,

    This is one of those situations requiring more debugging information -- a detailed test case + full thread dump, for example. Please describe what product functionality you used prior to letting it idle for a couple of hours while connected to a database. Which database platform (e.g, Oracle)? Which SQL Developer version, O/S, O/S version, java version, OCI or thin JDBC driver, etc? From the console trace I believe you are using either a 3.1 or 3.2 version, but not really sure.

    For how to collect a full thread dump...
    http://www.thatjeffsmith.com/archive/2012/06/how-to-collect-debug-info-for-oracle-sql-developer/

    You can read about similar issues (one followed up on and fixed, the other apparently not) on this forum:
    30EA3/30EA2: Hangs navigating through the grid
    31EA3 hangs on commit in data grid of opened table

    Many different actions trigger a background task and show a modal dialog. Taking one or more full thread dumps over a short time period can help show which background tasks are getting started.

    Regards,
    Gary
    SQL Developer Team
  • 2. Re: Version 3.2.20.09.87 often hangs in endless loop
    user8898185 Newbie
    Currently Being Moderated
    In the stack trace you can see the it wants to show a "modal dialog". Why do you need to show modal dialogs in the first place? Actually all programmers I know, know how to use a GUI and don't need to be guided by modal input. Actually its the other way arround I often put a dialog aside to check some stuff before I answer it which I can't do if it is modal.

    Edited by: user8898185 on 06.03.2013 08:34
  • 3. Re: Version 3.2.20.09.87 often hangs in endless loop
    Gary Graham Expert
    Currently Being Moderated
    Answering my questions with an unrelated question does not advance our cause. For a quick distraction, see maieutic:
    http://dictionary.reference.com/browse/maieutic?s=t

    Your issue is real; we have seen at least one other such case which, thankfully, got fixed. So you can take your chances and hope some on-going development enhancements or maintenance fixes this, or help us help you by providing (lots) more details.

    Thanks,
    Gary
  • 4. Re: Version 3.2.20.09.87 often hangs in endless loop
    998597 Newbie
    Currently Being Moderated
    I have the same problem since today. There is no stack trace and the problem appears each time I want to refresh the data in table view (clicking the refresh button). It seems like there should be a window with "waiting for results" but it's not appearing on screen (maybe it's hidden or has negative coordinates). Sometimes the data is refreshed but it takes 3 seconds for SQL Developer to unfreeze. Very weird.
  • 5. Re: Version 3.2.20.09.87 often hangs in endless loop
    Gary Graham Expert
    Currently Being Moderated
    Hi Wiktor,

    A 3 second refresh delay does not sound like "hangs in endless loop" -- perhaps 3 seconds just seems endless? If your issue is different, it is best to create a new thread.

    Anyway, scrolling / refreshing in the object editor may bring up a progress dialog if the delay in returning rows from the database is great enough. For example, given a table with a few thousand rows
    1. On a local database, with SQL Array Fetch Size set to the maximum value of 500, no dialog appears, refresh < 1 sec.
    2. On a remote database (ping = 70 millisec), dialog appears for approximately 2 to 3 sec before refresh completes.
    3. Possibly extremely wide tables, or columns containing BLOB/CLOB data would increase the processing time. 
    In fact, the dialog contains two buttons:
    1. Run in Background
    2. Cancel Task
    Perhaps in your environment, it somehow got set to "Run in Background"? Have you used View -> Task Progress?

    Hope this helps,
    Gary
  • 6. Re: Version 3.2.20.09.87 often hangs in endless loop
    998597 Newbie
    Currently Being Moderated
    Hi Gary,

    Thanks for answering. Yes, 3 seconds doesn't seem to be endless, I was writing at the same time that I'd seen it and at first it was "endless" (meaning I managed to find a way to kill the process after a minute or two) but later the time got reduced to 3 seconds. Maybe when I tried to regain window focus it took longer.

    I posted to this because I read the first post: "sqldeveloper steals window focus and you can't even keep the taskmanager in front to kill sqldeveloper" and it was the same thing that I observed several times today! I will apply your suggestions, thanks!
  • 7. Re: Version 3.2.20.09.87 often hangs in endless loop
    1001966 Newbie
    Currently Being Moderated
    I am getting error as "Your Database connection has been reset. Any Pending transactions or session state has been lost"
    my System configutaion as shown below:
    Win 7 Professional 32 Bit with 4 GB RAM
    JavaPlatform: 1.6.0_38
    Oracle IDE: 3.2.20.09.87
    Versioning Support: 3.2.20.0987

    Collected Debug information is as shown below... Please check it once and resolve the isseu...

    2013-04-09 17:21:03
    Full thread dump Java HotSpot(TM) Client VM (20.13-b02 mixed mode):

    "SwingWorker-pool-5-thread-2" daemon prio=6 tid=0x41527400 nid=0x2e54 waiting on condition [0x44e1f000]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x05720e08> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

    "status-0" prio=2 tid=0x41037800 nid=0x2de8 waiting on condition [0x44c1f000]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x11e90f20> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
    at oracle.ide.status.StatusExecutor$StatusQueue.take(StatusExecutor.java:329)
    at oracle.ide.status.StatusExecutor$StatusQueue.take(StatusExecutor.java:291)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

    "SwingWorker-pool-5-thread-1" daemon prio=6 tid=0x41037000 nid=0x2d8 waiting on condition [0x44b1f000]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x05720e08> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

    "Background Parser" prio=6 tid=0x41034400 nid=0x28b4 waiting on condition [0x439ef000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:140)
    at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
    at java.lang.Thread.run(Thread.java:662)

    "RaptorTask: Loading Children" prio=6 tid=0x41034000 nid=0x101c waiting on condition [0x42daf000]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x128cbd88> (a java.util.concurrent.SynchronousQueue$TransferStack)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:422)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
    at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:857)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

    "pool-4-thread-1" prio=6 tid=0x41034c00 nid=0x2c5c waiting on condition [0x43cef000]
    java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x141cd200> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

    "WeakDataReference polling" prio=2 tid=0x41036800 nid=0x2384 in Object.wait() [0x44a1f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x13cc52a0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at oracle.ide.util.WeakDataReference$Cleaner.run(WeakDataReference.java:88)
    at java.lang.Thread.run(Thread.java:662)

    "Background Parser" prio=6 tid=0x41035800 nid=0xcdc waiting on condition [0x43def000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:140)
    at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
    at java.lang.Thread.run(Thread.java:662)

    "TextBufferScavenger" prio=6 tid=0x41032000 nid=0x2ad8 in Object.wait() [0x437cf000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x136908d0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at oracle.ide.model.TextNode$FacadeBufferReference$PollingThread.run(TextNode.java:1949)

    "IconOverlayTracker Timer" prio=6 tid=0x41035000 nid=0xc0 in Object.wait() [0x44d1f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <0x134779b8> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

    "WaitCursor-Timer" prio=6 tid=0x41033800 nid=0x2bb0 in Object.wait() [0x43aef000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <0x12b88f00> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

    "BaseTreeExplorer.NodeOpeningExecutor" prio=6 tid=0x41033000 nid=0x1150 waiting on condition [0x438ef000]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x12886ae0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

    "Scheduler" daemon prio=6 tid=0x41032400 nid=0x2728 in Object.wait() [0x3fdbf000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(TaskLinkedList.java:47)
    - locked <0x12886e20> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
    at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThread.run(RaptorTaskManager.java:444)

    "Thread-9" daemon prio=6 tid=0x41030c00 nid=0x2e34 in Object.wait() [0x3f9cf000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x12858e28> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x12858e28> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at org.tmatesoft.svn.core.javahl.SVNClientImplTracker.run(SVNClientImplTracker.java:65)
    at java.lang.Thread.run(Thread.java:662)

    "ChangeSetService" prio=2 tid=0x41031800 nid=0x2514 in Object.wait() [0x432af000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x123d84f8> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
    at java.lang.Object.wait(Object.java:485)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetService.java:178)
    - locked <0x123d84f8> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetService.java:199)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$200(ChangeSetService.java:56)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService$2.run(ChangeSetService.java:138)
    at java.lang.Thread.run(Thread.java:662)

    "Thread-7" daemon prio=6 tid=0x41031400 nid=0x2fe8 runnable [0x3facf000]
    java.lang.Thread.State: RUNNABLE
    at sun.print.Win32PrintServiceLookup.notifyPrinterChange(Native Method)
    at sun.print.Win32PrintServiceLookup.access$100(Win32PrintServiceLookup.java:32)
    at sun.print.Win32PrintServiceLookup$PrinterChangeListener.run(Win32PrintServiceLookup.java:302)

    "TimerQueue" daemon prio=6 tid=0x41030400 nid=0xf48 in Object.wait() [0x431af000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at javax.swing.TimerQueue.run(TimerQueue.java:232)
    - locked <0x124da130> (a javax.swing.TimerQueue)
    at java.lang.Thread.run(Thread.java:662)

    "TimedCache-Timer" daemon prio=6 tid=0x3f523c00 nid=0x2d18 in Object.wait() [0x405cf000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x117104c8> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

    "JarIndex Timer" daemon prio=6 tid=0x3f4f5000 nid=0x2418 in Object.wait() [0x404cf000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x11710550> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

    "AWT-EventQueue-0" prio=6 tid=0x3eb8c800 nid=0x1534 in Object.wait() [0x3ffcf000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.awt.EventQueue.getNextEvent(EventQueue.java:509)
    - locked <0x11710608> (a java.awt.EventQueue)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

    "AWT-Windows" daemon prio=6 tid=0x3eb88400 nid=0x23b4 runnable [0x3f3ef000]
    java.lang.Thread.State: RUNNABLE
    at sun.awt.windows.WToolkit.eventLoop(Native Method)
    at sun.awt.windows.WToolkit.run(WToolkit.java:293)
    at java.lang.Thread.run(Thread.java:662)

    "AWT-Shutdown" prio=6 tid=0x3eb87c00 nid=0x2c30 in Object.wait() [0x3f1df000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265)
    - locked <0x11710778> (a java.lang.Object)
    at java.lang.Thread.run(Thread.java:662)

    "Java2D Disposer" daemon prio=10 tid=0x3eb60c00 nid=0x1dc in Object.wait() [0x3efff000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x11710810> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at sun.java2d.Disposer.run(Disposer.java:127)
    at java.lang.Thread.run(Thread.java:662)

    "Low Memory Detector" daemon prio=6 tid=0x01e02c00 nid=0x2a1c runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "C1 CompilerThread0" daemon prio=10 tid=0x01dfdc00 nid=0x27d8 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "Attach Listener" daemon prio=10 tid=0x01dfcc00 nid=0x2ba0 runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "Signal Dispatcher" daemon prio=10 tid=0x01df9c00 nid=0x1400 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "Finalizer" daemon prio=8 tid=0x01dcac00 nid=0x2cac in Object.wait() [0x3e48f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x11710a68> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

    "Reference Handler" daemon prio=10 tid=0x01dc9400 nid=0x274c in Object.wait() [0x3e38f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x11710af8> (a java.lang.ref.Reference$Lock)

    "main" prio=6 tid=0x01d2a800 nid=0x2984 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "VM Thread" prio=10 tid=0x01dc5c00 nid=0x1248 runnable

    "VM Periodic Task Thread" prio=10 tid=0x01e14800 nid=0x1558 waiting on condition

    JNI global references: 4602

    Heap
    def new generation total 39424K, used 32565K [0x041c0000, 0x06c80000, 0x11710000)
    eden space 35072K, 92% used [0x041c0000, 0x0618d680, 0x06400000)
    from space 4352K, 0% used [0x06840000, 0x06840000, 0x06c80000)
    to space 4352K, 0% used [0x06400000, 0x06400000, 0x06840000)
    tenured generation total 87424K, used 44079K [0x11710000, 0x16c70000, 0x2c1c0000)
    the space 87424K, 50% used [0x11710000, 0x1421bf88, 0x1421c000, 0x16c70000)
    compacting perm gen total 71168K, used 70981K [0x2c1c0000, 0x30740000, 0x3c1c0000)
    the space 71168K, 99% used [0x2c1c0000, 0x307116f8, 0x30711800, 0x30740000)
    No shared spaces configured.

    Thanks,
    Vijay.G
  • 8. Re: Version 3.2.20.09.87 often hangs in endless loop
    Gary Graham Expert
    Currently Being Moderated
    Hi Vijay,

    Well, you are the third poster looking for help under this subject but each of you seems to have a different issue. Let's please try to close discussion on this forum thread and get a new one started. So when/if you open a new thread...

    1. If you wish, feel free to add a link pointing back here.
    2. Let us know if your main problem is...
    a. Connection reset
    b. Endless looping
    c. Hang / slow response
    If (a), is the reconnect automatic or the result of using the Reconnect context menu option?
    If (b), is it a really a hang or does some sequence of UI actions occur repeatedly?
    If (c), the full thread dump does not help quite enough -- it shows no problem with synchronized code / locked monitors.

    In order to pursue (c), since any locking issue would instead involve java.util.concurrent.locks and the basic full thread dump does not include information on which thread owns the locked object, before taking the full thread dump, start SQL Developer by adding this JVM option
    -XX:+PrintConcurrentLocks
    on the command line or as a AddVMOption in your sqldeveloper.conf file. But even that may not help since the only point where concurrent locking may be an issue involves threads waiting on a condition (TIMED_WAIT) rather than on a locked object. Need more details to know where to go from here. Please start a new forum thread.

    Thanks,
    Gary
    SQL Developer Team
  • 9. Re: Version 3.2.20.09.87 often hangs in endless loop
    user8898185 Newbie
    Currently Being Moderated

    Hello, so finally I had a little spare time and wanted to collect some data since I have to cope with the error at least 2-3 times a day. At least when I run sqldeveloper with Java 7 instead of a certified version (up to 6u35 or something) it isn't possible for sqldeveloper to steal window focus anymore so this is a huge improvement from 6 to 7. Now I wanted to use jstack to provide the dump for sqldeveloper but I get following error that I didn't ever see before with any other application.

     

    C:\Users\user>jps -mlvV

    11528 sun.tools.jps.Jps -mlvV -Dapplication.home=C:\Program Files\Java\jdk1.7.0_21 -Xms8m

    11384  -Dexe4j.semaphoreName=c:_program files_jetbrains_intellij idea 12.1_bin_idea64.exe -Dexe4j.moduleName=C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\idea64.exe -Dexe4j.processCommFile=C:\Users\user\AppData\Local\Temp\e4j_p11384.tmp -Dexe4j.tempDir=C:\Users\user\AppData\Local\Temp\e4j349D.tmp_dir -Dexe4j.unextractedPosition=486561 -Djava.library.path=C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\..\.\bin;C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\..\.\bin;C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\..\.\bin;C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\..\.\bin;C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\..\.\bin;C:\Program Files\JetBrains\IntelliJ IDEA 12.1\bin\..\.\bin;D:\Programs\AutoMod\bin;D:\Programs\oracle\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-St

    16344  -Xmx640M -Xms128M -Xverify:none -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true -Dsun.java2d.ddoffscreen=false -Dwindows.shell.font.languages= -XX:MaxPermSize=256M -XX:+PrintConcurrentLocks -Doracle.jdbc.mapDateToTimestamp=false -Dide.AssertTracingDisabled=true -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true -Djava.util.logging.config.file=logging.conf -Dsqldev.debug=false -Dide.startingArg0="D:\Programs\sqldeveloper\sqldeveloper64.exe" -Dide.launcherProcessId=16344 -Dide.config_pathname=D:\Programs\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf -Dide.startingcwd=D:\Programs\sqldeveloper -Dide.shell.enableFileTypeAssociation=D:\Programs\sqldeveloper\sqldeveloper.exe -Dide.pref.dir.base=C:\Users\user\AppData\Roaming -Dide.work.dir.base=\\de5abgaf01a.emea.tld\user$o$

     

     

    C:\Users\user>jstack -l 16344 > dump.txt

    Exception in thread "main" java.lang.InternalError: Remote thread failed for unknown reason

            at sun.tools.attach.WindowsVirtualMachine.enqueue(Native Method)

            at sun.tools.attach.WindowsVirtualMachine.<init>(WindowsVirtualMachine.java:62)

            at sun.tools.attach.WindowsAttachProvider.attachVirtualMachine(WindowsAttachProvider.java:69)

            at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)

            at sun.tools.jstack.JStack.runThreadDump(JStack.java:159)

            at sun.tools.jstack.JStack.main(JStack.java:112)

     

     

    C:\Users\user>jstack -l 16344 > dump.txt

    16344: no such process

     

     

    C:\Users\user>

    C:\Users\user>jstack -l 4580 > dump.txt

    Exception in thread "main" java.lang.InternalError: Remote thread failed for unknown reason

            at sun.tools.attach.WindowsVirtualMachine.enqueue(Native Method)

            at sun.tools.attach.WindowsVirtualMachine.<init>(WindowsVirtualMachine.java:62)

            at sun.tools.attach.WindowsAttachProvider.attachVirtualMachine(WindowsAttachProvider.java:69)

            at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)

            at sun.tools.jstack.JStack.runThreadDump(JStack.java:159)

            at sun.tools.jstack.JStack.main(JStack.java:112)

  • 10. Re: Version 3.2.20.09.87 often hangs in endless loop
    Gary Graham Expert
    Currently Being Moderated

    Hi,

     

    I'm not at all sure what jstack getting that InternalError might mean, but here are a couple of things to consider:

     

    1. I have read that Ctrl-Break (from Windows console the Java app starts from) may produce a different dump than jstack -l.

    2. Security rules can cause unexpected issues when user folders are on network drives (your ide.work.dir.base, for example).

     

    So definitely try Ctrl-Break when running <sqldev_home>\sqldeveloper\sqldeveloper\bin\sqldeveloper.exe from the command line. Also consider changing the ide.work.dir.base setting.

     

    Happy debugging,

    Gary

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points