[
https://issues.apache.org/jira/browse/LOG4J2-1035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14580121#comment-14580121
]
Gary Gregory commented on LOG4J2-1035:
--------------------------------------
Hi [~lukaszlenart],
Can you implementing this locally and see if GAE trips up on something else? If
you get GAE working based on Git master, we can then talk about how to best fix
this issue.
> Log4j2 tries to SystemClassLoader when running on Google AppEngine
> ------------------------------------------------------------------
>
> Key: LOG4J2-1035
> URL: https://issues.apache.org/jira/browse/LOG4J2-1035
> Project: Log4j 2
> Issue Type: Bug
> Components: Configurators
> Affects Versions: 2.3
> Environment: Google AppEngine
> Reporter: Lukasz Lenart
>
> Apache Struts recently switched to Log4j2 as a base logging layer and this
> broke deployments to Google AppEngine, below is the exception:
> {noformat}
> Uncaught exception from servlet
> java.lang.ExceptionInInitializerError
> at
> org.apache.logging.log4j.status.StatusLogger.<clinit>(StatusLogger.java:55)
> at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:56)
> at
> org.apache.struts2.tiles.StrutsTilesListener.<clinit>(StrutsTilesListener.java:50)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at java.lang.Class.newInstance(Class.java:375)
> at
> org.mortbay.jetty.webapp.WebXmlConfiguration.newListenerInstance(WebXmlConfiguration.java:650)
> at
> org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:631)
> at
> org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:368)
> at
> org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:289)
> at
> org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222)
> at
> org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180)
> at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247)
> at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:199)
> at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:174)
> at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
> at
> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:527)
> at
> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
> at
> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
> at
> com.google.tracing.CurrentContext.runInContext(CurrentContext.java:230)
> at
> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
> at
> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
> at
> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441)
> at
> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.security.AccessControlException: access denied
> ("java.lang.RuntimePermission" "getClassLoader")
> at
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:382)
> at
> java.security.AccessController.checkPermission(AccessController.java:572)
> at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
> at
> com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:56)
> at
> java.lang.ClassLoader.checkClassLoaderPermission(ClassLoader.java:1606)
> at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1525)
> at
> org.apache.logging.log4j.util.LoaderUtil.findUrlResources(LoaderUtil.java:192)
> at
> org.apache.logging.log4j.util.LoaderUtil.findResources(LoaderUtil.java:183)
> at
> org.apache.logging.log4j.util.PropertiesUtil.<init>(PropertiesUtil.java:90)
> at
> org.apache.logging.log4j.util.PropertiesUtil.<clinit>(PropertiesUtil.java:36)
> ... 30 more
> {noformat}
> Looks like it tries to read a file from filesystem which is prohibited.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]