Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-7909

Magnolia fails to start because of incorrect listener class

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Workaround exists
    • Icon: Neutral Neutral
    • None
    • 5.7
    • core
    • None

      This issue can occur with an incorrect web.xml listener class:

      28-Oct-2020 14:52:27.208 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/Users/rich.gange/magnolia/apache-tomcat-9.0.37/webapps/magnoliaAuthor]
      28-Oct-2020 14:52:35.897 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
      28-Oct-2020 14:52:35.904 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [/magnoliaAuthor] startup failed due to previous errors
      28-Oct-2020 14:52:35.920 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/Users/rich.gange/magnolia/apache-tomcat-9.0.37/webapps/magnoliaAuthor] has finished in [8,711] ms
      28-Oct-2020 14:52:35.922 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
      28-Oct-2020 14:52:35.927 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [8746] milliseconds
      

      Stack Trace

      27-Oct-2020 17:12:33.505 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [info.magnolia.cms.servlets.MgnlServletContextListener]
      27-Oct-2020 17:12:33.509 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Skipped installing application listeners due to previous error(s)
      	java.lang.ClassNotFoundException: info.magnolia.cms.servlets.MgnlServletContextListener
      		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
      		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
      		at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)
      		at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)
      		at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
      		at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4621)
      		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165)
      		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      		at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
      		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
      		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
      		at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287)
      		at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
      		at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
      		at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:479)
      		at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:428)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287)
      		at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
      		at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
      		at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
      		at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
      		at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
      		at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
      		at java.security.AccessController.doPrivileged(Native Method)
      		at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
      		at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
      		at sun.rmi.transport.Transport$1.run(Transport.java:200)
      		at sun.rmi.transport.Transport$1.run(Transport.java:197)
      		at java.security.AccessController.doPrivileged(Native Method)
      		at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
      		at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
      		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
      		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
      		at java.security.AccessController.doPrivileged(Native Method)
      		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
      		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      		at java.lang.Thread.run(Thread.java:748)
      

      Solution
      Change the listener-class in the web.xml from this:

        <filter>
          <display-name>Magnolia global filters</display-name>
          <filter-name>magnoliaFilterChain</filter-name>
          <filter-class>info.magnolia.cms.filters.MgnlMainFilter</filter-class>
          <async-supported>true</async-supported>
        </filter>
        <filter-mapping>
          <filter-name>magnoliaFilterChain</filter-name>
          <url-pattern>/*</url-pattern>
          <dispatcher>REQUEST</dispatcher>
          <dispatcher>FORWARD</dispatcher>
          <dispatcher>INCLUDE</dispatcher>
          <dispatcher>ERROR</dispatcher>
        </filter-mapping>
        <listener>
          <listener-class>info.magnolia.cms.servlets.MgnlServletContextListener</listener-class>
        </listener>
      

      To this:

        <filter>
          <display-name>Magnolia global filters</display-name>
          <filter-name>magnoliaFilterChain</filter-name>
          <filter-class>info.magnolia.cms.filters.MgnlMainFilter</filter-class>
          <async-supported>true</async-supported>
        </filter>
        <filter-mapping>
          <filter-name>magnoliaFilterChain</filter-name>
          <url-pattern>/*</url-pattern>
          <dispatcher>REQUEST</dispatcher>
          <dispatcher>FORWARD</dispatcher>
          <dispatcher>INCLUDE</dispatcher>
          <dispatcher>ERROR</dispatcher>
        </filter-mapping>
        <listener>
          <listener-class>info.magnolia.init.MagnoliaServletContextListener</listener-class>
        </listener>
      

        Acceptance criteria

              Unassigned Unassigned
              rgange Richard Gange
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD