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

Exception when diffing added line

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 1.0 Beta2
    • 1.0 Beta2
    • None

    Description

      I'm having trouble coming up with a reduced test case for this one.

      Create a page with the following content (not the ----)


      This is the home page for the My Test Space space.

      You can edit the content of this page with the Edit link on the right. I'm just creating lots of different versions here.

      Moo

      HTML Edit!


      Update it to this:


      This is the home page for the My Test Space space.

      You can edit the content of this page with the Edit link on the right. I'm just creating lots of different versions here.

      Plain-text edit!

      Moo

      HTML Edit!


      Diff the two pages, and you get an AIOOBE in the within-line diffing. Possibly, Diff is being passed a pair of empty arrays to compare, and barfing on that.

      java.lang.ArrayIndexOutOfBoundsException: 3
      at org.apache.commons.jrcs.diff.myers.MyersDiff.buildPath(MyersDiff.java:126)
      at org.apache.commons.jrcs.diff.myers.MyersDiff.diff(MyersDiff.java:93)
      at org.apache.commons.jrcs.diff.Diff.diff(Diff.java:197)
      at com.atlassian.confluence.util.DiffUtils.diffLine(DiffUtils.java:229)
      at com.atlassian.confluence.util.DiffUtils.printAddedLines(DiffUtils.java:166)
      at com.atlassian.confluence.util.DiffUtils.generateDiff(DiffUtils.java:78)
      at com.atlassian.confluence.pages.actions.AbstractDiffPagesAction.execute(AbstractDiffPagesAction.java:32)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:172)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:58)
      at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:32)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:18)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:42)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:169)
      at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:181)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:161)
      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:129)
      at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:36)
      at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:61)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:161)
      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:83)
      at com.atlassian.confluence.setup.SpringSessionInViewFilter.doFilterInternal(SpringSessionInViewFilter.java:32)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:39)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
      at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)
      at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:38)
      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:246)
      at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164)
      at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
      at java.lang.Thread.run(Thread.java:534)

      Attachments

        Activity

          People

            0e1d1dcfc133 Armond Avanes
            cmiller@atlassian.com Charles Miller
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: