stacktrace for undefined method is not showing correctly (outputing too much org.jruby java stuffs) ---------------------------------------------------------------------------------------------------
Key: JRUBY-6112 URL: https://jira.codehaus.org/browse/JRUBY-6112 Project: JRuby Issue Type: Bug Affects Versions: JRuby 1.7 Environment: Mac OSX 1.6 + RVM Reporter: Gabriel Mazetto Assignee: Thomas E Enebo Priority: Minor The following is the trace jRuby made, while trying to run a rake task: {quote} org.jruby.exceptions.RaiseException.<init>(RaiseException.java:101) org.jruby.Ruby.newRaiseException(Ruby.java:3412) org.jruby.Ruby.newEncodingCompatibilityError(Ruby.java:3387) org.jruby.RubyString.cat(RubyString.java:1262) org.jruby.RubyString.cat19(RubyString.java:1198) org.jruby.RubyArray.inspectAry(RubyArray.java:1472) org.jruby.RubyArray.inspect(RubyArray.java:1493) org.jruby.RubyArray$INVOKER$i$0$0$inspect.call(RubyArray$INVOKER$i$0$0$inspect.gen:65535) org.jruby.RubyClass.finvoke(RubyClass.java:636) org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:537) org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:381) org.jruby.RubyObject.inspect(RubyObject.java:393) org.jruby.RubyNameError$RubyNameErrorMessage.to_str(RubyNameError.java:120) org.jruby.RubyNameError$RubyNameErrorMessage$INVOKER$i$0$0$to_str.call(RubyNameError$RubyNameErrorMessage$INVOKER$i$0$0$to_str.gen:65535) org.jruby.RubyClass.finvoke(RubyClass.java:636) org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:537) org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:381) org.jruby.util.TypeConverter.convertToType(TypeConverter.java:71) org.jruby.util.TypeConverter.convertToType(TypeConverter.java:117) org.jruby.RubyBasicObject.convertToString(RubyBasicObject.java:775) org.jruby.RubyNameError.to_s(RubyNameError.java:202) org.jruby.RubyNameError$INVOKER$i$0$0$to_s.call(RubyNameError$INVOKER$i$0$0$to_s.gen:65535) org.jruby.RubyClass.finvoke(RubyClass.java:636) org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:537) org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:381) org.jruby.RubyException.message(RubyException.java:245) org.jruby.RubyException$INVOKER$i$0$0$message.call(RubyException$INVOKER$i$0$0$message.gen:65535) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292) org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135) org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63) org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.ast.BlockNode.interpret(BlockNode.java:71) org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190) org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:179) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312) org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169) org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.ast.BlockNode.interpret(BlockNode.java:71) org.jruby.ast.BlockNode.interpret(BlockNode.java:71) org.jruby.ast.RescueBodyNode.interpret(RescueBodyNode.java:108) org.jruby.ast.RescueNode.handleException(RescueNode.java:181) org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:124) org.jruby.ast.RescueNode.interpret(RescueNode.java:110) org.jruby.ast.BeginNode.interpret(BeginNode.java:83) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169) org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:171) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302) org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144) org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153) org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147) org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:163) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292) org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135) org.jruby.ast.VCallNode.interpret(VCallNode.java:86) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.ast.BlockNode.interpret(BlockNode.java:71) org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374) org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295) org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229) org.jruby.runtime.Block.yieldSpecific(Block.java:99) org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.ast.RescueNode.executeBody(RescueNode.java:216) org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120) org.jruby.ast.RescueNode.interpret(RescueNode.java:110) org.jruby.ast.BeginNode.interpret(BeginNode.java:83) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169) org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:171) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302) org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144) org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153) org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147) org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:163) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292) org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135) org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) org.jruby.ast.BlockNode.interpret(BlockNode.java:71) org.jruby.ast.RootNode.interpret(RootNode.java:129) org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:120) org.jruby.Ruby.runInterpreter(Ruby.java:753) org.jruby.Ruby.loadFile(Ruby.java:2507) org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66) org.jruby.runtime.load.LoadService.load(LoadService.java:261) org.jruby.RubyKernel.loadCommon(RubyKernel.java:1004) org.jruby.RubyKernel.load(RubyKernel.java:986) org.jruby.RubyKernel$INVOKER$s$0$1$load.call(RubyKernel$INVOKER$s$0$1$load.gen:65535) org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:216) org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312) org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169) Users.brodock.$_dot_rvm.gems.jruby_minus_head.bin.rake.__file__(/Users/brodock/.rvm/gems/jruby-head/bin/rake:19) Users.brodock.$_dot_rvm.gems.jruby_minus_head.bin.rake.load(/Users/brodock/.rvm/gems/jruby-head/bin/rake) org.jruby.Ruby.runScript(Ruby.java:726) org.jruby.Ruby.runScript(Ruby.java:719) org.jruby.Ruby.runNormally(Ruby.java:626) org.jruby.Ruby.runFromMain(Ruby.java:475) org.jruby.Main.doRunFromMain(Main.java:335) org.jruby.Main.internalRun(Main.java:255) org.jruby.Main.run(Main.java:221) org.jruby.Main.run(Main.java:205) org.jruby.Main.main(Main.java:185) {quote} The piece of code that raised it was something like: var = Model.all var.find_each do {|i| ...} find_each doesn't exist on Array class (Model.all) so it should raise some exception that would look like that one below (as jRuby 1.6.x does): {quote} rake aborted! undefined method `find_each' for #<Array:0x60e950e9> /Users/brodock/Projetos/Rails/cimm/migrate/lib/etl/migrates/migrate_servicos.rb:8:in `migrate_servicos' org/jruby/RubyKernel.java:2092:in `send' /Users/brodock/Projetos/Rails/cimm/migrate/lib/etl/etl_base.rb:36:in `migrate_model' /Users/brodock/Projetos/Rails/cimm/migrate/lib/tasks/migrate_from_cimm.rake:24:in `(root)' org/jruby/RubyProc.java:274:in `call' org/jruby/RubyProc.java:229:in `call' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute' org/jruby/RubyArray.java:1603:in `each' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain' /Users/brodock/.rvm/rubies/jruby-1.6.4/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level' org/jruby/RubyArray.java:1603:in `each' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:62:in `run' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' /Users/brodock/.rvm/gems/jruby-1.6.4/gems/rake-0.9.2/bin/rake:32:in `(root)' org/jruby/RubyKernel.java:1063:in `load' /Users/brodock/.rvm/gems/jruby-1.6.4/bin/rake:19:in `(root)' {quote} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email