Skip to content

Instantly share code, notes, and snippets.

@nicksieger
Created June 10, 2012 18:43
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nicksieger/2906871 to your computer and use it in GitHub Desktop.
Save nicksieger/2906871 to your computer and use it in GitHub Desktop.
Renaming a Java thread in JRuby
$ jirb
irb(main):001:0> t = Thread.new { sleep }
=> #<Thread:0x64e5b2 sleep>
irb(main):002:0> require 'jruby'
=> true
irb(main):003:0> jt = JRuby.reference(t)
=> #<Thread:0x64e5b2 sleep>
irb(main):004:0> jt.native_thread.name
=> "RubyThread-7: (irb):1"
irb(main):005:0> jt.native_thread.name = "My Ruby thread"
=> "My Ruby thread"
irb(main):006:0> jt.native_thread.name
=> "My Ruby thread"
irb(main):007:0> 2012-06-10 13:41:16
Full thread dump Java HotSpot(TM) Client VM (20.4-b02-402 mixed mode):
"My Ruby thread" daemon prio=5 tid=0000000001a9ac00 nid=0xb28ad000 in Object.wait() [00000000b28ac000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0000000006e80070> (a org.jruby.RubyThread)
at org.jruby.RubyThread.sleep(RubyThread.java:861)
- locked <0000000006e80070> (a org.jruby.RubyThread)
- locked <0000000006e80070> (a org.jruby.RubyThread)
at org.jruby.RubyKernel.sleep(RubyKernel.java:762)
at org.jruby.RubyKernel$INVOKER$s$0$1$sleep.call(RubyKernel$INVOKER$s$0$1$sleep.gen)
at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:636)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:204)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
at org.jruby.ast.VCallNode.interpret(VCallNode.java:86)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197)
at org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:128)
at org.jruby.runtime.Block.call(Block.java:89)
at org.jruby.RubyProc.call(RubyProc.java:269)
at org.jruby.RubyProc.call(RubyProc.java:223)
at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:101)
at java.lang.Thread.run(Thread.java:680)
"NonBlockingInputStreamThread" daemon prio=5 tid=0000000029b97000 nid=0xb26ab000 in Object.wait() [00000000b26aa000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0000000006ea99e8> (a jline.internal.NonBlockingInputStream)
at jline.internal.NonBlockingInputStream.run(NonBlockingInputStream.java:276)
- locked <0000000006ea99e8> (a jline.internal.NonBlockingInputStream)
at java.lang.Thread.run(Thread.java:680)
"JRubyJIT-2" daemon prio=5 tid=0000000002aca400 nid=0xb24a9000 waiting on condition [00000000b24a8000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <000000000a1316d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:680)
"JRubyJIT-1" daemon prio=5 tid=0000000001a88400 nid=0xb22a7000 waiting on condition [00000000b22a6000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <000000000a1316d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:680)
"Poller SunPKCS11-Darwin" daemon prio=1 tid=0000000002a9d000 nid=0xb20a5000 waiting on condition [00000000b20a4000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
at java.lang.Thread.run(Thread.java:680)
"Low Memory Detector" daemon prio=5 tid=0000000001a64c00 nid=0xb1ca1000 runnable [0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread0" daemon prio=9 tid=0000000001a63c00 nid=0xb1a9f000 waiting on condition [0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=9 tid=0000000001a62c00 nid=0xb189d000 waiting on condition [0000000000000000]
java.lang.Thread.State: RUNNABLE
"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=0000000002a5d000 nid=0xb169b000 waiting on condition [0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=0000000002321400 nid=0xb1313000 in Object.wait() [00000000b1312000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <000000000a130928> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <000000000a130928> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0000000002320400 nid=0xb1111000 in Object.wait() [00000000b1110000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <000000000a089540> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <000000000a089540> (a java.lang.ref.Reference$Lock)
"main" prio=5 tid=0000000002259c00 nid=0xb0201000 runnable [00000000b01fc000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.read(Native Method)
at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:167)
- locked <0000000006ea99e8> (a jline.internal.NonBlockingInputStream)
at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:135)
at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:244)
at jline.internal.InputStreamReader.read(InputStreamReader.java:267)
- locked <0000000006ea99e8> (a jline.internal.NonBlockingInputStream)
at jline.internal.InputStreamReader.read(InputStreamReader.java:204)
- locked <0000000006ea99e8> (a jline.internal.NonBlockingInputStream)
at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:1914)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:2113)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:2036)
at org.jruby.ext.Readline.s_readline(Readline.java:170)
at org.jruby.ext.Readline$INVOKER$s$s_readline.call(Readline$INVOKER$s$s_readline.gen)
at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:66)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:201)
at org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:41)
at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:201)
at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
at org.jruby.ast.IfNode.interpret(IfNode.java:110)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63)
at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:110)
at org.jruby.ast.IfNode.interpret(IfNode.java:110)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
at org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:176)
at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197)
at org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:128)
at org.jruby.runtime.Block.call(Block.java:89)
at org.jruby.RubyProc.call(RubyProc.java:269)
at org.jruby.RubyProc.call19(RubyProc.java:257)
at org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:204)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63)
at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
at rubyjit.RubyLex#getc_447B42795E45A22C8A54168166026FD4094235AE.__file__(/Users/nicksieger/Projects/ruby/jruby/lib/ruby/1.9/irb/ruby-lex.rb:103)
at rubyjit.RubyLex#getc_447B42795E45A22C8A54168166026FD4094235AE.__file__(/Users/nicksieger/Projects/ruby/jruby/lib/ruby/1.9/irb/ruby-lex.rb)
at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:141)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
at rubyjit.IRB::SLex::Node#match_io_BCF412A7D7204DF84A2B8C0E9E1CCC382BF39DA2.__file__(/Users/nicksieger/Projects/ruby/jruby/lib/ruby/1.9/irb/slex.rb:205)
at rubyjit.IRB::SLex::Node#match_io_BCF412A7D7204DF84A2B8C0E9E1CCC382BF39DA2.__file__(/Users/nicksieger/Projects/ruby/jruby/lib/ruby/1.9/irb/slex.rb)
at org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:42)
at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:181)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.ReturnNode.interpret(ReturnNode.java:92)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.CaseNode.interpret(CaseNode.java:137)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:202)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
at org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
at org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:186)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
at org.jruby.ast.VCallNode.interpret(VCallNode.java:86)
at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.OrNode.interpret(OrNode.java:95)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.AndNode.interpret(AndNode.java:91)
at org.jruby.ast.OrNode.interpret(OrNode.java:95)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.UntilNode.interpret(UntilNode.java:116)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
at org.jruby.ast.VCallNode.interpret(VCallNode.java:86)
at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:110)
at org.jruby.ast.IfNode.interpret(IfNode.java:110)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
at org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
at org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
at org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
at org.jruby.RubyKernel.loop(RubyKernel.java:1353)
at org.jruby.RubyKernel$INVOKER$s$0$0$loop.call(RubyKernel$INVOKER$s$0$0$loop.gen)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
at org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
at org.jruby.runtime.Block.yield(Block.java:130)
at org.jruby.RubyContinuation.enter(RubyContinuation.java:107)
at org.jruby.RubyKernel.rbCatch19Common(RubyKernel.java:1153)
at org.jruby.RubyKernel.rbCatch19(RubyKernel.java:1146)
at org.jruby.RubyKernel$INVOKER$s$rbCatch19.call(RubyKernel$INVOKER$s$rbCatch19.gen)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
at org.jruby.runtime.Block.yield(Block.java:130)
at org.jruby.RubyContinuation.enter(RubyContinuation.java:107)
at org.jruby.RubyKernel.rbCatch19Common(RubyKernel.java:1153)
at org.jruby.RubyKernel.rbCatch19(RubyKernel.java:1146)
at org.jruby.RubyKernel$INVOKER$s$rbCatch19.call(RubyKernel$INVOKER$s$rbCatch19.gen)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
at Users.nicksieger.Projects.ruby.jruby.bin.jirb.__file__(/Users/nicksieger/Projects/ruby/jruby/bin/jirb:13)
at Users.nicksieger.Projects.ruby.jruby.bin.jirb.load(/Users/nicksieger/Projects/ruby/jruby/bin/jirb)
at org.jruby.Ruby.runScript(Ruby.java:780)
at org.jruby.Ruby.runScript(Ruby.java:773)
at org.jruby.Ruby.runNormally(Ruby.java:650)
at org.jruby.Ruby.runFromMain(Ruby.java:499)
at org.jruby.Main.doRunFromMain(Main.java:375)
at org.jruby.Main.internalRun(Main.java:264)
at org.jruby.Main.run(Main.java:230)
at org.jruby.Main.run(Main.java:214)
at org.jruby.Main.main(Main.java:194)
"VM Thread" prio=9 tid=0000000001a59000 nid=0xb0f0f000 runnable
"Gang worker#0 (Parallel GC Threads)" prio=9 tid=000000000225b400 nid=0xb0605000 runnable
"Gang worker#1 (Parallel GC Threads)" prio=9 tid=000000000225c000 nid=0xb0807000 runnable
"Gang worker#2 (Parallel GC Threads)" prio=9 tid=000000000225d000 nid=0xb0a09000 runnable
"Gang worker#3 (Parallel GC Threads)" prio=9 tid=000000000225dc00 nid=0xb0c0b000 runnable
"Concurrent Mark-Sweep GC Thread" prio=9 tid=00000000022dd000 nid=0xb0e0d000 runnable
"VM Periodic Task Thread" prio=10 tid=0000000002a66800 nid=0xb1ea3000 waiting on condition
"Exception Catcher Thread" prio=10 tid=000000000225a400 nid=0xb0403000 runnable
JNI global references: 1006
Heap
par new generation total 14784K, used 4158K [0000000006010000, 0000000007010000, 0000000009e90000)
eden space 13184K, 19% used [0000000006010000, 000000000628fb90, 0000000006cf0000)
from space 1600K, 100% used [0000000006e80000, 0000000007010000, 0000000007010000)
to space 1600K, 0% used [0000000006cf0000, 0000000006cf0000, 0000000006e80000)
concurrent mark-sweep generation total 49152K, used 5945K [0000000009e90000, 000000000ce90000, 0000000025410000)
concurrent-mark-sweep perm gen total 19200K, used 19050K [0000000025410000, 00000000266d0000, 0000000029410000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment