Showstopper... so back to Eclipse for me

I can't understand why this has started to happen but IntelliJ is now freezing when I get to a particular location in ruby code .. normally just after the dot when writing (for example)..
foo = Foo.new
foo.

Which sounds a lot like a problem with the autocomplete lookups for method names (which I then turned off).
No matter what I do.. IDEA freezes .. and does not return ... I can see my CPUs spinning via the system monitor of Ubuntu.

I cannot get around this.. every time I kill the process and restart IDEA .. It still trips up at the same spot.
The only stack trace I'm seeing has something like...

java.io.EOFException: input contained no data
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2983)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3026)
at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)

I tried upgrading IDEA to 7952 with org.jetbrains.plugins.ruby_5751 but I still have the same issue.

Can anyone offer any suggestsions? ... even just how to have IDEA spew out more meaningful debug.

In the mean time... I'm off back to Eclipse and RadRails... bummer.

10 comments
Comment actions Permalink

Hello Sam,

>I can't understand why this has started to happen but IntelliJ is now freezing when I get to a particular location in ruby code .. normally just after the dot >when writing (for example)..
>foo = Foo.new
>foo.

It seems like you face with some type inference problem. We fixed one critical bug several days ago.
Please try the last plugin version available in plugin repository #1.5.18930 with IDEA 7.0.4 (#7941).

Maybe this will fix your problem. If it doesn`t help, please let us know!

Regards,
Oleg

0
Comment actions Permalink

No cigar.
I have tried that plugin with intellij versions... 7938, 7941 and 7952.

Is there a ruby plugin I can try with diana 8733 ??

0
Comment actions Permalink

Hello Sam,

No cigar.
I have tried that plugin with intellij versions... 7938, 7941 and
7952.
Is there a ruby plugin I can try with diana 8733 ??


No, a Diana version of the Ruby plugin isn't released yet.

You can take a thread dump as described in http://support.jetbrains.com/kb/entry!default.jspa?categoryID=4&externalID=260&fromSearchPage=true
to see where the hang happens.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Thanks Dmitry, thread dump follows...

 (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	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:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)
	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:1)

"ApplicationImpl pooled thread" prio=10 tid=0x09762000 nid=0x1e92 waiting on condition [0x8ae82000..0x8ae83040]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x9509b2d0> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	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:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)
	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:1)

"ApplicationImpl pooled thread" prio=10 tid=0x08539800 nid=0x1e91 waiting on condition [0x8b17e000..0x8b17eec0]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x9509b2d0> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	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:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)
	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:1)

"Thread-9" daemon prio=10 tid=0x09424000 nid=0x1c2f waiting on condition [0x88666000..0x88666ec0]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.jivesoftware.smack.PacketWriter$KeepAliveTask.run(PacketWriter.java:476)
	at java.lang.Thread.run(Thread.java:619)

"JobScheduler pool" prio=10 tid=0x0972b800 nid=0x1c2e waiting on condition [0x886b7000..0x886b7f40]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x951a61f8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:220)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"Background process" prio=10 tid=0x8a067400 nid=0x1c2d waiting on condition [0x88a5c000..0x88a5cdc0]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"JobScheduler pool" prio=10 tid=0x09412800 nid=0x1c2c waiting on condition [0x88aad000..0x88aade40]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x951a61f8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:220)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"Smack Listener Processor" daemon prio=10 tid=0x08d68800 nid=0x1c2b in Object.wait() [0x88afe000..0x88aff0c0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x986e3260> (a org.jivesoftware.smack.PacketReader$2)
	at java.lang.Object.wait(Object.java:485)
	at org.jivesoftware.smack.PacketReader.processListeners(PacketReader.java:248)
	- locked <0x986e3260> (a org.jivesoftware.smack.PacketReader$2)
	at org.jivesoftware.smack.PacketReader.access$100(PacketReader.java:45)
	at org.jivesoftware.smack.PacketReader$2.run(PacketReader.java:76)

"Smack Packet Reader" daemon prio=10 tid=0x09bae800 nid=0x1c2a runnable [0x8906e000..0x8906f140]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
	at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
	- locked <0x98fc0da8> (a java.lang.Object)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:746)
	at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
	- locked <0x98fc1618> (a com.sun.net.ssl.internal.ssl.AppInputStream)
	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
	- locked <0x98fd7f50> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(InputStreamReader.java:167)
	at java.io.BufferedReader.fill(BufferedReader.java:136)
	at java.io.BufferedReader.read1(BufferedReader.java:187)
	at java.io.BufferedReader.read(BufferedReader.java:261)
	- locked <0x98fd7f50> (a java.io.InputStreamReader)
	at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2972)
	at org.xmlpull.mxp1.MXParser.more(MXParser.java:3026)
	at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
	at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
	at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:363)
	at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:45)
	at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:67)

"Smack Packet Writer" daemon prio=10 tid=0x09dd2000 nid=0x1c29 in Object.wait() [0x890bf000..0x890bffc0]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.jivesoftware.smack.PacketWriter.nextPacket(PacketWriter.java:235)
	- locked <0x986e39a0> (a java.util.LinkedList)
	at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:256)
	at org.jivesoftware.smack.PacketWriter.access$000(PacketWriter.java:39)
	at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:79)

"Timer-1" daemon prio=10 tid=0x09844000 nid=0x1c28 in Object.wait() [0x89110000..0x89111040]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x98451268> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.util.TimerThread.mainLoop(Timer.java:483)
	- locked <0x98451268> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

"WebServer thread pool" prio=10 tid=0x09842c00 nid=0x1c27 waiting on condition [0x89161000..0x89161ec0]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x951ad538> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"Change List Updater" prio=10 tid=0x08449000 nid=0x1c26 waiting on condition [0x891b2000..0x891b2f40]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x960b1588> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:582)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:575)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"Alarm pool" prio=10 tid=0x09415c00 nid=0x1c25 waiting on condition [0x89203000..0x89203dc0]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x951183f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"You got mail" prio=10 tid=0x8a02d000 nid=0x1c24 waiting on condition [0x89325000..0x89325e40]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at com.intellij.jetConnect.view.EnvelopeIcon.onAnimationMaxCycleReached(EnvelopeIcon.java:68)
	at com.intellij.util.ui.AnimatedIcon$1.onAnimationMaxCycleReached(AnimatedIcon.java:66)
	at com.intellij.util.ui.Animator$1.onTimer(Animator.java:83)
	at com.intellij.util.ui.Timer$1.run(Timer.java:56)

"Timer-0" daemon prio=10 tid=0x081fc800 nid=0x1c23 in Object.wait() [0x89376000..0x893770c0]
   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 <0x96aa0d68> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

"UserActivityMonitor thread" prio=10 tid=0x8a02cc00 nid=0x1c22 in Object.wait() [0x893c8000..0x893c8140]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at jetbrains.communicator.idea.monitor.UserActivityMonitor.run(UserActivityMonitor.java:129)
	- locked <0x95471c20> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

"WebServer thread pool" prio=10 tid=0x08a7a000 nid=0x1c21 waiting on condition [0x89418000..0x89418fc0]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x951ad538> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"/192.168.1.12 IDEtalk Multicast Thread" prio=10 tid=0x08a79c00 nid=0x1c20 runnable [0x89469000..0x8946a040]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	- locked <0x96aa1440> (a java.net.PlainDatagramSocketImpl)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	- locked <0x96aa1440> (a java.net.PlainDatagramSocketImpl)
	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
	- locked <0x9b0f4300> (a java.net.DatagramPacket)
	- locked <0x96c0e548> (a java.net.MulticastSocket)
	at jetbrains.communicator.p2p.MulticastPingThread.run(MulticastPingThread.java:112)

"User Monitor Thread" prio=10 tid=0x897f5400 nid=0x1c1f in Object.wait() [0x894ba000..0x894baec0]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at jetbrains.communicator.p2p.UserMonitorThread.waitForNextSearch(UserMonitorThread.java:212)
	- locked <0x96c0e6a8> (a java.lang.Object)
	at jetbrains.communicator.p2p.UserMonitorThread.run(UserMonitorThread.java:131)

"XML-RPC Weblistener" prio=10 tid=0x89a18c00 nid=0x1c1e runnable [0x8950b000..0x8950bf40]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0x96aa1490> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at org.apache.xmlrpc.WebServer.run(WebServer.java:453)
	at java.lang.Thread.run(Thread.java:619)

"Network Message Dispatcher" prio=10 tid=0x89ce5800 nid=0x1c1d in Object.wait() [0x8955c000..0x8955cdc0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x9699cf38> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:485)
	at jetbrains.communicator.core.impl.dispatcher.AsyncMessageDispatcherImpl.run(AsyncMessageDispatcherImpl.java:76)
	- locked <0x9699cf38> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

"Refreshing filesystem" prio=10 tid=0x089b2800 nid=0x1c1c waiting on condition [0x895ad000..0x895ade40]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"FS Synchronizer" prio=10 tid=0x08bc3000 nid=0x1c1b waiting on condition [0x895fe000..0x895ff0c0]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x9660ca90> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"You got mail" prio=10 tid=0x092b7400 nid=0x1c18 waiting on condition [0x8af66000..0x8af67040]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"TimerQueue" daemon prio=10 tid=0x089a6000 nid=0x1c14 in Object.wait() [0x8afb7000..0x8afb7f40]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at javax.swing.TimerQueue.run(TimerQueue.java:236)
	- locked <0x961a4060> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Thread.java:619)

"JetConnect reader" prio=10 tid=0x8ba6ac00 nid=0x1c11 waiting on condition [0x8b46b000..0x8b46c0c0]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at com.intellij.jetConnect.reader.JetReader$1.run(JetReader.java:177)

"XML-RPC Weblistener" prio=10 tid=0x086c1000 nid=0x1bff runnable [0x8b4bc000..0x8b4bcf40]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0x9509b890> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at org.apache.xmlrpc.WebServer.run(WebServer.java:453)
	at java.lang.Thread.run(Thread.java:619)

"File System Tracker" prio=10 tid=0x086c9400 nid=0x1bfe waiting on condition [0x8b50d000..0x8b50ddc0]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x9509bca8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:317)
	at com.intellij.openapi.vfs.impl.watcher.FileSystemTrackerImpl$1.run(FileSystemTrackerImpl.java:9)
	- locked <0x9526e260> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

"Progress Cancel Checker" prio=10 tid=0x086bd800 nid=0x1bfd waiting on condition [0x8bf75000..0x8bf75e40]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:3)

"AWT-EventQueue-1" prio=10 tid=0x8bcbec00 nid=0x1bfc runnable [0x8b967000..0x8b9690c0]
   java.lang.Thread.State: RUNNABLE
	at java.util.ArrayList.size(ArrayList.java:177)
	at java.util.AbstractList$Itr.hasNext(AbstractList.java:339)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.duckAnd(RTypeUtil.java:414)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.smartJoinTypes(RTypeUtil.java:400)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.joinOr(RTypeUtil.java:379)
	at org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.types.TypesSemilattice.join(TypesSemilattice.java:44)
	at org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.types.TypesSemilattice.join(TypesSemilattice.java:28)
	at org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.DFAEngine.join(DFAEngine.java:113)
	at org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.DFAEngine.performDFA(DFAEngine.java:87)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.types.TypeInferenceHelper.inferLocalVariablesTypes(TypeInferenceHelper.java:92)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.types.TypeInferenceHelper.inferLocalVariableType(TypeInferenceHelper.java:78)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.resolve.scope.impl.ScopeVariableImpl.getType(ScopeVariableImpl.java:81)
	at org.jetbrains.plugins.ruby.ruby.lang.psi.impl.variables.RIdentifierImpl.getType(RIdentifierImpl.java:128)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.references.RQualifiedReference.getRefObjectType(RQualifiedReference.java:298)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.references.RQualifiedReference.multiResolveToSymbols(RQualifiedReference.java:224)
	at org.jetbrains.plugins.ruby.ruby.codeInsight.resolve.ResolveUtil.resolveToSymbols(ResolveUtil.java:128)
	at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.jruby.javasupport.JavaMethod.invokeWithExceptionHandling(JavaMethod.java:250)
	at org.jruby.javasupport.JavaMethod.invoke_static(JavaMethod.java:230)
	at org.jruby.javasupport.JavaClass$StaticMethodInvoker.execute(JavaClass.java:361)
	at org.jruby.internal.runtime.methods.SimpleCallbackMethod.call(SimpleCallbackMethod.java:67)
	at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:241)
	at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:150)
	at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:381)
	at ruby.jit.ruby.home.sam.dev_minus_helper.idea_minus_7952.plugins.ruby.rb.actions.qualified_name_to_include_class.isAvailable23132820_32986216.__file__(/home/sam/dev-helper/idea-7952/plugins/ruby/rb/actions/qualified_name_to_include_class.rb:51)
	at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:341)
	at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:195)
	at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:486)
	at ruby.jit.ruby.home.sam.dev_minus_helper.idea_minus_7952.plugins.ruby.rb.util.reloadable_intention_action.isAvailable20748372_32986216.__file__(/home/sam/dev-helper/idea-7952/plugins/ruby/rb/actions/../util/reloadable_intention_action.rb:28)
	at ruby.jit.ruby.home.sam.dev_minus_helper.idea_minus_7952.plugins.ruby.rb.util.reloadable_intention_action.isAvailable20748372_32986216.__file__(/home/sam/dev-helper/idea-7952/plugins/ruby/rb/actions/../util/reloadable_intention_action.rb)
	at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:138)
	at org.jruby.RubyObject.send(RubyObject.java:2050)
	at org.jruby.RubyObjectInvoker$send_method_0_0.call(Unknown Source)
	at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:134)
	at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:279)
	at org.jruby.ast.CallNode.interpret(CallNode.java:163)
	at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
	at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
	at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
	at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:203)
	at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:191)
	at org.jruby.runtime.BlockBody.call(BlockBody.java:64)
	at org.jruby.runtime.Block.call(Block.java:96)
	at org.jruby.RubyProc.call(RubyProc.java:202)
	at org.jruby.RubyProc.call(RubyProc.java:189)
	at org.jruby.javasupport.Java$5.invoke(Java.java:1165)
	at $Proxy38.isAvailable(Unknown Source)
	at org.jetbrains.plugins.ruby.ruby.actions.intention.RubyIntentionActionClassLoaderHack.isAvailable(RubyIntentionActionClassLoaderHack.java:50)
	at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getActionsToShow(ShowIntentionsPass.java:145)
	at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.a(ShowIntentionsPass.java:55)
	at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doApplyInformationToEditor(ShowIntentionsPass.java:197)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.applyInformationToEditor(TextEditorHighlightingPass.java:65)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$3.run(PassExecutorService.java:4)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:3)
	- locked <0x9534a9b8> (a java.lang.Object)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:69)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:175)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:56)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

"timed reference disposer" prio=10 tid=0x8bcaf800 nid=0x1bfb waiting on condition [0x8bde1000..0x8bde2140]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x95118c70> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
	at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:582)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:575)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"Periodic tasks thread" prio=10 tid=0x08365000 nid=0x1bf8 waiting on condition [0x8c9fe000..0x8c9fefc0]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x95116ff0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
	at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:582)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:575)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"AWT-Shutdown" prio=10 tid=0x8c5ccc00 nid=0x1bf6 in Object.wait() [0x8bfc6000..0x8bfc6ec0]
   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:259)
	- locked <0x95118fc0> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

"SocketListenerThread" prio=10 tid=0x8c5c7400 nid=0x1bf5 runnable [0x8c017000..0x8c017f40]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	- locked <0x951034d8> (a java.net.PlainDatagramSocketImpl)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	- locked <0x951034d8> (a java.net.PlainDatagramSocketImpl)
	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
	- locked <0x94db26c8> (a java.net.DatagramPacket)
	- locked <0x951034a0> (a java.net.MulticastSocket)
	at com.intellij.a.e.a.e.a(e.java:26)
	at com.intellij.a.e.a.h.run(h.java:1)

"SocketListenerThread" prio=10 tid=0x8c568000 nid=0x1bf4 runnable [0x8c068000..0x8c068dc0]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	- locked <0x95101090> (a java.net.PlainDatagramSocketImpl)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	- locked <0x95101090> (a java.net.PlainDatagramSocketImpl)
	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
	- locked <0x94db26e8> (a java.net.DatagramPacket)
	- locked <0x95101068> (a java.net.DatagramSocket)
	at com.intellij.a.e.a.e.a(e.java:26)
	at com.intellij.a.e.a.h.run(h.java:1)

"MessageDeliveryThread" prio=10 tid=0x8c554000 nid=0x1bf3 in Object.wait() [0x8c0b9000..0x8c0b9e40]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x95103710> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:485)
	at com.intellij.a.e.j.run(j.java:2)
	- locked <0x95103710> (a java.lang.Object)

"AWT-XAWT" daemon prio=10 tid=0x8c5b5c00 nid=0x1bf1 runnable [0x8c19d000..0x8c19e140]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.X11.XToolkit.waitForEvents(Native Method)
	at sun.awt.X11.XToolkit.run(XToolkit.java:544)
	at sun.awt.X11.XToolkit.run(XToolkit.java:519)
	at java.lang.Thread.run(Thread.java:619)

"Java2D Disposer" daemon prio=10 tid=0x8c584800 nid=0x1bf0 in Object.wait() [0x8c20c000..0x8c20cfc0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
	- locked <0x9513ca70> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
	at sun.java2d.Disposer.run(Disposer.java:125)
	at java.lang.Thread.run(Thread.java:619)

"Lock thread" prio=10 tid=0x8c508c00 nid=0x1bef runnable [0x8c6d0000..0x8c6d1040]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0x9511a518> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:2)
	at java.lang.Thread.run(Thread.java:619)

"DestroyJavaVM" prio=10 tid=0x8ca8fc00 nid=0x1be2 waiting on condition [0x00000000..0xb7e2e090]
   java.lang.Thread.State: RUNNABLE

"timed reference disposer" prio=10 tid=0x8ca0e800 nid=0x1bed waiting on condition [0x8cb53000..0x8cb53f40]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x95099e78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
	at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:582)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:575)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
	at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=10 tid=0x080fe000 nid=0x1beb runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x080fc800 nid=0x1bea waiting on condition [0x00000000..0x8cd37588]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x080fa000 nid=0x1be9 waiting on condition [0x00000000..0x8cdb8608]
   java.lang.Thread.State: RUNNABLE

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

"Finalizer" daemon prio=10 tid=0x080dd000 nid=0x1be7 in Object.wait() [0x8cea0000..0x8cea1040]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
	- locked <0x94db2e30> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x080dc000 nid=0x1be6 in Object.wait() [0x8cef1000..0x8cef1ec0]
   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 <0x9526e2f0> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x080d8c00 nid=0x1be5 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x0805fc00 nid=0x1be3 runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x08060c00 nid=0x1be4 runnable 

"VM Periodic Task Thread" prio=10 tid=0x080ff800 nid=0x1bec waiting on condition 

JNI global references: 5536

Heap
 PSYoungGen      total 56896K, used 48335K [0xb13b0000, 0xb4c90000, 0xb4c90000)
  eden space 55680K, 84% used [0xb13b0000,0xb41b61e0,0xb4a10000)
  from space 1216K, 99% used [0xb4a10000,0xb4b3dc18,0xb4b40000)
  to   space 1344K, 0% used [0xb4b40000,0xb4b40000,0xb4c90000)
 PSOldGen        total 233024K, used 109801K [0x94c90000, 0xa3020000, 0xb13b0000)
  object space 233024K, 47% used [0x94c90000,0x9b7ca530,0xa3020000)
 PSPermGen       total 85760K, used 85745K [0x8d490000, 0x92850000, 0x94c90000)
  object space 85760K, 99% used [0x8d490000,0x9284c700,0x92850000)

]]>

0
Comment actions Permalink

Hello Sam,

Thanks for the thread dump! I've filed a JIRA issue:
http://www.jetbrains.net/jira/browse/RUBY-1811

Is there a chance to get the source file on which this problem occurs?

Thanks Dmitry, thread dump follows...

 2008-09-08 12:12:20
> Full thread dump Java HotSpot(TM) Server VM (10.0-b22 mixed mode):
> "ApplicationImpl pooled thread" prio=10 tid=0x0975d800 nid=0x1f03
> waiting on condition [0x8b1fe000..0x8b1fefc0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x9509b2d0> (a
> java.util.concurrent.SynchronousQueue$TransferStack)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Synch
> ronousQueue.java:422)
> at
> java.util.concurrent.SynchronousQueue$TransferStack.transfer(Synchrono
> usQueue.java:323)
> at
> java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:857)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> at
> com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(Applicat
> ionImpl.java:1)
> "ApplicationImpl pooled thread" prio=10 tid=0x09762000 nid=0x1e92
> waiting on condition [0x8ae82000..0x8ae83040]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x9509b2d0> (a
> java.util.concurrent.SynchronousQueue$TransferStack)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Synch
> ronousQueue.java:422)
> at
> java.util.concurrent.SynchronousQueue$TransferStack.transfer(Synchrono
> usQueue.java:323)
> at
> java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:857)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> at
> com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(Applicat
> ionImpl.java:1)
> "ApplicationImpl pooled thread" prio=10 tid=0x08539800 nid=0x1e91
> waiting on condition [0x8b17e000..0x8b17eec0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x9509b2d0> (a
> java.util.concurrent.SynchronousQueue$TransferStack)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Synch
> ronousQueue.java:422)
> at
> java.util.concurrent.SynchronousQueue$TransferStack.transfer(Synchrono
> usQueue.java:323)
> at
> java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:857)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> at
> com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(Applicat
> ionImpl.java:1)
> "Thread-9" daemon prio=10 tid=0x09424000 nid=0x1c2f waiting on
> condition [0x88666000..0x88666ec0]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> org.jivesoftware.smack.PacketWriter$KeepAliveTask.run(PacketWriter.jav
> a:476)
> at java.lang.Thread.run(Thread.java:619)
> "JobScheduler pool" prio=10 tid=0x0972b800 nid=0x1c2e waiting on
> condition [0x886b7000..0x886b7f40]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x951a61f8> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.
> java:220)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "Background process" prio=10 tid=0x8a067400 nid=0x1c2d waiting on
> condition [0x88a5c000..0x88a5cdc0]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at com.intellij.util.ui.Timer$1.run(Timer.java:46)
> "JobScheduler pool" prio=10 tid=0x09412800 nid=0x1c2c waiting on
> condition [0x88aad000..0x88aade40]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x951a61f8> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.
> java:220)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "Smack Listener Processor" daemon prio=10 tid=0x08d68800 nid=0x1c2b in
> Object.wait() [0x88afe000..0x88aff0c0]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x986e3260> (a org.jivesoftware.smack.PacketReader$2)
> at java.lang.Object.wait(Object.java:485)
> at
> org.jivesoftware.smack.PacketReader.processListeners(PacketReader.java
> :248)
> - locked <0x986e3260> (a org.jivesoftware.smack.PacketReader$2)
> at
> org.jivesoftware.smack.PacketReader.access$100(PacketReader.java:45)
> at org.jivesoftware.smack.PacketReader$2.run(PacketReader.java:76)
> "Smack Packet Reader" daemon prio=10 tid=0x09bae800 nid=0x1c2a
> runnable [0x8906e000..0x8906f140]
> java.lang.Thread.State: RUNNABLE
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at
> com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:29
> 3)
> at
> com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.ja
> va:789)
> - locked <0x98fc0da8> (a java.lang.Object)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImp
> l.java:746)
> at
> com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:7
> 5)
> - locked <0x98fc1618> (a com.sun.net.ssl.internal.ssl.AppInputStream)
> at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
> at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
> - locked <0x98fd7f50> (a java.io.InputStreamReader)
> at java.io.InputStreamReader.read(InputStreamReader.java:167)
> at java.io.BufferedReader.fill(BufferedReader.java:136)
> at java.io.BufferedReader.read1(BufferedReader.java:187)
> at java.io.BufferedReader.read(BufferedReader.java:261)
> - locked <0x98fd7f50> (a java.io.InputStreamReader)
> at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2972)
> at org.xmlpull.mxp1.MXParser.more(MXParser.java:3026)
> at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
> at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
> at
> org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:363
> )
> at
> org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:45)
> at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:67)
> "Smack Packet Writer" daemon prio=10 tid=0x09dd2000 nid=0x1c29 in
> Object.wait() [0x890bf000..0x890bffc0]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at
> org.jivesoftware.smack.PacketWriter.nextPacket(PacketWriter.java:235)
> - locked <0x986e39a0> (a java.util.LinkedList)
> at
> org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:256
> )
> at
> org.jivesoftware.smack.PacketWriter.access$000(PacketWriter.java:39)
> at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:79)
> "Timer-1" daemon prio=10 tid=0x09844000 nid=0x1c28 in Object.wait()
> [0x89110000..0x89111040]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x98451268> (a java.util.TaskQueue)
> at java.lang.Object.wait(Object.java:485)
> at java.util.TimerThread.mainLoop(Timer.java:483)
> - locked <0x98451268> (a java.util.TaskQueue)
> at java.util.TimerThread.run(Timer.java:462)
> "WebServer thread pool" prio=10 tid=0x09842c00 nid=0x1c27 waiting on
> condition [0x89161000..0x89161ec0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x951ad538> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java
> :358)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "Change List Updater" prio=10 tid=0x08449000 nid=0x1c26 waiting on
> condition [0x891b2000..0x891b2f40]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x960b1588> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:582)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:575)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "Alarm pool" prio=10 tid=0x09415c00 nid=0x1c25 waiting on condition
> [0x89203000..0x89203dc0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x951183f0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java
> :358)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "You got mail" prio=10 tid=0x8a02d000 nid=0x1c24 waiting on condition
> [0x89325000..0x89325e40]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> com.intellij.jetConnect.view.EnvelopeIcon.onAnimationMaxCycleReached(E
> nvelopeIcon.java:68)
> at
> com.intellij.util.ui.AnimatedIcon$1.onAnimationMaxCycleReached(Animate
> dIcon.java:66)
> at com.intellij.util.ui.Animator$1.onTimer(Animator.java:83)
> at com.intellij.util.ui.Timer$1.run(Timer.java:56)
> "Timer-0" daemon prio=10 tid=0x081fc800 nid=0x1c23 in Object.wait()
> [0x89376000..0x893770c0]
> 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 <0x96aa0d68> (a java.util.TaskQueue)
> at java.util.TimerThread.run(Timer.java:462)
> "UserActivityMonitor thread" prio=10 tid=0x8a02cc00 nid=0x1c22 in
> Object.wait() [0x893c8000..0x893c8140]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at
> jetbrains.communicator.idea.monitor.UserActivityMonitor.run(UserActivi
> tyMonitor.java:129)
> - locked <0x95471c20> (a java.lang.Object)
> at java.lang.Thread.run(Thread.java:619)
> "WebServer thread pool" prio=10 tid=0x08a7a000 nid=0x1c21 waiting on
> condition [0x89418000..0x89418fc0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x951ad538> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java
> :358)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "/192.168.1.12 IDEtalk Multicast Thread" prio=10 tid=0x08a79c00
> nid=0x1c20 runnable [0x89469000..0x8946a040]
> java.lang.Thread.State: RUNNABLE
> at java.net.PlainDatagramSocketImpl.receive0(Native Method)
> - locked <0x96aa1440> (a java.net.PlainDatagramSocketImpl)
> at
> java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:
> 136)
> - locked <0x96aa1440> (a java.net.PlainDatagramSocketImpl)
> at java.net.DatagramSocket.receive(DatagramSocket.java:712)
> - locked <0x9b0f4300> (a java.net.DatagramPacket)
> - locked <0x96c0e548> (a java.net.MulticastSocket)
> at
> jetbrains.communicator.p2p.MulticastPingThread.run(MulticastPingThread
> .java:112)
> "User Monitor Thread" prio=10 tid=0x897f5400 nid=0x1c1f in
> Object.wait() [0x894ba000..0x894baec0]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at
> jetbrains.communicator.p2p.UserMonitorThread.waitForNextSearch(UserMon
> itorThread.java:212)
> - locked <0x96c0e6a8> (a java.lang.Object)
> at
> jetbrains.communicator.p2p.UserMonitorThread.run(UserMonitorThread.jav
> a:131)
> "XML-RPC Weblistener" prio=10 tid=0x89a18c00 nid=0x1c1e runnable
> [0x8950b000..0x8950bf40]
> java.lang.Thread.State: RUNNABLE
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
> - locked <0x96aa1490> (a java.net.SocksSocketImpl)
> at java.net.ServerSocket.implAccept(ServerSocket.java:453)
> at java.net.ServerSocket.accept(ServerSocket.java:421)
> at org.apache.xmlrpc.WebServer.run(WebServer.java:453)
> at java.lang.Thread.run(Thread.java:619)
> "Network Message Dispatcher" prio=10 tid=0x89ce5800 nid=0x1c1d in
> Object.wait() [0x8955c000..0x8955cdc0]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x9699cf38> (a java.lang.Object)
> at java.lang.Object.wait(Object.java:485)
> at
> jetbrains.communicator.core.impl.dispatcher.AsyncMessageDispatcherImpl
> .run(AsyncMessageDispatcherImpl.java:76)
> - locked <0x9699cf38> (a java.lang.Object)
> at java.lang.Thread.run(Thread.java:619)
> "Refreshing filesystem" prio=10 tid=0x089b2800 nid=0x1c1c waiting on
> condition [0x895ad000..0x895ade40]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at com.intellij.util.ui.Timer$1.run(Timer.java:46)
> "FS Synchronizer" prio=10 tid=0x08bc3000 nid=0x1c1b waiting on
> condition [0x895fe000..0x895ff0c0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x9660ca90> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java
> :358)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "You got mail" prio=10 tid=0x092b7400 nid=0x1c18 waiting on condition
> [0x8af66000..0x8af67040]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at com.intellij.util.ui.Timer$1.run(Timer.java:46)
> "TimerQueue" daemon prio=10 tid=0x089a6000 nid=0x1c14 in Object.wait()
> [0x8afb7000..0x8afb7f40]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at javax.swing.TimerQueue.run(TimerQueue.java:236)
> - locked <0x961a4060> (a javax.swing.TimerQueue)
> at java.lang.Thread.run(Thread.java:619)
> "JetConnect reader" prio=10 tid=0x8ba6ac00 nid=0x1c11 waiting on
> condition [0x8b46b000..0x8b46c0c0]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at com.intellij.jetConnect.reader.JetReader$1.run(JetReader.java:177)
> "XML-RPC Weblistener" prio=10 tid=0x086c1000 nid=0x1bff runnable
> [0x8b4bc000..0x8b4bcf40]
> java.lang.Thread.State: RUNNABLE
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
> - locked <0x9509b890> (a java.net.SocksSocketImpl)
> at java.net.ServerSocket.implAccept(ServerSocket.java:453)
> at java.net.ServerSocket.accept(ServerSocket.java:421)
> at org.apache.xmlrpc.WebServer.run(WebServer.java:453)
> at java.lang.Thread.run(Thread.java:619)
> "File System Tracker" prio=10 tid=0x086c9400 nid=0x1bfe waiting on
> condition [0x8b50d000..0x8b50ddc0]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x9509bca8> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> await(AbstractQueuedSynchronizer.java:1925)
> at
> java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:3
> 17)
> at
> com.intellij.openapi.vfs.impl.watcher.FileSystemTrackerImpl$1.run(File
> SystemTrackerImpl.java:9)
> - locked <0x9526e260> (a java.lang.Object)
> at java.lang.Thread.run(Thread.java:619)
> "Progress Cancel Checker" prio=10 tid=0x086bd800 nid=0x1bfd waiting on
> condition [0x8bf75000..0x8bf75e40]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressM
> anagerImpl.java:3)
> "AWT-EventQueue-1" prio=10 tid=0x8bcbec00 nid=0x1bfc runnable
> [0x8b967000..0x8b9690c0]
> java.lang.Thread.State: RUNNABLE
> at java.util.ArrayList.size(ArrayList.java:177)
> at java.util.AbstractList$Itr.hasNext(AbstractList.java:339)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.duckAnd(RT
> ypeUtil.java:414)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.smartJoinT
> ypes(RTypeUtil.java:400)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.joinOr(RTy
> peUtil.java:379)
> at
> org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.types.TypesSemilatti
> ce.join(TypesSemilattice.java:44)
> at
> org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.types.TypesSemilatti
> ce.join(TypesSemilattice.java:28)
> at
> org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.DFAEngine.join(DFAEn
> gine.java:113)
> at
> org.jetbrains.plugins.ruby.ruby.lang.psi.dataFlow.DFAEngine.performDFA
> (DFAEngine.java:87)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.types.TypeInferenceHelper.
> inferLocalVariablesTypes(TypeInferenceHelper.java:92)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.types.TypeInferenceHelper.
> inferLocalVariableType(TypeInferenceHelper.java:78)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.resolve.scope.impl.ScopeVa
> riableImpl.getType(ScopeVariableImpl.java:81)
> at
> org.jetbrains.plugins.ruby.ruby.lang.psi.impl.variables.RIdentifierImp
> l.getType(RIdentifierImpl.java:128)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.references.RQualifiedRefer
> ence.getRefObjectType(RQualifiedReference.java:298)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.references.RQualifiedRefer
> ence.multiResolveToSymbols(RQualifiedReference.java:224)
> at
> org.jetbrains.plugins.ruby.ruby.codeInsight.resolve.ResolveUtil.resolv
> eToSymbols(ResolveUtil.java:128)
> at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.jruby.javasupport.JavaMethod.invokeWithExceptionHandling(JavaMetho
> d.java:250)
> at
> org.jruby.javasupport.JavaMethod.invoke_static(JavaMethod.java:230)
> at
> org.jruby.javasupport.JavaClass$StaticMethodInvoker.execute(JavaClass.
> java:361)
> at
> org.jruby.internal.runtime.methods.SimpleCallbackMethod.call(SimpleCal
> lbackMethod.java:67)
> at
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.ja
> va:241)
> at
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.ja
> va:150)
> at
> org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:38
> 1)
> at
> ruby.jit.ruby.home.sam.dev_minus_helper.idea_minus_7952.plugins.ruby.r
> b.actions.qualified_name_to_include_class.isAvailable23132820_32986216
> .__file__(/home/sam/dev-helper/idea-7952/plugins/ruby/rb/actions/quali
> fied_name_to_include_class.rb:51)
> at
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.ja
> va:341)
> at
> org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite
> .java:195)
> at
> org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:48
> 6)
> at
> ruby.jit.ruby.home.sam.dev_minus_helper.idea_minus_7952.plugins.ruby.r
> b.util.reloadable_intention_action.isAvailable20748372_32986216.__file
> __(/home/sam/dev-helper/idea-7952/plugins/ruby/rb/actions/../util/relo
> adable_intention_action.rb:28)
> at
> ruby.jit.ruby.home.sam.dev_minus_helper.idea_minus_7952.plugins.ruby.r
> b.util.reloadable_intention_action.isAvailable20748372_32986216.__file
> __(/home/sam/dev-helper/idea-7952/plugins/ruby/rb/actions/../util/relo
> adable_intention_action.rb)
> at
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.ja
> va:138)
> at org.jruby.RubyObject.send(RubyObject.java:2050)
> at org.jruby.RubyObjectInvoker$send_method_0_0.call(Unknown Source)
> at
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.ja
> va:134)
> at
> org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:27
> 9)
> at org.jruby.ast.CallNode.interpret(CallNode.java:163)
> at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
> at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
> at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
> at
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java
> :203)
> at
> org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:191)
> at org.jruby.runtime.BlockBody.call(BlockBody.java:64)
> at org.jruby.runtime.Block.call(Block.java:96)
> at org.jruby.RubyProc.call(RubyProc.java:202)
> at org.jruby.RubyProc.call(RubyProc.java:189)
> at org.jruby.javasupport.Java$5.invoke(Java.java:1165)
> at $Proxy38.isAvailable(Unknown Source)
> at
> org.jetbrains.plugins.ruby.ruby.actions.intention.RubyIntentionActionC
> lassLoaderHack.isAvailable(RubyIntentionActionClassLoaderHack.java:50)
> at
> com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getActionsToSh
> ow(ShowIntentionsPass.java:145)
> at
> com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.a(ShowIntentio
> nsPass.java:55)
> at
> com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doApplyInforma
> tionToEditor(ShowIntentionsPass.java:197)
> at
> com.intellij.codeHighlighting.TextEditorHighlightingPass.applyInformat
> ionToEditor(TextEditorHighlightingPass.java:65)
> at
> com.intellij.codeInsight.daemon.impl.PassExecutorService$3.run(PassExe
> cutorService.java:4)
> at
> com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(La
> terInvocator.java:3)
> - locked <0x9534a9b8> (a java.lang.Object)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
> at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:69)
> at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:175)
> at
> com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:56)
> at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThrea
> d.java:273)
> at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.j
> ava:183)
> at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThrea
> d.java:173)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
> "timed reference disposer" prio=10 tid=0x8bcaf800 nid=0x1bfb waiting
> on condition [0x8bde1000..0x8bde2140]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x95118c70> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> awaitNanos(AbstractQueuedSynchronizer.java:1963)
> at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:582)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:575)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "Periodic tasks thread" prio=10 tid=0x08365000 nid=0x1bf8 waiting on
> condition [0x8c9fe000..0x8c9fefc0]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x95116ff0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> awaitNanos(AbstractQueuedSynchronizer.java:1963)
> at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:582)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:575)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "AWT-Shutdown" prio=10 tid=0x8c5ccc00 nid=0x1bf6 in Object.wait()
> [0x8bfc6000..0x8bfc6ec0]
> 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:259)
> - locked <0x95118fc0> (a java.lang.Object)
> at java.lang.Thread.run(Thread.java:619)
> "SocketListenerThread" prio=10 tid=0x8c5c7400 nid=0x1bf5 runnable
> [0x8c017000..0x8c017f40]
> java.lang.Thread.State: RUNNABLE
> at java.net.PlainDatagramSocketImpl.receive0(Native Method)
> - locked <0x951034d8> (a java.net.PlainDatagramSocketImpl)
> at
> java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:
> 136)
> - locked <0x951034d8> (a java.net.PlainDatagramSocketImpl)
> at java.net.DatagramSocket.receive(DatagramSocket.java:712)
> - locked <0x94db26c8> (a java.net.DatagramPacket)
> - locked <0x951034a0> (a java.net.MulticastSocket)
> at com.intellij.a.e.a.e.a(e.java:26)
> at com.intellij.a.e.a.h.run(h.java:1)
> "SocketListenerThread" prio=10 tid=0x8c568000 nid=0x1bf4 runnable
> [0x8c068000..0x8c068dc0]
> java.lang.Thread.State: RUNNABLE
> at java.net.PlainDatagramSocketImpl.receive0(Native Method)
> - locked <0x95101090> (a java.net.PlainDatagramSocketImpl)
> at
> java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:
> 136)
> - locked <0x95101090> (a java.net.PlainDatagramSocketImpl)
> at java.net.DatagramSocket.receive(DatagramSocket.java:712)
> - locked <0x94db26e8> (a java.net.DatagramPacket)
> - locked <0x95101068> (a java.net.DatagramSocket)
> at com.intellij.a.e.a.e.a(e.java:26)
> at com.intellij.a.e.a.h.run(h.java:1)
> "MessageDeliveryThread" prio=10 tid=0x8c554000 nid=0x1bf3 in
> Object.wait() [0x8c0b9000..0x8c0b9e40]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x95103710> (a java.lang.Object)
> at java.lang.Object.wait(Object.java:485)
> at com.intellij.a.e.j.run(j.java:2)
> - locked <0x95103710> (a java.lang.Object)
> "AWT-XAWT" daemon prio=10 tid=0x8c5b5c00 nid=0x1bf1 runnable
> [0x8c19d000..0x8c19e140]
> java.lang.Thread.State: RUNNABLE
> at sun.awt.X11.XToolkit.waitForEvents(Native Method)
> at sun.awt.X11.XToolkit.run(XToolkit.java:544)
> at sun.awt.X11.XToolkit.run(XToolkit.java:519)
> at java.lang.Thread.run(Thread.java:619)
> "Java2D Disposer" daemon prio=10 tid=0x8c584800 nid=0x1bf0 in
> Object.wait() [0x8c20c000..0x8c20cfc0]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
> - locked <0x9513ca70> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
> at sun.java2d.Disposer.run(Disposer.java:125)
> at java.lang.Thread.run(Thread.java:619)
> "Lock thread" prio=10 tid=0x8c508c00 nid=0x1bef runnable
> [0x8c6d0000..0x8c6d1040]
> java.lang.Thread.State: RUNNABLE
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
> - locked <0x9511a518> (a java.net.SocksSocketImpl)
> at java.net.ServerSocket.implAccept(ServerSocket.java:453)
> at java.net.ServerSocket.accept(ServerSocket.java:421)
> at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:2)
> at java.lang.Thread.run(Thread.java:619)
> "DestroyJavaVM" prio=10 tid=0x8ca8fc00 nid=0x1be2 waiting on condition
> [0x00000000..0xb7e2e090]
> java.lang.Thread.State: RUNNABLE
> "timed reference disposer" prio=10 tid=0x8ca0e800 nid=0x1bed waiting
> on condition [0x8cb53000..0x8cb53f40]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x95099e78> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
> awaitNanos(AbstractQueuedSynchronizer.java:1963)
> at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:582)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take
> (ScheduledThreadPoolExecutor.java:575)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
> a:946)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:906)
> at java.lang.Thread.run(Thread.java:619)
> "Low Memory Detector" daemon prio=10 tid=0x080fe000 nid=0x1beb
> runnable [0x00000000..0x00000000]
> java.lang.Thread.State: RUNNABLE
> "CompilerThread1" daemon prio=10 tid=0x080fc800 nid=0x1bea waiting on
> condition [0x00000000..0x8cd37588]
> java.lang.Thread.State: RUNNABLE
> "CompilerThread0" daemon prio=10 tid=0x080fa000 nid=0x1be9 waiting on
> condition [0x00000000..0x8cdb8608]
> java.lang.Thread.State: RUNNABLE
> "Signal Dispatcher" daemon prio=10 tid=0x080f8c00 nid=0x1be8 waiting
> on condition [0x00000000..0x00000000]
> java.lang.Thread.State: RUNNABLE
> "Finalizer" daemon prio=10 tid=0x080dd000 nid=0x1be7 in Object.wait()
> [0x8cea0000..0x8cea1040]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
> - locked <0x94db2e30> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> "Reference Handler" daemon prio=10 tid=0x080dc000 nid=0x1be6 in
> Object.wait() [0x8cef1000..0x8cef1ec0]
> 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 <0x9526e2f0> (a java.lang.ref.Reference$Lock)
> "VM Thread" prio=10 tid=0x080d8c00 nid=0x1be5 runnable
> 
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x0805fc00 nid=0x1be3
> runnable
> 
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x08060c00 nid=0x1be4
> runnable
> 
> "VM Periodic Task Thread" prio=10 tid=0x080ff800 nid=0x1bec waiting on
> condition
> 
> JNI global references: 5536
> 
> Heap
> PSYoungGen      total 56896K, used 48335K [0xb13b0000, 0xb4c90000,
> 0xb4c90000)
> eden space 55680K, 84% used [0xb13b0000,0xb41b61e0,0xb4a10000)
> from space 1216K, 99% used [0xb4a10000,0xb4b3dc18,0xb4b40000)
> to   space 1344K, 0% used [0xb4b40000,0xb4b40000,0xb4c90000)
> PSOldGen        total 233024K, used 109801K [0x94c90000, 0xa3020000,
> 0xb13b0000)
> object space 233024K, 47% used [0x94c90000,0x9b7ca530,0xa3020000)
> PSPermGen       total 85760K, used 85745K [0x8d490000, 0x92850000,
> 0x94c90000)
> object space 85760K, 99% used [0x8d490000,0x9284c700,0x92850000)
> ]]>

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

It happens on ALL ruby files in my project, whenever I put my cursor at the 'dot' as described in my original post.

Just for the record, I've now chosen NetBeans instead of Eclipse as my "interim" editor. I have to say that it's Ruby support is quite good... it's just not as good as an all round editor.
I'm using NetBeans for Ruby and IntelliJ for SVN

0
Comment actions Permalink

It's back.... and unfortunately I cannot explain why. Whatever it had it's knickers in a twist about has left the building.
So... I've moved back to IDEA from NetBeans (for now)... and I'm actually missing a couple of features of NetBeans!... so you may want to consider them for your Ruby plugin...

Code highlighting.. they bold method names, underline unused declared local variables, colourize method params.
Compare the following in the two editors...

In NetBeans it's really easy to see that bar and baz never get used... which can help you pickup on typos.
NetBeans also highlights the var where the cursor is ... which is pretty much an "always on" version of IDEA's "Highlight Usages In File".
NetBeans also has popup doco which is very handy.

0
Comment actions Permalink

>In NetBeans it's really easy to see that bar and baz never get used.
Unused local variable/parameter inspection is in out JIRA issues for 2.0

>NetBeans also has popup doco which is very handy
May be you are talking about Ctrl+Q in IDEA? Ruby plugin supports it. Also you can enable autopopup doc for items in autocompletion list. (see Settings|Code Completion|Autopopup javadoc in (ms))

>they bold method names, colourize method params
You can change code highlighting settings in Settings|Colors&Fonts|Ruby. It isn't difficult for us to extend our code highlighting but nobody asked us for it. Also initially we didn't want to overweight ruby code with a lot of highlighting.

0
Comment actions Permalink

That's great, thanks Roman.
I suppose someone has already requested that the popup doco window be resizable? :) (It's not resizable in NetBeans either)
I can live without the always on 'highlight usages in file' I guess.
Looking forward to the local var inspection.

0
Comment actions Permalink

Hello Sam,

I suppose someone has already requested that the popup doco window be
resizable? :) (It's not resizable in NetBeans either)


It is actually resizable in IDEA.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Please sign in to leave a comment.