Summary: | JMX connection may load servlet with invalid ClassLoader | ||
---|---|---|---|
Product: | Tomcat 7 | Reporter: | Robby Morgan <robby.morgan> |
Component: | Catalina | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dherrman, remi |
Priority: | P2 | ||
Version: | 7.0.35 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Attachments: | Project for reproduction of bug |
Description
Robby Morgan
2013-02-06 19:14:48 UTC
> Please investigate this bug, since it is likely to affect users combining
> Tomcat + Spring WebMVC + JMX monitoring, which I believe to be a common use
> case.
Given that the code concerned hasn't changed in quite some time, if this were a common use case then you wouldn't be the first person to report it.
There is no need to try and make a bug sound more important than it really is. Every bug report gets investigated and - currently - valid bugs are fixed for the next release which means for Tomcat 7 at most a 4-6 week wait for a binary release. Patches are usually available within a few days. This bug, for example, had a patch available in just over 12 hours.
The patch has been applied to trunk and 7.0.x and will be included in 7.0.37 onwards.
Pardon my naivety in submitting a bug ticket -- I just wanted to clarify that the bug didn't require some exotic use case. Thanks for getting this fixed so quickly! It seems like this bug still occur for Tomcat 8.0.20. As you can see on stacktrace below, during application start-up (thread [myApp-startStop-1]), another thread (thread [RMI TCP Connection(14)-172.17.14.64]) starts initializing app servlet. Should I report new bug for this issue? 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] Thread name: myApp-startStop-1.19 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.lang.Thread.getStackTrace(Thread.java:1567) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] pl.my.MyContextLoaderListener.initWebApplicationContext(MyContextLoaderListener.java:30) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4728) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5162) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1701) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.util.concurrent.FutureTask.run(FutureTask.java:166) 2015-03-26 09:27:57,353 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 2015-03-26 09:27:57,354 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 2015-03-26 09:27:57,354 [myApp-startStop-1] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [CL] java.lang.Thread.run(Thread.java:722) 2015-03-26 09:30:23,419 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] Thread name: RMI TCP Connection(14)-172.17.14.64.436 2015-03-26 09:30:23,419 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.lang.Thread.getStackTrace(Thread.java:1567) 2015-03-26 09:30:23,419 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] pl.my.MyDispatcherServlet.initWebApplicationContext(MyDispatcherServlet.java:28) 2015-03-26 09:30:23,419 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:459) 2015-03-26 09:30:23,419 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] javax.servlet.GenericServlet.init(GenericServlet.java:158) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:817) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.apache.catalina.core.StandardWrapper.isSingleThreadModel(StandardWrapper.java:559) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.lang.reflect.Method.invoke(Method.java:601) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.apache.tomcat.util.modeler.BaseModelMBean.getAttribute(BaseModelMBean.java:189) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] org.apache.tomcat.util.modeler.BaseModelMBean.getAttributes(BaseModelMBean.java:233) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:709) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:695) 2015-03-26 09:30:23,420 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1428) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:89) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1292) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1380) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] javax.management.remote.rmi.RMIConnectionImpl.getAttributes(RMIConnectionImpl.java:657) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.lang.reflect.Method.invoke(Method.java:601) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.transport.Transport$1.run(Transport.java:177) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.transport.Transport$1.run(Transport.java:174) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.security.AccessController.doPrivileged(Native Method) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.transport.Transport.serviceCall(Transport.java:173) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) 2015-03-26 09:30:23,421 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 2015-03-26 09:30:23,422 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 2015-03-26 09:30:23,422 [RMI TCP Connection(14)-172.17.14.64] INFO org.apache.catalina.core.ContainerBase.[Catalina-myApp].[myApp].[/]- [DS] java.lang.Thread.run(Thread.java:722) |