HELP: Similar problem with Edit causing an unrecoverable Hang.

-- Most reproducible if I try to type "if a.x.." Reproduced on a colleague's installation. What can I do?
-- 1.5.18930

Winton


class Experiment < ActiveRecord::Base

has_many :scenarios
has_many :options, :order => "position ASC"
validates_presence_of :name
validates_uniqueness_of :part, :scope => # TODO HANDLE THIS GRACEFULLY WITH A VIEW

  1. TODO DUMP VERSION OF THIS

def self.read_from_csv(io_handle)
state = :start

eval = nil
exp = nil
sc = nil

opt_pos = 0

part=1
max_outcomes=10
counter = 1
is_evaluation = false
while(l = io_handle.gets)
l.strip!
a = l.split("\t")
puts a.inspect
case(a[0].downcase)
when "experiment"
name,rev = a[1,2]
puts "NAME #{name.inspect}"
exp = Experiment.create!(:name => name, :revision => rev, :part => part)
if !a[3].nil? and a[3] != "" then
user = a[3]
is_evaluation = true
eval = Evaluation.create!(:experiment=>exp,:user=>user)
end


when "option"
value,desc = a[1,2]
opt_pos += 1

opt = Option.create!(:experiment_id => exp.id, :value => value, :description => desc, :position => opt_pos, :default => false)

when "defaultoption"
default_value = a[1]

opt = Option.find(:first, :conditions => {:experiment_id => exp.id, :value => default_value})
if (opt)
opt.default = true
opt.save!
end

when "instructions"
instructions = a[1]

exp.instructions = instructions
exp.save

when "scenario"
if counter > max_outcomes then
counter = 1
part = part + 1
new_exp = Experiment.create!(:name => exp.name, :revision => exp.revision,
:part => part, :instructions => exp.instructions)
x=Option.all(:conditions => {:experiment_id => exp.id})
if !x.nil? then
x.each{|o|
if o.nil? then
Option.create!(:experiment_id => o.new_exp.id, :value => o.value,
:description => o.description, :position => o.position, :default => o.default)
end
}
end
exp = new_exp
else
counter = counter + 1
end
scenario = a[1]
state = :in_scenario

sc = Scenario.create!(:value => scenario, :experiment => exp)

when "outcome"
if is_evaluation then
outcome_text,rating = a[1,2]
coding = a[3..-1].join("\t")

oc = Outcome.create!(:value => outcome_text, :scenario => sc, :coding=>coding)
rating = Rating.create!(:value=>rating,:outcome=>oc,:evaluation=>eval)
else
outcome_text = a[1]
coding = a[2..-1].join("\t")
oc = Outcome.create!(:value => outcome_text, :scenario => sc, :coding=>coding)
end

end
end
puts exp.inspect
puts eval.inspect
return exp, eval
end # def self.read_from_csv
end

6 comments
Comment actions Permalink

Hello,
could you please provide thread dump?

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.

0
Comment actions Permalink

Here's the stack trace as requested (NOTE THAT YOU CAN SIMPLY kill -QUIT pid on the Mac and look at console.out )

Full thread dump Java HotSpot(TM) Client VM (1.5.0_13-119 mixed mode):

"JobScheduler pool" prio=6 tid=0x0109a730 nid=0xa96400 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:200)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"Background process" prio=6 tid=0x01097590 nid=0xa07200 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"JobScheduler pool" prio=6 tid=0x010970f0 nid=0xa1f000 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:200)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"Alarm pool" prio=6 tid=0x010962b0 nid=0xa8a600 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"Thread-11" daemon prio=6 tid=0x01090cd0 nid=0xa04e00 waiting on condition
at java.lang.Thread.sleep(Native Method)
at org.jivesoftware.smack.PacketWriter$KeepAliveTask.run(PacketWriter.java:476)
at java.lang.Thread.run(Thread.java:613)

"Timer-1" daemon prio=6 tid=0x010863b0 nid=0xa19400 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:474) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x0af019b0>]]> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

