can you give it a try with an up to date snapshot please? *Romain Manni-Bucau* *Twitter: @rmannibucau* *Blog: http://rmannibucau.wordpress.com*
2012/8/26 Enrico Olivelli <[email protected]> > The problem appears on "start", if I restart TomEE there is no problem > > > when you click "Run" on a webapp actually NetBeans calls: > -- un deploy > undeploy?path=/**SecureApplication > -- deploy (first call, with good classloader) > deploy?config=file%3A%2FC%3A%**2FUsers%2FUtente%2FAppData%** > 2FLocal%2FTemp%**2Fcontext3376652197219720975.** > xml&path=/SecureApplication > -- start (second call, with /manager contextclassloader in TomEE) > start?path=/SecureApplication > > this is the "second call", the bad one > at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(** > TomcatWebAppBuilder.java:991) > > > Il 26/08/2012 08:35, Enrico Olivelli ha scritto: > > Hi, >> I was writing a Tomcat patch to enable JAASRealm to load configuration >> from webapp classssloader. >> I noticed that sometimes my realm was "started" using a bad >> ContextClassLoader (the loader of /manager servlet) >> I was (of course!) using my local TomEE snapshot.... >> On a simple Tomcat this problem does not happen, on TomEE Realm >> startInternal is called sometimes with a good CL, sometimes with the bad one >> >> >> Bad stacktrace on TomEE: >> >> java.lang.Exception: cl=WebappClassLoader >> context: /manager >> delegate: false >> repositories: >> ----------> Parent Classloader: >> org.apache.catalina.loader.**StandardClassLoader@9fa0f19 >> >> at org.apache.catalina.realm.**LocalConfigJAASRealm.** >> parseClassNames(**LocalConfigJAASRealm.java:78) >> at org.apache.catalina.realm.**JAASRealm.startInternal(** >> JAASRealm.java:606) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:150) >> at org.apache.catalina.realm.**CombinedRealm.startInternal(** >> CombinedRealm.java:201) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:150) >> at org.apache.catalina.core.**ContainerBase.setRealm(** >> ContainerBase.java:791) >> at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(** >> TomcatWebAppBuilder.java:991) >> at org.apache.tomee.catalina.**GlobalListenerSupport.** >> lifecycleEvent(**GlobalListenerSupport.java:**104) >> at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(* >> *LifecycleSupport.java:119) >> at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(** >> LifecycleBase.java:90) >> at org.apache.catalina.util.**LifecycleBase.**setStateInternal(** >> LifecycleBase.java:401) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:168) >> at org.apache.catalina.core.**ContainerBase.**addChildInternal(** >> ContainerBase.java:901) >> at org.apache.catalina.core.**ContainerBase.addChild(** >> ContainerBase.java:877) >> at org.apache.catalina.core.**StandardHost.addChild(** >> StandardHost.java:618) >> at org.apache.catalina.startup.**HostConfig.deployDescriptor(** >> HostConfig.java:650) >> at org.apache.catalina.startup.**HostConfig.deployApps(** >> HostConfig.java:531) >> at org.apache.catalina.startup.**HostConfig.check(HostConfig.** >> java:1468) >> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method) >> at sun.reflect.**NativeMethodAccessorImpl.**invoke(** >> NativeMethodAccessorImpl.java:**57) >> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(** >> DelegatingMethodAccessorImpl.**java:43) >> at java.lang.reflect.Method.**invoke(Method.java:601) >> at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(** >> BaseModelMBean.java:301) >> at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(* >> *DefaultMBeanServerInterceptor.**java:819) >> at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(** >> JmxMBeanServer.java:791) >> at org.apache.catalina.manager.**ManagerServlet.check(** >> ManagerServlet.java:1436) >> at org.apache.catalina.manager.**ManagerServlet.deploy(** >> ManagerServlet.java:856) >> at org.apache.catalina.manager.**ManagerServlet.doGet(** >> ManagerServlet.java:353) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**305) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.apache.catalina.filters.**SetCharacterEncodingFilter.** >> doFilter(**SetCharacterEncodingFilter.**java:108) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**243) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.apache.catalina.core.**StandardWrapperValve.invoke(** >> StandardWrapperValve.java:225) >> at org.apache.catalina.core.**StandardContextValve.invoke(** >> StandardContextValve.java:123) >> at org.apache.tomee.catalina.**OpenEJBValve.invoke(** >> OpenEJBValve.java:45) >> at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(** >> AuthenticatorBase.java:581) >> at org.apache.catalina.core.**StandardHostValve.invoke(** >> StandardHostValve.java:168) >> at org.apache.catalina.valves.**ErrorReportValve.invoke(** >> ErrorReportValve.java:98) >> at org.apache.catalina.valves.**AccessLogValve.invoke(** >> AccessLogValve.java:927) >> >> >> Good stacktrace on TomEE >> >> java.lang.Exception: cl=WebappClassLoader >> context: /SecureApplication >> delegate: false >> repositories: >> /WEB-INF/classes/ >> ----------> Parent Classloader: >> org.apache.catalina.loader.**StandardClassLoader@9fa0f19 >> >> at org.apache.catalina.realm.**LocalConfigJAASRealm.** >> parseClassNames(**LocalConfigJAASRealm.java:78) >> at org.apache.catalina.realm.**JAASRealm.startInternal(** >> JAASRealm.java:605) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:150) >> at org.apache.catalina.core.**StandardContext.startInternal(** >> StandardContext.java:5168) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:150) >> at org.apache.catalina.core.**ContainerBase.**addChildInternal(** >> ContainerBase.java:901) >> at org.apache.catalina.core.**ContainerBase.addChild(** >> ContainerBase.java:877) >> at org.apache.catalina.core.**StandardHost.addChild(** >> StandardHost.java:618) >> at org.apache.catalina.startup.**HostConfig.deployDescriptor(** >> HostConfig.java:650) >> at org.apache.catalina.startup.**HostConfig.deployApps(** >> HostConfig.java:531) >> at org.apache.catalina.startup.**HostConfig.check(HostConfig.** >> java:1468) >> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method) >> at sun.reflect.**NativeMethodAccessorImpl.**invoke(** >> NativeMethodAccessorImpl.java:**57) >> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(** >> DelegatingMethodAccessorImpl.**java:43) >> at java.lang.reflect.Method.**invoke(Method.java:601) >> at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(** >> BaseModelMBean.java:301) >> at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(* >> *DefaultMBeanServerInterceptor.**java:819) >> at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(** >> JmxMBeanServer.java:791) >> at org.apache.catalina.manager.**ManagerServlet.check(** >> ManagerServlet.java:1436) >> at org.apache.catalina.manager.**ManagerServlet.deploy(** >> ManagerServlet.java:856) >> at org.apache.catalina.manager.**ManagerServlet.doGet(** >> ManagerServlet.java:353) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**305) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.apache.catalina.filters.**SetCharacterEncodingFilter.** >> doFilter(**SetCharacterEncodingFilter.**java:108) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**243) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.apache.catalina.core.**StandardWrapperValve.invoke(** >> StandardWrapperValve.java:225) >> at org.apache.catalina.core.**StandardContextValve.invoke(** >> StandardContextValve.java:123) >> at org.apache.tomee.catalina.**OpenEJBValve.invoke(** >> OpenEJBValve.java:45) >> at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(** >> AuthenticatorBase.java:581) >> at org.apache.catalina.core.**StandardHostValve.invoke(** >> StandardHostValve.java:168) >> at org.apache.catalina.valves.**ErrorReportValve.invoke(** >> ErrorReportValve.java:98) >> at org.apache.catalina.valves.**AccessLogValve.invoke(** >> AccessLogValve.java:927) >> at org.apache.catalina.core.**StandardEngineValve.invoke(** >> StandardEngineValve.java:118) >> at org.apache.catalina.connector.**CoyoteAdapter.service(** >> CoyoteAdapter.java:407) >> at org.apache.coyote.http11.**AbstractHttp11Processor.**process(** >> AbstractHttp11Processor.java:**1001) >> at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.* >> *process(AbstractProtocol.java:**585) >> at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.** >> run(JIoEndpoint.java:312) >> at java.util.concurrent.**ThreadPoolExecutor.runWorker(** >> ThreadPoolExecutor.java:1110) >> at java.util.concurrent.**ThreadPoolExecutor$Worker.run(** >> ThreadPoolExecutor.java:603) >> at java.lang.Thread.run(Thread.**java:722) >> >> >> >> Good stacktrace on Tomcat 7.0.29 >> java.lang.Exception: cl=WebappClassLoader >> context: /SecureApplication >> delegate: false >> repositories: >> /WEB-INF/classes/ >> ----------> Parent Classloader: >> org.apache.catalina.loader.**StandardClassLoader@5faf89c5 >> >> at org.apache.catalina.realm.**LocalConfigJAASRealm.** >> parseClassNames(**LocalConfigJAASRealm.java:78) >> at org.apache.catalina.realm.**JAASRealm.startInternal(** >> JAASRealm.java:606) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:150) >> at org.apache.catalina.core.**StandardContext.startInternal(** >> StandardContext.java:5156) >> at org.apache.catalina.util.**LifecycleBase.start(** >> LifecycleBase.java:150) >> at org.apache.catalina.core.**ContainerBase.**addChildInternal(** >> ContainerBase.java:895) >> at org.apache.catalina.core.**ContainerBase.addChild(** >> ContainerBase.java:871) >> at org.apache.catalina.core.**StandardHost.addChild(** >> StandardHost.java:615) >> at org.apache.catalina.startup.**HostConfig.deployDescriptor(** >> HostConfig.java:649) >> at org.apache.catalina.startup.**HostConfig.deployApps(** >> HostConfig.java:530) >> at org.apache.catalina.startup.**HostConfig.check(HostConfig.** >> java:1471) >> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method) >> at sun.reflect.**NativeMethodAccessorImpl.**invoke(** >> NativeMethodAccessorImpl.java:**57) >> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(** >> DelegatingMethodAccessorImpl.**java:43) >> at java.lang.reflect.Method.**invoke(Method.java:601) >> at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(** >> BaseModelMBean.java:301) >> at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(* >> *DefaultMBeanServerInterceptor.**java:819) >> at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(** >> JmxMBeanServer.java:791) >> at org.apache.catalina.manager.**ManagerServlet.check(** >> ManagerServlet.java:1436) >> at org.apache.catalina.manager.**ManagerServlet.deploy(** >> ManagerServlet.java:856) >> at org.apache.catalina.manager.**ManagerServlet.doGet(** >> ManagerServlet.java:353) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**305) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.netbeans.modules.web.**monitor.server.MonitorFilter.** >> doFilter(MonitorFilter.java:**393) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**243) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.apache.catalina.filters.**SetCharacterEncodingFilter.** >> doFilter(**SetCharacterEncodingFilter.**java:108) >> at org.apache.catalina.core.**ApplicationFilterChain.** >> internalDoFilter(**ApplicationFilterChain.java:**243) >> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** >> ApplicationFilterChain.java:**210) >> at org.apache.catalina.core.**StandardWrapperValve.invoke(** >> StandardWrapperValve.java:225) >> at org.apache.catalina.core.**StandardContextValve.invoke(** >> StandardContextValve.java:169) >> at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(** >> AuthenticatorBase.java:581) >> at org.apache.catalina.core.**StandardHostValve.invoke(** >> StandardHostValve.java:168) >> at org.apache.catalina.valves.**ErrorReportValve.invoke(** >> ErrorReportValve.java:98) >> at org.apache.catalina.valves.**AccessLogValve.invoke(** >> AccessLogValve.java:927) >> at org.apache.catalina.core.**StandardEngineValve.invoke(** >> StandardEngineValve.java:118) >> at org.apache.catalina.connector.**CoyoteAdapter.service(** >> CoyoteAdapter.java:407) >> at org.apache.coyote.http11.**AbstractHttp11Processor.**process(** >> AbstractHttp11Processor.java:**999) >> at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.* >> *process(AbstractProtocol.java:**565) >> at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.** >> run(JIoEndpoint.java:309) >> at java.util.concurrent.**ThreadPoolExecutor.runWorker(** >> ThreadPoolExecutor.java:1110) >> at java.util.concurrent.**ThreadPoolExecutor$Worker.run(** >> ThreadPoolExecutor.java:603) >> at java.lang.Thread.run(Thread.**java:722) >> > > > > >
