com.atlassian.confluence.diff.DiffException: Index: 175220, Size: 175220

Atlassian JIRA | Janet Albion [Atlassian] | 12 months ago
  1. 0

    Steps to reproduce: # create large page # do more than 9500 changes to the content *Expected behaviour*: File comparison appear *Actual*: Error thrown in UI: !Error.png|thumbnail! In atlassian-confluence.log: {code} 2015-12-18 18:37:22,525 ERROR [http-bio-8563-exec-2] [confluence.pages.actions.AbstractDiffPagesAction] execute Error while generating diff: (page: 54-fix v.6 (6291463) vs page: 54-fix v.7 (5505039)) -- referer: http://localhost:8563/pages/viewpreviousversions.action?pageId=5505039 | url: /pages/diffpagesbyversion.action | userName: admin | action: diffpagesbyversion | page: 5505039 com.atlassian.confluence.diff.DiffException: Index: 175220, Size: 175220 at com.atlassian.confluence.diff.DaisyHtmlDiffer.createOrGetFutureDiff(DaisyHtmlDiffer.java:159) at com.atlassian.confluence.diff.DaisyHtmlDiffer.diff(DaisyHtmlDiffer.java:103) at com.atlassian.confluence.diff.WikiConvertingHtmlDiffer.diff(WikiConvertingHtmlDiffer.java:31) ... Caused by: java.lang.IndexOutOfBoundsException: Index: 175220, Size: 175220 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at org.outerj.daisy.diff.html.TextNodeComparator.getTextNode(TextNodeComparator.java:67) at org.outerj.daisy.diff.html.TextNodeComparator.handlePossibleChangedPart(TextNodeComparator.java:136) {code} *Diagnosis*: Problem still happen even after setting the timeout to 4.5 minute: # parameter confluence.html.diff.timeout has been increased as per advice in https://confluence.atlassian.com/display/CONFKB/Comparing+Page+Versions+Fails+Due+to+Timeout+Exceeded {code} -Dconfluence.html.diff.timeout=270000 {code} # increase the heap (-Xmx) for the instance

    Atlassian JIRA | 12 months ago | Janet Albion [Atlassian]
    com.atlassian.confluence.diff.DiffException: Index: 175220, Size: 175220
  2. 0

    Steps to reproduce: # create large page # do more than 9500 changes to the content *Expected behaviour*: File comparison appear *Actual*: Error thrown in UI: !Error.png|thumbnail! In atlassian-confluence.log: {code:java} 2015-12-18 18:37:22,525 ERROR [http-bio-8563-exec-2] [confluence.pages.actions.AbstractDiffPagesAction] execute Error while generating diff: (page: 54-fix v.6 (6291463) vs page: 54-fix v.7 (5505039)) -- referer: http://localhost:8563/pages/viewpreviousversions.action?pageId=5505039 | url: /pages/diffpagesbyversion.action | userName: admin | action: diffpagesbyversion | page: 5505039 com.atlassian.confluence.diff.DiffException: Index: 175220, Size: 175220 at com.atlassian.confluence.diff.DaisyHtmlDiffer.createOrGetFutureDiff(DaisyHtmlDiffer.java:159) at com.atlassian.confluence.diff.DaisyHtmlDiffer.diff(DaisyHtmlDiffer.java:103) at com.atlassian.confluence.diff.WikiConvertingHtmlDiffer.diff(WikiConvertingHtmlDiffer.java:31) ... Caused by: java.lang.IndexOutOfBoundsException: Index: 175220, Size: 175220 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at org.outerj.daisy.diff.html.TextNodeComparator.getTextNode(TextNodeComparator.java:67) at org.outerj.daisy.diff.html.TextNodeComparator.handlePossibleChangedPart(TextNodeComparator.java:136) {code} *Diagnosis*: Problem still happening even after setting the timeout to 4.5 minute and increasing the heap: # parameter confluence.html.diff.timeout has been increased as per advice in [https://confluence.atlassian.com/display/CONFKB/Comparing+Page+Versions+Fails+Due+to+Timeout+Exceeded] {code:java} -Dconfluence.html.diff.timeout=270000 {code} # increase the heap (-Xmx) for the instance # Problem still occur   h4. Workaround: No known workaround

    Atlassian JIRA | 12 months ago | Janet Albion [Atlassian]
    com.atlassian.confluence.diff.DiffException: Index: 175220, Size: 175220
  3. 0

    When the DaisyHtmlDiffer fails, it will only fail once for each locale, and be cached. (I'm pretty sure). However it will store and rethrow whatever exception occurred every time the diff is requested, and the AbstractNotificationsListener will log the exception at error level with full stacktrace. The downsides are: * The misleading appearance of many many diffing failures, which one will falsely indicate a probably performance issue and caching failure. (at least I hope it's false) * Way too much logging, resulting in an actual minor performance issue * Possibly unnecessary memory usage resulting in another performance issue. (I don't know how much is stored within the DaisyDiff exception. My guess is it's less than an actual diff). Example stacktrace: {noformat} 2011-09-12 20:43:56,144 ERROR [http-9080-28] [mail.notification.listeners.AbstractNotificationsListener] sendNotification Send Notification: Error deter mining diff for: page: Policy - Computer Standards v.56 (1696826531). Diff will be omitted from the notification email. -- url: /pages/doeditpage.action | page: 1696826531 | userName: rhastie | referer: https://extranet.atlassian.com/pages/editpage.action?pageId=16968265 31 | action: doeditpage com.atlassian.confluence.diff.DiffException: Index: 1706, Size: 1706 at com.atlassian.confluence.diff.DaisyHtmlDiffer.createOrGetFutureDiff(DaisyHtmlDiffer.java:152) at com.atlassian.confluence.diff.DaisyHtmlDiffer.diff(DaisyHtmlDiffer.java:95) at com.atlassian.confluence.diff.WikiConvertingHtmlDiffer.diff(WikiConvertingHtmlDiffer.java:31) at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendNotification(AbstractNotificationsListener.java:124) at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendNotifications(AbstractNotificationsListener.java:252) at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendSpaceNotifications(AbstractNotificationsListener.java: 229) at com.atlassian.confluence.mail.notification.listeners.PageNotificationsListener.handleEvent(PageNotificationsListener.java:85) {noformat}

    Atlassian JIRA | 5 years ago | Don Willis [Atlassian]
    com.atlassian.confluence.diff.DiffException: Index: 1706, Size: 1706
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Editing A Page Causes IndexOutOfBoundsException - Atlassian Documentation

    atlassian.com | 2 months ago
    com.atlassian.confluence.diff.DiffException: Index: 72897, Size: 72897
  6. 0

    When the DaisyHtmlDiffer fails, it will only fail once for each locale, and be cached. (I'm pretty sure). However it will store and rethrow whatever exception occurred every time the diff is requested, and the AbstractNotificationsListener will log the exception at error level with full stacktrace. The downsides are: * The misleading appearance of many many diffing failures, which one will falsely indicate a probably performance issue and caching failure. (at least I hope it's false) * Way too much logging, resulting in an actual minor performance issue * Possibly unnecessary memory usage resulting in another performance issue. (I don't know how much is stored within the DaisyDiff exception. My guess is it's less than an actual diff). Example stacktrace: {noformat} 2011-09-12 20:43:56,144 ERROR [http-9080-28] [mail.notification.listeners.AbstractNotificationsListener] sendNotification Send Notification: Error deter mining diff for: page: Policy - Computer Standards v.56 (1696826531). Diff will be omitted from the notification email. -- url: /pages/doeditpage.action | page: 1696826531 | userName: rhastie | referer: https://extranet.atlassian.com/pages/editpage.action?pageId=16968265 31 | action: doeditpage com.atlassian.confluence.diff.DiffException: Index: 1706, Size: 1706 at com.atlassian.confluence.diff.DaisyHtmlDiffer.createOrGetFutureDiff(DaisyHtmlDiffer.java:152) at com.atlassian.confluence.diff.DaisyHtmlDiffer.diff(DaisyHtmlDiffer.java:95) at com.atlassian.confluence.diff.WikiConvertingHtmlDiffer.diff(WikiConvertingHtmlDiffer.java:31) at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendNotification(AbstractNotificationsListener.java:124) at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendNotifications(AbstractNotificationsListener.java:252) at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendSpaceNotifications(AbstractNotificationsListener.java: 229) at com.atlassian.confluence.mail.notification.listeners.PageNotificationsListener.handleEvent(PageNotificationsListener.java:85) {noformat}

    Atlassian JIRA | 5 years ago | Don Willis [Atlassian]
    com.atlassian.confluence.diff.DiffException: Index: 1706, Size: 1706

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. com.atlassian.confluence.diff.DiffException

      Index: 175220, Size: 175220

      at com.atlassian.confluence.diff.DaisyHtmlDiffer.createOrGetFutureDiff()
    2. com.atlassian.confluence
      WikiConvertingHtmlDiffer.diff
      1. com.atlassian.confluence.diff.DaisyHtmlDiffer.createOrGetFutureDiff(DaisyHtmlDiffer.java:159)
      2. com.atlassian.confluence.diff.DaisyHtmlDiffer.diff(DaisyHtmlDiffer.java:103)
      3. com.atlassian.confluence.diff.WikiConvertingHtmlDiffer.diff(WikiConvertingHtmlDiffer.java:31)
      3 frames