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
-~----------~----~----~----~------~----~------~--~---

Reply via email to