Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-2740

NullPointerException in Web Console when using an existing browser session with a restarted broker instance

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.3.2
    • 5.8.0
    • Broker
    • None
    • Windows

    Description

      As per summary above. If you have a browser open to the web console, and create a queue it works OK. However, if you then restart the broker adn then try and perform an action like deleting the queue (from the web console) then you'll see the NPE in the broker's log.

      ERROR | Nested in org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException:
      java.lang.NullPointerException
              at org.apache.activemq.web.handler.BindingBeanNameUrlHandlerMapping.getHandlerInternal(BindingBeanNameUrlHandlerMapping.java:57)
              at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:184)
              at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1057)
              at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:854)
              at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
              at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
              at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
              at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:81)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
              at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
              at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
              at org.mortbay.jetty.Server.handle(Server.java:324)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
              at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
      
      

      I think this has something to do with stale session secrets, and is a consequence of support that was put in to protect ActiveMQ against CSRF (cross-site request forgery) attacks. The original CSRF error was alarming; this error, however, is a plain old NPE and we should fix it.

      Attachments

        Activity

          People

            tabish Timothy A. Bish
            adrian.trenaman Adrian Trenaman
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: