In a perfect world, there would be no software bugs. Developers would always test their code. QA would find any scenarios and bugs the developers hadn’t already thought of. Regression tests would be complete and flawless. But alas, we can only afford to pay mere humans here, so we will have bugs from time to time.
Or sometimes you are trying to do something the software wasn’t designed for, or perhaps your machine has exhausted it’s resources trying to build the un-buildable.
When you run into problems, you will need help.
Developers need your help so they can help you. Surprisingly enough, feedback like this isn’t very helpful:
Your program isn’t working. How can I make it work?
When you are ready to work with us on the SQL Developer OTN forum, you will most likely be asked to run SQL Developer and capture the output from the command console. In case you need help with this, here is a step-by-step process you can follow in Windows 7 (should work in XP too.)
Open a windows command window
Start – Run – CMD
Once it’s open, click on the window icon and select ‘Defaults.’ Change the default buffer size to be something bigger, much bigger.
Note: you only need to do this once.
Navigate to your SQL Developer Installation Folder
Instead of running the ‘sqldeveloper.exe’ file in the root directory, we are going to go several sub-directories down. Find the ‘bin’ sub-directory and run the ‘sqldeveloper.exe’ there.
When you do this, a CMD window will open, and then you’ll see the SQL Developer application load.
Use SQL Developer as normal, until it ‘breaks’ or ‘hangs’
Now, you are ready to grab the nitty-gritty information that MIGHT tell the developer what is going wrong or happening in your scenario.
Click back into the CMD window
Send a Ctrl+Break or a Ctrl+Pause.
If you on a newer laptop that doesn’t have this key, be sure to check the ‘Fn’ subset of keys. If you need to map the BREAK or PAUSE buttons, this article might help.
You can also try the on-screen keyboard in windows – just type ‘OSK’ in your START – RUN prompt.
Copy the logging information from the command window – all of it
Open a case with Oracle Support or Start a Thread on the Forums
Or email me. If you’re on my blog reading this, it’s the least I can do to help
Now, before you hit ‘Send’ or ‘Post’ or ‘Submit’ – be sure to add a brief description of what you were doing in the application when you ran into the problem. Even if you were doing ‘nothing,’ let us know how many connections you had open, what windows were active, etc. The more you can tell us, the higher your odds go up to getting a quick fix or at least an answer as to what is happening.
Also include the following information:
- The version of SQL Developer you are running
- The version of the JDK you are using
- The OS you are using
- The version of Oracle you are connected to
Now, don’t be surprised if you get asked to upgrade to a supported configuration, say ‘version 3.1 and the 1.6 JDK.’ Supporting older versions of software is fun, and while we enjoy a challenge, it may be easier for you to upgrade your way out of the problem at hand.




Twitter
RSS
GooglePlus
Facebook
Aug 07, 2012 @ 17:15:33
Can you spell this out for a Mac?
Aug 09, 2012 @ 11:38:36
+1 for similar Mac instructions.
Aug 09, 2012 @ 12:17:01
Joel & Mike – this is on my to-do list. The developers may prefer just a jstack dump – “jstack” Once I find out for sure, I’ll update the post.
Aug 27, 2012 @ 17:20:36
Completion insight doesn’t work. Here is the version info from help/about.
Java(TM) Platform 1.6.0_24
Oracle IDE 3.1.07.42
Versioning Support 3.1.07.42
XP
More version info.
select *
from v$version;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bi
PL/SQL Release 10.2.0.4.0 – Production
“CORE 10.2.0.4.0 Production”
TNS for Solaris: Version 10.2.0.4.0 – Production
NLSRTL Version 10.2.0.4.0 – Production
FYI: My java -version is 1.4.
I didn’t contain my SQL as it fails on everything.
debugging info:
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:485)
at java.util.TimerThread.mainLoop(Timer.java:483)
– locked (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
“Swing-Shell” daemon prio=6 tid=0x406d5400 nid=0×1594 waiting on condition [0x42
99f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
– parking to wait for (a java.util.concurrent.locks.Abstra
ctQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.jav
a:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.ja
va:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFol
derManager2.java:492)
at java.lang.Thread.run(Thread.java:662)
“WaitCursor-Timer” prio=6 tid=0x4064d800 nid=0x5f4 in Object.wait() [0x4289f000]
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:485)
at java.util.TimerThread.mainLoop(Timer.java:483)
– locked (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
“Background Parser” prio=6 tid=0×40507800 nid=0x25c waiting on condition [0x421d
f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundPa
rser.java:137)
at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.j
ava:115)
at java.lang.Thread.run(Thread.java:662)
“Background Parser” prio=6 tid=0x404fe400 nid=0x6cc waiting on condition [0x420d
f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundPa
rser.java:137)
at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.j
ava:115)
at java.lang.Thread.run(Thread.java:662)
“Background Parser” prio=6 tid=0x403d0400 nid=0x1b2c waiting on condition [0x41f
df000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundPa
rser.java:137)
at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.j
ava:115)
at java.lang.Thread.run(Thread.java:662)
“TextBufferScavenger” prio=6 tid=0x403c8c00 nid=0xb54 in Object.wait() [0x41ddf0
00]
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:118)
– locked (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at oracle.ide.model.TextNode$FacadeBufferReference$PollingThread.run(Tex
tNode.java:1949)
“Timer queue for AWT thread” daemon prio=6 tid=0x4032a400 nid=0x1a5c in Object.w
ait() [0x41cdf000]
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:485)
at ice.util.awt.TimedAWTExecutor.nextElem(TimedAWTExecutor.java:108)
– locked (a java.lang.Object)
at ice.util.awt.TimedAWTExecutor.runScheduler(TimedAWTExecutor.java:130)
at ice.util.awt.TimedAWTExecutor$1.run(TimedAWTExecutor.java:19)
“Native Directory Watcher” prio=2 tid=0x3e79f800 nid=0x11f0 runnable [0x41bdf000
]
java.lang.Thread.State: RUNNABLE
at oracle.ide.natives.NativeHandler.enterWatcherThread(Native Method)
at oracle.ide.natives.NativeHandler$2.run(NativeHandler.java:252)
at java.lang.Thread.run(Thread.java:662)
“BaseTreeExplorer.NodeOpeningExecutor” prio=6 tid=0x3ec39400 nid=0x1b88 waiting
on condition [0x4271f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
– parking to wait for (a java.util.concurrent.locks.Abstra
ctQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.jav
a:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.ja
va:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:662)
“pool-2-thread-1″ prio=6 tid=0x3e989400 nid=0x31c waiting on condition [0x4261f0
00]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
– parking to wait for (a java.util.concurrent.SynchronousQ
ueue$TransferStack)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Sync
hronousQueue.java:422)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Synchron
ousQueue.java:323)
at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:857)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.ja
va:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:662)
“Scheduler” daemon prio=6 tid=0x3ef15000 nid=0x15c8 in Object.wait() [0x413af000
]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
– waiting on (a oracle.dbtools.raptor.backgroundTask.TaskLi
nkedList)
at java.lang.Object.wait(Object.java:485)
at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(Task
LinkedList.java:47)
– locked (a oracle.dbtools.raptor.backgroundTask.TaskLinked
List)
at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThrea
d.run(RaptorTaskManager.java:444)
“TimerQueue” daemon prio=6 tid=0x3ecc7800 nid=0xe54 in Object.wait() [0x42e7f000
]
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 (a javax.swing.TimerQueue)
at java.lang.Thread.run(Thread.java:662)
“Thread-5″ daemon prio=6 tid=0x3e473400 nid=0×1850 runnable [0x414af000]
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(Win32Prin
tServiceLookup.java:302)
“ChangeSetService” prio=2 tid=0x3ef51400 nid=0×910 in Object.wait() [0x412af000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
– waiting on (a oracle.jdevimpl.vcs.changeset.ChangeSetServ
ice)
at java.lang.Object.wait(Object.java:485)
at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetS
ervice.java:178)
– locked (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetSer
vice.java:199)
at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$200(ChangeSetSe
rvice.java:56)
at oracle.jdevimpl.vcs.changeset.ChangeSetService$2.run(ChangeSetService
.java:138)
at java.lang.Thread.run(Thread.java:662)
“TimedCache-Timer” daemon prio=6 tid=0x3da6d800 nid=0x1e44 in Object.wait() [0x3
e75f000]
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 (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
“JarIndex Timer” daemon prio=6 tid=0x3da3f400 nid=0×1430 in Object.wait() [0x3e2
5f000]
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 (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
“AWT-EventQueue-0″ prio=6 tid=0x3da12400 nid=0x1d5c in Object.wait() [0x3e02f000
]
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:485)
– locked (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:236)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.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=0x3d9f3000 nid=0×1984 runnable [0x3de1f000]
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=0x3d9f2400 nid=0x184c in Object.wait() [0x3dd1f000]
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 (a java.lang.Object)
at java.lang.Thread.run(Thread.java:662)
“Java2D Disposer” daemon prio=10 tid=0x3d9e1400 nid=0xef8 in Object.wait() [0x3d
c1f000]
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 (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=0x011f1400 nid=0x100c runnable [0x000000
00]
java.lang.Thread.State: RUNNABLE
“CompilerThread0″ daemon prio=10 tid=0x011eb000 nid=0x1fe8 waiting on condition
[0x00000000]
java.lang.Thread.State: RUNNABLE
“Attach Listener” daemon prio=10 tid=0x011e9800 nid=0x1d1c runnable [0x00000000]
java.lang.Thread.State: RUNNABLE
“Signal Dispatcher” daemon prio=10 tid=0x011e8400 nid=0x130c waiting on conditio
n [0x00000000]
java.lang.Thread.State: RUNNABLE
“Finalizer” daemon prio=8 tid=0x011da400 nid=0x1c2c in Object.wait() [0x3d36f000
]
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 (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=0x011d5c00 nid=0x16a0 in Object.wait() [0
x3d26f000]
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 (a java.lang.ref.Reference$Lock)
“main” prio=6 tid=0x00bc7400 nid=0x1fe4 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
“VM Thread” prio=10 tid=0x011d1c00 nid=0×1050 runnable
“VM Periodic Task Thread” prio=10 tid=0×01204000 nid=0×1728 waiting on condition
JNI global references: 2687
Heap
def new generation total 39424K, used 21691K [0×03370000, 0x05e30000, 0x108c0
000)
eden space 35072K, 61% used [0×03370000, 0x0489edb8, 0x055b0000)
from space 4352K, 0% used [0x059f0000, 0x059f0000, 0x05e30000)
to space 4352K, 0% used [0x055b0000, 0x055b0000, 0x059f0000)
tenured generation total 87424K, used 33620K [0x108c0000, 0x15e20000, 0x2b370
000)
the space 87424K, 38% used [0x108c0000, 0×12995188, 0×12995200, 0x15e20000)
compacting perm gen total 57856K, used 57633K [0x2b370000, 0x2ebf0000, 0x3b370
000)
the space 57856K, 99% used [0x2b370000, 0x2ebb8568, 0x2ebb8600, 0x2ebf0000)
No shared spaces configured.
I also did the debug and here it is.
Feb 19, 2013 @ 04:21:03
Hello,
In our company we’re working a lot with SqlDeveloper and get fun with it.
Since somedays we move our development database to a new server, SQLDeveloper hang when we tried to do a Quick DDL from VIEW .
Once it is in his loop we are unable to close the connection or quit the program without killing it or sometimes we got “Erreur d’E/S: Connection reset” (sorry french language).
Our release is now 3.2.20.09 with JDK 1.6.0_24 and it was the same with (3.1) .
Do you have any clue for us to investigate ?
I got the trace from the cmd window as you spécified in your post and can send it to you if you give me your email.
Thanks for answering
Regards
Feb 19, 2013 @ 10:10:08
Do you get the same behavior if you simply go to the ‘SQL’ page in the view editor?
My first guess is what we’re querying a data dictionary view and the database doesn’t like it. You could ask your dba when the last time they collected stats on the data dictionary. You could also run SQLDev in debug mode and see what query is causing the db to get upset.
Feb 19, 2013 @ 10:43:02
Yes same behaviour from “SQL” or from select dbms_metadat.getddl() , sounds more related to network configuration on WAN , is there any issue that you know ? or any parameter settings somewhere ?
Feb 19, 2013 @ 11:47:54
What makes you think it’s a network issue?
Run that getddl() call in sqlplus on the db server: if it hangs there, it’s the db, not the network.
Feb 19, 2013 @ 12:03:34
I done that getddl() call directly connected to the db using sqlplus and it works.
I tried with an OCI connection and put trace on it , as soon as the result of the getddl is sent back to the client error like this one is seen :
///////////////////////////////////////////////////////////////
Error found. Error Stack follows:
id:0
Operation code:68
NS Error 1:12547
NS Error 2:12560
NT Generic Error:517
Protocol Error:104
OS Error:0
NS & NT Errors Translation
12547, 00000 “TNS:lost contact”
// *Cause: Partner has unexpectedly gone away, usually during process
// startup.
// *Action: Investigate partner application for abnormal termination. On an
// Interchange, this can happen if the machine is overloaded.
/
12560, 00000 “TNS:protocol adapter error”
// *Cause: A generic protocol adapter error occurred.
// *Action: Check addresses used for proper protocol specification. Before
// reporting this error, look at the error stack and check for lower level
// transport errors.For further details, turn on tracing and reexecute the
// operation. Turn off tracing when the operation is complete.
/
00517, 00000 “Lost contact”
// *Cause: Partner has unexpectedly gone away.
// *Action: Investigate partner application for abnormal termination.
/
Feb 19, 2013 @ 12:06:38
Interesting…are you using the OCI thick driver connect option in SQL Developer? If so, if you disable it and go in straight with JDBC, does it ‘work?’
Either way I’d consider opening a ticket with MOS.
Feb 19, 2013 @ 12:14:34
yes when i tested OCI, i used OCI thick driver connect option in SQL Developer, using JDBC gave me the same hang issue (but without any trace) . I just check the disabling of the OOB on JDBC and it seems better (AddVMOption -Doracle.net.disableOob=true).
Have to confirm this during peek load. This was an old bug (9373409), and i first think it was corrected in the 3.2 release, but let see … Thanks for your support , will try with MOS for continue.