Mantis - Quercus
Viewing Issue Advanced Details
4118 minor always 07-12-10 10:29 07-12-10 10:29
emil  
 
normal  
new 4.0.8  
open  
none    
none  
0004118: Wordpress on GAE tries to access /dev/urandom
(rep by Sheldon)

When I upload the wordpress-on-gae-quercus application to appengine,
The php page is runing good, but when I login, there is a 500 internal
server error shown. And I found the error log in appengine logs shown
like below, waiting for your reply, thanks.

/wordpress-2.7.1/wp-login.php
java.security.AccessControlException: access denied
(java.io.FilePermission /dev/urandom read)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:355)
        at java.security.AccessController.checkPermission(AccessController.java:567)
        at java.lang.SecurityManager.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkRead(Unknown Source)
        at java.io.FileInputStream.<init>(FileInputStream.java:133)
        at com.caucho.vfs.FilePath.openReadImpl(FilePath.java:543)
        at com.caucho.vfs.Path.openRead(Path.java:1082)
        at com.caucho.quercus.lib.file.FileInput.<init>(FileInput.java:71)
        at com.caucho.quercus.lib.file.FileModule.fopen(FileModule.java:1399)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Method.java:43)
        at com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:135)
        at com.caucho.quercus.env.JavaInvoker.callMethod(JavaInvoker.java:670)
        at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:605)
        at com.caucho.quercus.env.AbstractJavaMethod.callCopy(AbstractJavaMethod.java:138)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
        at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
        at com.caucho.quercus.expr.SuppressErrorExpr.evalCopy(SuppressErrorExpr.java:145)
        at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
        at com.caucho.quercus.expr.Expr.evalBoolean(Expr.java:501)
        at com.caucho.quercus.statement.IfStatement.execute(IfStatement.java:80)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.call(Function.java:310)
        at com.caucho.quercus.function.AbstractFunction.callMethod(AbstractFunction.java:375)
        at com.caucho.quercus.env.ObjectExtValue.callMethod(ObjectExtValue.java:794)
        at com.caucho.quercus.expr.MethodCallExpr.eval(MethodCallExpr.java:104)
        at com.caucho.quercus.expr.Expr.evalCopy(Expr.java:405)
        at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
        at com.caucho.quercus.statement.ExprStatement.execute(ExprStatement.java:64)
        at com.caucho.quercus.statement.IfStatement.execute(IfStatement.java:81)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.call(Function.java:310)
        at com.caucho.quercus.function.AbstractFunction.callMethod(AbstractFunction.java:375)
        at com.caucho.quercus.env.ObjectExtValue.callMethod(ObjectExtValue.java:794)
        at com.caucho.quercus.expr.MethodCallExpr.eval(MethodCallExpr.java:104)
        at com.caucho.quercus.statement.ReturnStatement.execute(ReturnStatement.java:68)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.callCopy(Function.java:315)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
        at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
        at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
        at com.caucho.quercus.statement.ExprStatement.execute(ExprStatement.java:64)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.call(Function.java:310)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
        at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
        at com.caucho.quercus.statement.ExprStatement.execute(ExprStatement.java:64)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.statement.IfStatement.execute(IfStatement.java:81)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.statement.IfStatement.execute(IfStatement.java:81)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.call(Function.java:310)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
        at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
        at com.caucho.quercus.expr.Expr.evalBoolean(Expr.java:501)
        at com.caucho.quercus.expr.NotExpr.evalBoolean(NotExpr.java:72)
        at com.caucho.quercus.statement.IfStatement.execute(IfStatement.java:80)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.callCopy(Function.java:315)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
        at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
        at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
        at com.caucho.quercus.statement.ExprStatement.execute(ExprStatement.java:64)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.Function.callImpl(Function.java:381)
        at com.caucho.quercus.program.Function.callCopy(Function.java:315)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
        at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
        at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
        at com.caucho.quercus.statement.ExprStatement.execute(ExprStatement.java:64)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.statement.SwitchStatement.execute(SwitchStatement.java:121)
        at com.caucho.quercus.statement.BlockStatement.execute(BlockStatement.java:105)
        at com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:400)
        at com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:89)
        at com.caucho.quercus.env.Env.executePageTop(Env.java:3443)
        at com.caucho.quercus.env.Env.executeTop(Env.java:3389)
        at com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:173)
        at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:445)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
        at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
        at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnecti

There are no notes attached to this issue.