JRuby denied access to some App Engine stuff
--------------------------------------------

                 Key: JRUBY-6167
                 URL: https://jira.codehaus.org/browse/JRUBY-6167
             Project: JRuby
          Issue Type: Bug
          Components: Application Error
    Affects Versions: JRuby 1.6.5
         Environment: Google App Engine, appengine-java-sdk-1.5.5, 
jruby-rack-1.0.10.jar, jruby-jars-1.6.5
            Reporter: Joao Pedrosa


When developing and testing locally it works OK. But when trying to deploy on 
the Google App Engine it triggers an exception:

javax.servlet.ServletContext log: Application Error
org.jruby.exceptions.RaiseException: Native Exception: 'class 
java.security.AccessControlException'; Message: access denied 
(java.lang.RuntimePermission getClassLoader); StackTrace: 
java.security.AccessControlException: access denied 
(java.lang.RuntimePermission getClassLoader)
        at 
com.google.appengine.runtime.Request.process-0000000000000000(Request.java)
        at java.lang.Class.getClassLoader(Class.java:437)
        at 
org.jruby.javasupport.JavaClass.handleScalaSingletons(JavaClass.java:130)
        at 
org.jruby.javasupport.JavaClass.setupClassMethods(JavaClass.java:1006)
        at org.jruby.javasupport.JavaClass.access$700(JavaClass.java:99)
        at 
org.jruby.javasupport.JavaClass$ClassInitializer.initialize(JavaClass.java:650)
        at org.jruby.javasupport.JavaClass.setupProxy(JavaClass.java:689)
        at org.jruby.javasupport.Java.createProxyClass(Java.java:520)
        at org.jruby.javasupport.Java.getProxyClass(Java.java:449)
        at org.jruby.javasupport.Java.getInstance(Java.java:358)
        at 
org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject(JavaUtil.java:165)
        at org.jruby.javasupport.JavaMethod.convertReturn(JavaMethod.java:595)
        at 
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:528)
        at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:380)
        at 
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.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.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:347)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:304)
        at org.jruby.runtime.Block.yield(Block.java:130)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:113)
        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.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:171)
        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.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:163)
        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)

[snip. very long stack trace]

To reproduce it you could use the sample application I've uploaded to the 
Github and replace the JRuby-Jars with the 1.6.5 versions:

https://github.com/jpedrosa/app_engine_ruby_cupcake

Cheers,
Joao

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


Reply via email to