|
Hi all,... We are developing an application that contains a JRuby interpreter running in a thread and user interacts with the interpreter with a SWT console. Commands are executed inside the JRuby thread using the following line: result = runtime.evalScriptlet(scriptlet) When I run a script starting with the following line: require 'rubygems' I've tried to run the same script using system console, and jirb utility (using the same JRuby installation I used in my application), and it run successfully with no errors !!! However, running the same command (require 'rubygems') or even any other require 'xxxxx' using evalScriptlet gives the below error: java.lang.RuntimeException: TwoVarDynamicScope only supports scopes with two variables java.lang.RuntimeException: TwoVarDynamicScope only supports scopes with two variables at org.jruby.runtime.scope.TwoVarDynamicScope.setValue(TwoVarDynamicScope.java:108) at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:107) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.ast.IfNode.interpret(IfNode.java:108) 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:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.Block.yield(Block.java:110) at org.jruby.ast.YieldNode.interpret(YieldNode.java:95) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:93) at org.jruby.ast.BeginNode.interpret(BeginNode.java:80) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:163) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:140) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:274) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:168) at org.jruby.runtime.CallSite$InlineCachingCallSite.callIter(CallSite.java:425) at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:33) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.Block.yield(Block.java:110) at org.jruby.ast.YieldNode.interpret(YieldNode.java:95) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.IfNode.interpret(IfNode.java:108) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.ast.RescueNode.executeBody(RescueNode.java:222) at org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:144) at org.jruby.ast.RescueNode.interpret(RescueNode.java:107) at org.jruby.ast.BeginNode.interpret(BeginNode.java:80) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:153) at org.jruby.runtime.Block.yield(Block.java:105) at org.jruby.RubyKernel.loop(RubyKernel.java:1039) at org.jruby.RubyKernel$s_method_0_0$RUBYFRAMEDINVOKER$loop.call(org/jruby/RubyKernel$s_method_0_0$RUBYFRAMEDINVOKER$loop.gen) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:144) at org.jruby.runtime.CallSite$InlineCachingCallSite.callIter(CallSite.java:374) at org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:31) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:153) at org.jruby.runtime.Block.yield(Block.java:105) at org.jruby.RubyKernel.rbCatch(RubyKernel.java:890) at org.jruby.RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$rbCatch.call(org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$rbCatch.gen) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:168) at org.jruby.runtime.CallSite$InlineCachingCallSite.callIter(CallSite.java:425) at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:33) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:163) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:140) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:232) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:144) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:355) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:63) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:163) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:140) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:211) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:132) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:343) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:153) at org.jruby.runtime.Block.yield(Block.java:105) at org.jruby.RubyKernel.rbCatch(RubyKernel.java:890) at org.jruby.RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$rbCatch.call(org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$rbCatch.gen) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:168) at org.jruby.runtime.CallSite$InlineCachingCallSite.callIter(CallSite.java:425) at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:33) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:163) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:140) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:211) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:132) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:343) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.RootNode.interpret(RootNode.java:126) at org.jruby.Ruby.evalScriptlet(Ruby.java:229) Any help? Thanks Ahmed --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
- [jruby-dev] TwoVarDynamicScope Problem Ahmed Abdelsalam
- Re: [jruby-dev] TwoVarDynamicScope Problem Yoko Harada
- Re: [jruby-dev] TwoVarDynamicScope Problem Ahmed Abdelsalam
- Re: [jruby-dev] TwoVarDynamicScope Problem Yoko Harada
