java.lang.AbstractMethodError

ZK-Tracker | hattifnat | 5 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    When ZK encounters an error (eg. site not found), error handling code is invoked DHtmlLayoutPortlet.handleError() which tries to include an error page. This, in case of Tomcat 7, delegates to org.apache.catalina.core.ApplicationDispatcher.include() which tries to call ServletRequest.getDispatcherType() which is a method added in Servlet API 3. But the underlying servletRequest is ZK's RenderHttpServletRequest that does not implement Servlet API 3. This causes the initial error message to be discarded and a following exception is thrown. java.lang.AbstractMethodError at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:529) at org.zkoss.web.portlet.ServletPortletDispatcher.include(ServletPortletDispatcher.java:51) at org.zkoss.web.portlet.Portlets.include(Portlets.java:72) at org.zkoss.zk.ui.http.DHtmlLayoutPortlet.handleError(DHtmlLayoutPortlet.java:335) at org.zkoss.zk.ui.http.DHtmlLayoutPortlet.doView(DHtmlLayoutPortlet.java:146) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328) at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93) 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 com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70) 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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) ...

    ZK-Tracker | 5 years ago | hattifnat
    java.lang.AbstractMethodError
  2. 0

    When ZK encounters an error (eg. site not found), error handling code is invoked DHtmlLayoutPortlet.handleError() which tries to include an error page. This, in case of Tomcat 7, delegates to org.apache.catalina.core.ApplicationDispatcher.include() which tries to call ServletRequest.getDispatcherType() which is a method added in Servlet API 3. But the underlying servletRequest is ZK's RenderHttpServletRequest that does not implement Servlet API 3. This causes the initial error message to be discarded and a following exception is thrown. java.lang.AbstractMethodError at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:529) at org.zkoss.web.portlet.ServletPortletDispatcher.include(ServletPortletDispatcher.java:51) at org.zkoss.web.portlet.Portlets.include(Portlets.java:72) at org.zkoss.zk.ui.http.DHtmlLayoutPortlet.handleError(DHtmlLayoutPortlet.java:335) at org.zkoss.zk.ui.http.DHtmlLayoutPortlet.doView(DHtmlLayoutPortlet.java:146) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328) at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93) 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 com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70) 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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) ...

    ZK-Tracker | 5 years ago | hattifnat
    java.lang.AbstractMethodError

    Root Cause Analysis

    1. java.lang.AbstractMethodError

      No message provided

      at org.apache.catalina.core.ApplicationDispatcher.include()
    2. Glassfish Core
      ApplicationDispatcher.include
      1. org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:529)
      1 frame
    3. The ZKoss Web Library
      Portlets.include
      1. org.zkoss.web.portlet.ServletPortletDispatcher.include(ServletPortletDispatcher.java:51)
      2. org.zkoss.web.portlet.Portlets.include(Portlets.java:72)
      2 frames
    4. ZK Kernel
      DHtmlLayoutPortlet.doView
      1. org.zkoss.zk.ui.http.DHtmlLayoutPortlet.handleError(DHtmlLayoutPortlet.java:335)
      2. org.zkoss.zk.ui.http.DHtmlLayoutPortlet.doView(DHtmlLayoutPortlet.java:146)
      2 frames
    5. Java Portlet Specification V2.0
      GenericPortlet.render
      1. javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
      2. javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
      2 frames
    6. Liferay Portal Service
      PortletServlet.service
      1. com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
      2. com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
      3. com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
      3 frames
    7. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      1 frame
    8. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      2 frames
    9. Liferay Portal Service
      InvokerFilter.doFilter
      1. com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
      2. com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
      2 frames
    10. Glassfish Core
      ApplicationDispatcher.include
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      3. org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
      4. org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
      5. org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
      5 frames