"Smack Listener Processor" daemon prio=6 tid=0x010848f0 nid=0xa28e00 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a org.jivesoftware.smack.PacketReader$2) at java.lang.Object.wait(Object.java:474) at org.jivesoftware.smack.PacketReader.processListeners(PacketReader.java:248) - locked <0x0aeed9e0>]]> (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=6 tid=0x010846f0 nid=0xa26000 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:723)
- locked (a java.lang.Object) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:680) at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) - locked <0x0af6ba40> (a com.sun.net.ssl.internal.ssl.AppInputStream) at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) - locked <0x0af71aa0> (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 <0x0af71aa0>]]> (a java.io.InputStreamReader)
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2971)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3025)
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=6 tid=0x010841b0 nid=0xa18600 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.util.LinkedList) at org.jivesoftware.smack.PacketWriter.nextPacket(PacketWriter.java:235) - locked <0x0aec62a8>]]> (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)

"Refreshing filesystem" prio=6 tid=0x01083ad0 nid=0xa92a00 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"Change List Updater" prio=6 tid=0x01081940 nid=0x9fc400 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:131)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"You got mail" prio=6 tid=0x01072460 nid=0x9f5000 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"Timer-0" daemon prio=6 tid=0x01071db0 nid=0xa7c000 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:474) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x0aac8eb8>]]> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

"UserActivityMonitor thread" prio=6 tid=0x01071720 nid=0xa7b200 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at jetbrains.communicator.idea.monitor.UserActivityMonitor.run(UserActivityMonitor.java:129) - locked <0x0a1ccf20>]]> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:613)

"WebServer thread pool" prio=6 tid=0x0106ede0 nid=0xa03200 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"WebServer thread pool" prio=6 tid=0x0106eaf0 nid=0xa80400 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"/192.168.0.44 IDEtalk Multicast Thread" prio=6 tid=0x0106de30 nid=0xa02400 runnable
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- locked (a java.net.PlainDatagramSocketImpl) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) - locked <0x0aa28948> (a java.net.PlainDatagramSocketImpl) at java.net.DatagramSocket.receive(DatagramSocket.java:712) - locked <0x0aa2ae30> (a java.net.DatagramPacket) - locked <0x0aa28910>]]> (a java.net.MulticastSocket)
at jetbrains.communicator.p2p.MulticastPingThread.run(MulticastPingThread.java:112)

"User Monitor Thread" prio=6 tid=0x0106da30 nid=0xa16000 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at jetbrains.communicator.p2p.UserMonitorThread.waitForNextSearch(UserMonitorThread.java:212) - locked <0x0aa0e910>]]> (a java.lang.Object)
at jetbrains.communicator.p2p.UserMonitorThread.run(UserMonitorThread.java:131)

"XML-RPC Weblistener" prio=6 tid=0x0106d5a0 nid=0x9fe800 runnable
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
- locked ]]> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:450)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.apache.xmlrpc.WebServer.run(WebServer.java:453)
at java.lang.Thread.run(Thread.java:613)

"Network Message Dispatcher" prio=6 tid=0x0106ce30 nid=0x9fda00 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:474) at jetbrains.communicator.core.impl.dispatcher.AsyncMessageDispatcherImpl.run(AsyncMessageDispatcherImpl.java:76) - locked <0x0aa06920>]]> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:613)

"FS Synchronizer" prio=6 tid=0x0106b8f0 nid=0xa14a00 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"ApplicationImpl pooled thread" prio=6 tid=0x010652d0 nid=0x9ee600 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
at java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:11)

"You got mail" prio=6 tid=0x0105fbd0 nid=0xa6ec00 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.util.ui.Timer$1.run(Timer.java:46)

"ApplicationImpl pooled thread" prio=6 tid=0x0105c550 nid=0x9b4c00 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
at java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:11)

"TimerQueue" daemon prio=5 tid=0x01056800 nid=0x9c4800 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(TimerQueue.java:236) - locked <0x0a425130>]]> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Thread.java:613)

"ApplicationImpl pooled thread" prio=6 tid=0x01050430 nid=0x9b3e00 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
at java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:11)

"ApplicationImpl pooled thread" prio=6 tid=0x0104e860 nid=0x9af800 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
at java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:11)

"JetConnect reader" prio=6 tid=0x0104e5d0 nid=0x8eb400 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.jetConnect.reader.JetReader$1.run(JetReader.java:177)

"XML-RPC Weblistener" prio=6 tid=0x0102f220 nid=0x994400 runnable
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
- locked ]]> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:450)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.apache.xmlrpc.WebServer.run(WebServer.java:453)
at java.lang.Thread.run(Thread.java:613)

"StoreRefreshStatusThread" daemon prio=1 tid=0x0102e620 nid=0x993600 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl$StoreRefreshStatusThread.run(LocalFileSystemImpl.java:4)

"WatchForChangesThread" prio=6 tid=0x0102e1e0 nid=0x992000 runnable
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
- locked (a java.io.BufferedInputStream) at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) - locked <0x096f0d68> (a java.io.InputStreamReader) at java.io.InputStreamReader.read(InputStreamReader.java:167) at java.io.BufferedReader.fill(BufferedReader.java:136) at java.io.BufferedReader.readLine(BufferedReader.java:299) - locked <0x096f0d68>]]> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at com.intellij.vfs.local.win32.FileWatcher.b(FileWatcher.java:94)
at com.intellij.vfs.local.win32.FileWatcher.waitForChange(FileWatcher.java:117)
at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl$WatchForChangesThread.run(LocalFileSystemImpl.java:6)

"process reaper" daemon prio=6 tid=0x0102ddd0 nid=0x98c800 runnable
at java.lang.UNIXProcess.waitForProcessExit(Native Method)
at java.lang.UNIXProcess.access$700(UNIXProcess.java:17)
at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:83)

"File System Tracker" prio=6 tid=0x0102daa0 nid=0x991200 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:341)
at com.intellij.openapi.vfs.impl.watcher.FileSystemTrackerImpl$1.run(FileSystemTrackerImpl.java:8)
- locked ]]> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:613)

"Progress Cancel Checker" prio=6 tid=0x0102d650 nid=0x990400 waiting on condition
at java.lang.Thread.sleep(Native Method)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:6)

"AWT-EventQueue-1" prio=6 tid=0x010250f0 nid=0x849600 runnable
at java.lang.Character.toUpperCase(Character.java:4307)
at java.lang.Character.toUpperCase(Character.java:4274)
at java.lang.String.regionMatches(String.java:1214)
at java.lang.String.equalsIgnoreCase(String.java:950)
at com.intellij.openapi.util.Comparing.equal(Comparing.java:89)
at com.intellij.openapi.util.Comparing.equal(Comparing.java:57)
at org.jetbrains.plugins.ruby.ruby.codeInsight.types.impl.MessageImpl.equals(MessageImpl.java:82)
at java.util.ArrayList.indexOf(ArrayList.java:220)
at java.util.ArrayList.contains(ArrayList.java:201)
at org.jetbrains.plugins.ruby.ruby.codeInsight.types.RTypeUtil.duckAnd(RTypeUtil.java:418)
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.GeneratedMethodAccessor76.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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.Users.wdavies.$_dot_IntelliJIdea70.config.plugins.ruby.rb.actions.qualified_name_to_include_class.isAvailable9564338_13172184.__file__(/Users/wdavies/.IntelliJIdea70/config/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.Users.wdavies.$_dot_IntelliJIdea70.config.plugins.ruby.rb.util.reloadable_intention_action.isAvailable1655162_13172184.__file__(/Users/wdavies/.IntelliJIdea70/config/plugins/ruby/rb/actions/../util/reloadable_intention_action.rb:28)
at ruby.jit.ruby.Users.wdavies.$_dot_IntelliJIdea70.config.plugins.ruby.rb.util.reloadable_intention_action.isAvailable1655162_13172184.__file__(/Users/wdavies/.IntelliJIdea70/config/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 $Proxy35.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:165)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.a(ShowIntentionsPass.java:11)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doApplyInformationToEditor(ShowIntentionsPass.java:182)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.applyInformationToEditor(TextEditorHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$3.run(PassExecutorService.java:21)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:16)
- locked ]]> (a java.lang.Object)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:146)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:63)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:87)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

"timed reference disposer" prio=6 tid=0x010227f0 nid=0x92de00 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1879)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"Periodic tasks thread" prio=6 tid=0x01016050 nid=0x8b3600 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1879)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"SocketListenerThread" prio=5 tid=0x01015300 nid=0x8ffc00 runnable
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- locked (a java.net.PlainDatagramSocketImpl) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) - locked <0x08fa2ab8> (a java.net.PlainDatagramSocketImpl) at java.net.DatagramSocket.receive(DatagramSocket.java:712) - locked <0x08fa2af8> (a java.net.DatagramPacket) - locked <0x08fa2b18>]]> (a java.net.MulticastSocket)
at com.intellij.a.e.a.e.a(e.java:6)
at com.intellij.a.e.a.h.run(h.java:4)

"SocketListenerThread" prio=5 tid=0x01015020 nid=0x8fee00 runnable
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- locked (a java.net.PlainDatagramSocketImpl) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) - locked <0x08fa52f8> (a java.net.PlainDatagramSocketImpl) at java.net.DatagramSocket.receive(DatagramSocket.java:712) - locked <0x08fa5338> (a java.net.DatagramPacket) - locked <0x08fa5358>]]> (a java.net.DatagramSocket)
at com.intellij.a.e.a.e.a(e.java:6)
at com.intellij.a.e.a.h.run(h.java:4)

"MessageDeliveryThread" prio=5 tid=0x01014c30 nid=0x8fd200 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:474) at com.intellij.a.e.j.run(j.java:28) - locked <0x08fa53f8>]]> (a java.lang.Object)

"Java2D Disposer" daemon prio=10 tid=0x01013080 nid=0x8e3600 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x08fa5480>]]> (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:613)

"AWT-Shutdown" prio=5 tid=0x010122e0 nid=0x8b5600 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:474) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259) - locked <0x08fa5508>]]> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:613)

"AWT-AppKit" daemon prio=5 tid=0x01011e40 nid=0xa02fefa0 runnable

"Lock thread" prio=5 tid=0x0100f400 nid=0x850800 runnable
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
- locked ]]> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:450)
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:613)

"DestroyJavaVM" prio=5 tid=0x010014a0 nid=0xb0801000 waiting on condition

"timed reference disposer" prio=5 tid=0x0100cd20 nid=0x842c00 waiting on condition
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1879)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
at java.lang.Thread.run(Thread.java:613)

"Low Memory Detector" daemon prio=5 tid=0x01009010 nid=0x805800 runnable

"CompilerThread0" daemon prio=9 tid=0x01008540 nid=0x81b000 waiting on condition

"Signal Dispatcher" daemon prio=9 tid=0x010080d0 nid=0x81ca00 waiting on condition

"Finalizer" daemon prio=8 tid=0x010077e0 nid=0x819e00 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x08fa5a70>]]> (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=0x010073e0 nid=0x819000 in Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:474) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x08fa5400>]]> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=9 tid=0x01006b30 nid=0x809800 runnable

"VM Periodic Task Thread" prio=9 tid=0x0100a7c0 nid=0x806600 waiting on condition

"Exception Catcher Thread" prio=10 tid=0x010016f0 nid=0x80a800 runnable

0
Comment actions Permalink

Hello,

Thanks for your threads dump,
it seems that your problem is similar to http://www.jetbrains.net/jira/browse/RUBY-1811.

Oleg

0
Comment actions Permalink

It seems the problem has been fixed in Ruby Plugin 2.0

0
Comment actions Permalink

Is this Plugin Out yet?

W

0
Comment actions Permalink

Hello wdavies,

Is this Plugin Out yet?


Yes.
http://www.intellij.net/forums/thread.jspa?threadID=277462&tstart=0

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


0

Please sign in to leave a comment.