[ 
https://issues.apache.org/jira/browse/LOG4J2-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14582891#comment-14582891
 ] 

Gary Gregory edited comment on LOG4J2-1051 at 6/12/15 3:44 AM:
---------------------------------------------------------------

Ah, I see this in Loader:

{code:java}
    static {
        final SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            sm.checkPermission(new RuntimePermission("getStackTrace"));
            sm.checkPermission(new ReflectPermission("suppressAccessChecks"));
        }
    }
{code}

and I bet that {{checkPermission}} throws a {{SecurityException}} and we do not 
see it.

I'm not sure why these perms are checked and not saved.

Just for grins, you could remove the static block and see what happens.


was (Author: garydgregory):
Ah, I see this in Loader:

{code:java}
    static {
        final SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            sm.checkPermission(new RuntimePermission("getStackTrace"));
            sm.checkPermission(new ReflectPermission("suppressAccessChecks"));
        }
    }
{code}

and I bet that {{checkPermission}} throws a {{SecurityException}} and we do not 
see it.

> NoClassDefFoundError when starting app on Google App Engine
> -----------------------------------------------------------
>
>                 Key: LOG4J2-1051
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1051
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>         Environment: JDK7, Google App Engine, Apache Struts 2.5
>            Reporter: Lukasz Lenart
>
> I have an app that uses
> - log4j-api
> - log4j-core
> - log4j-web
> and after deploying it to GAE I see such exception in the logs
> {noformat}
> 2015-06-10 23:01:05.768
> Uncaught exception from servlet
> java.lang.NoClassDefFoundError: Could not initialize class 
> org.apache.logging.log4j.core.util.Loader
>       at 
> org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:114)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:105)
>       at 
> org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:30)
>       at 
> org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:62)
>       at 
> org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:145)
>       at 
> org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:70)
>       at 
> org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:57)
>       at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:142)
>       at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:42)
>       at org.apache.logging.log4j.LogManager.getContext(LogManager.java:175)
>       at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:426)
>       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)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to