Hi tknv/, The NoClassDefFound error is a result of the class not being present in the runtime because it would violate the sandbox requirements for App Engine. On App Engine, you currently cannot make outbound TCP/raw socket connections (HTTP is fine with certain constraints on port numbers). More information can be found here:
http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox Also, since you mentioned JRuby, you might want to get more info on JRuby on App Engine specifically. Ola Bini has been doing great work on getting JRuby to work more smoothly in App Engine, and here are a few resouces which I'm aware of, though some searching will certainly turn up more: http://code.google.com/events/io/sessions/JrubyAppEngineJava.html http://www.youtube.com/watch?v=xTC6LVAc6Ps http://olabini.com/blog/2009/04/jruby-on-rails-on-google-app-engine/ Happy coding, Jeff On Thu, Jul 2, 2009 at 3:34 AM, tknv <rreedd...@gmail.com> wrote: > > Hi.et.,al. > > My app jruby app doesn't running on GAE. > But could run on my local. > > This is logs on GAE. > Error for / > java.lang.NoClassDefFoundError: Could not initialize class > > com.google.apphosting.runtime.security.shared.stub.java.net.InetSocketAddress > at org.jruby.ext.socket.RubyTCPSocket.initialize(RubyTCPSocket.java: > 101) > at org.jruby.ext.socket.RubyTCPSocket$i_method_0_2$RUBYINVOKER > $initialize.call(org/jruby/ext/socket/RubyTCPSocket > $i_method_0_2$RUBYINVOKER$initialize.gen) > at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call > (JavaMethod.java:635) > at org.jruby.runtime.callsite.CachingCallSite.callBlock > (CachingCallSite.java:44) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:51) > at org.jruby.RubyClass.newInstance(RubyClass.java:593) > at org.jruby.RubyIO.newInstance(RubyIO.java:822) > at org.jruby.RubyIO$s_method_0_0$RUBYFRAMEDINVOKER$newInstance.call > (org/jruby/RubyIO$s_method_0_0$RUBYFRAMEDINVOKER$newInstance.gen) > at org.jruby.internal.runtime.methods.DynamicMethod.call > (DynamicMethod.java:138) > at org.jruby.RubyClass.finvoke(RubyClass.java:511) > at org.jruby.javasupport.util.RuntimeHelpers.invoke > (RuntimeHelpers.java:419) > at org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:323) > at org.jruby.ext.socket.RubyTCPSocket.open(RubyTCPSocket.java:131) > at org.jruby.ext.socket.RubyTCPSocket$s_method_0_0$RUBYFRAMEDINVOKER > $open.call(org/jruby/ext/socket/RubyTCPSocket > $s_method_0_0$RUBYFRAMEDINVOKER$open.gen) > at org.jruby.internal.runtime.methods.DynamicMethod.call > (DynamicMethod.java:176) > at org.jruby.internal.runtime.methods.DynamicMethod.call > (DynamicMethod.java:172) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:155) > at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.runtime.InterpretedBlock.evalBlockBody > (InterpretedBlock.java:222) > at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java: > 173) > at org.jruby.runtime.InterpretedBlock.yieldSpecific > (InterpretedBlock.java:114) > at org.jruby.runtime.Block.yieldSpecific(Block.java:99) > at org.jruby.ext.Timeout.timeout(Timeout.java:67) > at org.jruby.ext.Timeout$TimeoutToplevel.timeout(Timeout.java:53) > at org.jruby.ext.Timeout$TimeoutToplevel$s_method_0_1$RUBYINVOKER > $timeout.call(org/jruby/ext/Timeout$TimeoutToplevel > $s_method_0_1$RUBYINVOKER$timeout.gen) > at org.jruby.internal.runtime.methods.DynamicMethod.call > (DynamicMethod.java:168) > at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall > (CachingCallSite.java:288) > at org.jruby.runtime.callsite.CachingCallSite.callBlock > (CachingCallSite.java:126) > at org.jruby.runtime.callsite.CachingCallSite.callIter > (CachingCallSite.java:141) > at org.jruby.ast.FCallOneArgBlockNode.interpret > (FCallOneArgBlockNode.java:34) > 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.internal.runtime.methods.InterpretedMethod.call > (InterpretedMethod.java:136) > at org.jruby.internal.runtime.methods.DefaultMethod.call > (DefaultMethod.java:139) > at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall > (CachingCallSite.java:258) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:77) > at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) > at org.jruby.internal.runtime.methods.InterpretedMethod.call > (InterpretedMethod.java:136) > at org.jruby.internal.runtime.methods.DefaultMethod.call > (DefaultMethod.java:139) > at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall > (CachingCallSite.java:258) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:77) > at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) > 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.IfNode.interpret(IfNode.java:112) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) > at org.jruby.internal.runtime.methods.InterpretedMethod.call > (InterpretedMethod.java:155) > at org.jruby.internal.runtime.methods.DefaultMethod.call > (DefaultMethod.java:147) > at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall > (CachingCallSite.java:268) > at org.jruby.runtime.callsite.CachingCallSite.callBlock > (CachingCallSite.java:86) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:91) > at org.jruby.ast.CallNoArgBlockPassNode.interpret > (CallNoArgBlockPassNode.java:53) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.internal.runtime.methods.InterpretedMethod.call > (InterpretedMethod.java:229) > at org.jruby.internal.runtime.methods.DefaultMethod.call > (DefaultMethod.java:179) > at org.jruby.runtime.callsite.CachingCallSite.callBlock > (CachingCallSite.java:164) > at org.jruby.runtime.callsite.CachingCallSite.callIter > (CachingCallSite.java:181) > at org.jruby.ast.CallTwoArgBlockNode.interpret > (CallTwoArgBlockNode.java:62) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) > at org.jruby.runtime.InterpretedBlock.evalBlockBody > (InterpretedBlock.java:222) > at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java: > 210) > at org.jruby.runtime.BlockBody.call(BlockBody.java:72) > at org.jruby.runtime.BlockBody.call(BlockBody.java:78) > at org.jruby.runtime.Block.call(Block.java:89) > at org.jruby.RubyProc.call(RubyProc.java:221) > at > org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java: > 63) > at org.jruby.internal.runtime.methods.DynamicMethod.call > (DynamicMethod.java:160) > at org.jruby.RubyMethod.call(RubyMethod.java:107) > at org.jruby.RubyMethod$i_method_multi$RUBYINVOKER$call.call(org/ > jruby/RubyMethod$i_method_multi$RUBYINVOKER$call.gen) > at org.jruby.internal.runtime.methods.JavaMethod > $JavaMethodZeroOrNBlock.call(JavaMethod.java:242) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:75) > at > org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java: > 65) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.runtime.InterpretedBlock.evalBlockBody > (InterpretedBlock.java:222) > at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java: > 210) > at org.jruby.runtime.Block.yield(Block.java:199) > at org.jruby.RubyObject.yieldUnder(RubyObject.java:495) > at org.jruby.RubyObject.specificEval(RubyObject.java:317) > at org.jruby.RubyObject.instance_eval(RubyObject.java:1271) > at org.jruby.RubyObject$i_method_multi$RUBYFRAMEDINVOKER > $instance_eval.call(org/jruby/RubyObject$i_method_multi > $RUBYFRAMEDINVOKER$instance_eval.gen) > at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall > (CachingCallSite.java:268) > at org.jruby.runtime.callsite.CachingCallSite.callBlock > (CachingCallSite.java:86) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:91) > at org.jruby.ast.FCallNoArgBlockPassNode.interpret > (FCallNoArgBlockPassNode.java:27) > at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.internal.runtime.methods.InterpretedMethod.call > (InterpretedMethod.java:155) > at org.jruby.internal.runtime.methods.DefaultMethod.call > (DefaultMethod.java:147) > at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall > (CachingCallSite.java:268) > at org.jruby.runtime.callsite.CachingCallSite.callBlock > (CachingCallSite.java:86) > at org.jruby.runtime.callsite.CachingCallSite.call > (CachingCallSite.java:91) > at org.jruby.ast.FCallNoArgBlockPassNode.interpret > (FCallNoArgBlockPassNode.java:27) > at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) > at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) > at org.jruby.runtime.InterpretedBlock.evalBlockBody > (InterpretedBlock.java:222) > at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java: > 173) > at org.jruby.runtime.Block.yield(Block.java:194) > at org.jruby > ---------------------------------------------------------- > Is that relay that below issue ? > http://jira.codehaus.org/browse/JRUBY-2874 > > Thanks > tknv/ > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---