Details
-
Bug
-
Resolution: Fixed
-
Medium
-
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)