Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-3683

Viewing a label that no longer exists throws an exception instead of an error page

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 2.0
    • 2.0
    • None

    Description

      If you try and access a label (via the ID) that no longer exists, an exception is thrown, rather than presenting a nice error page.

      e.g. http://localhost:8080/confluence/labels/viewlabel.action?id=8 (where the label with ID 8 no longer exists) gives this:

      Cause:
      org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1

      Stack Trace: [hide]

      org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1
      at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:188)
      at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:226)
      at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:207)
      at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:250)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:158)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      at org.apache.velocity.Template.merge(Template.java:296)
      at com.opensymphony.webwork.dispatcher.VelocityResult.doExecute(VelocityResult.java:91)
      at bucket.util.profiling.ProfiledVelocityResult.doExecute(ProfiledVelocityResult.java:18)
      at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
      at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
      at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:33)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:16)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:40)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:84)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:133)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
      at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
      at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
      at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:150)
      at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:168)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
      at bucket.custom.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:31)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
      at com.atlassian.confluence.util.error.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:36)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.caucho.server.http.Invocation.service(Invocation.java:315)
      at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
      at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:253)
      at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:171)
      at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
      at java.lang.Thread.run(Thread.java:534)

      Referer URL: Unknown

      Build Information:
      Uptime: 17 minutes, 11 seconds
      Version: @VERSION@
      Build Number: @BUILD_NUMBER@

      Server Information:
      Application Server: Resin/2.1.16
      Servlet Version: 2.3
      Database Dialect: net.sf.hibernate.dialect.HSQLDialect

      Memory Information:
      Total Memory: 127 MB
      Free Memory: 100 MB
      Used Memory: 27 MB

      System Information:
      System Date: Tuesday, 02 Aug 2005
      System Time: 17:11:02
      System Favourite Colour: Lime
      Java Version: 1.4.2_08
      Java Vendor: Sun Microsystems Inc.
      JVM Version: 1.0
      JVM Vendor: Sun Microsystems Inc.
      JVM Implementation Version: 1.4.2_08-b03
      Java Runtime: Java(TM) 2 Runtime Environment, Standard Edition
      Java VM: Java HotSpot(TM) Client VM
      User Name: Jeremy
      User Timezone: Australia/Sydney
      Operating System: Windows 2003 5.2
      OS Architecture: x86
      Request

      Information:
      URL: http://localhost:8080/confluence/500page.jsp

      • Scheme: http
      • Server: localhost
      • Port: 8080
      • URI: /confluence/500page.jsp
      • - Context Path: /confluence
      • - Servlet Path: /500page.jsp
      • - Path Info: null
      • - Query String: null

      Attributes:

      • javax.servlet.error.exception : org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1
      • sessioninview.FILTERED : true
      • javax.servlet.error.status_code : 500
      • com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
      • atlassian.core.seraph.original.url : /labels/viewlabel.action?id=8
      • webwork.valueStack : com.opensymphony.xwork.util.OgnlValueStack@d92404
      • javax.servlet.error.servlet_name : action
      • loginfilter.already.filtered : true
      • os_securityfilter_already_filtered : true
      • _sitemesh_filterapplied : true
      • javax.servlet.error.message : Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1
      • javax.servlet.error.request_uri : /confluence/labels/viewlabel.action
      • javax.servlet.jsp.jspException : org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1
      • com.atlassian.core.filters.gzip.GzipFilter_already_filtered : true

      Parameters:

      • id = 8

      Logging:
      2 log statements generated by this request:
      [ERROR] Tue Aug 02 17:11:02 EST 2005 [com.opensymphony.webwork.dispatcher.VelocityResult] Unable to render Velocity Template, '/labels/viewlabel.vm'
      Throwable:
      org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1
      at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:188)
      at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:226)
      at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:207)
      at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:250)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:158)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      at org.apache.velocity.Template.merge(Template.java:296)
      at com.opensymphony.webwork.dispatcher.VelocityResult.doExecute(VelocityResult.java:91)
      at bucket.util.profiling.ProfiledVelocityResult.doExecute(ProfiledVelocityResult.java:18)
      at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
      [ERROR] Tue Aug 02 17:11:02 EST 2005 [com.opensymphony.webwork.dispatcher.ServletDispatcher] Could not execute action
      Throwable:
      org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPreviousIndex' in class bucket.core.actions.PaginationSupport threw exception class java.lang.ArrayIndexOutOfBoundsException : -1
      at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:188)
      at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:226)
      at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:207)
      at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:250)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
      at com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:158)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      at org.apache.velocity.Template.merge(Template.java:296)
      at com.opensymphony.webwork.dispatcher.VelocityResult.doExecute(VelocityResult.java:91)
      at bucket.util.profiling.ProfiledVelocityResult.doExecute(ProfiledVelocityResult.java:18)
      at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)

      Attachments

        Activity

          People

            Unassigned Unassigned
            8d92d19feb5e Jeremy Higgs
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: