This documentation relates to the latest version of Confluence.
If you are using an earlier version, please go to the documentation home page and select the relevant version.

Dynamic tasklist macro edits fail with ConversionException after JDK upgrade

All Versions
Click for all versions
Confluence 2.9 Documentation

Index

Problem Description

If you are using the Dynamic Tasklist Macro and have upgraded the Confluence server to JDK1.5 or later, editing any tasklist content throws an exception with error cause:

com.thoughtworks.xstream.converters.ConversionException: Cannot construct java.util.Collections$SynchronizedRandomAccessList:

Cause

A change to the Java API in version 1.5, specifically the Collections.SynchronizedRandomAccessList method, makes old dynamic tasklist data inaccessible after upgrading.

Full details at CONF-4082.

Workarounds

Choice 1 - Revert To JDK 1.4

Until CONF-4082 can be patched, reverting to JDK 1.4 will re-enable all tasklist content.

  1. Stop Confluence
  2. Revert the Confluence server to the JDK version on which the tasklist content was created. The JDK used is the version set by your JAVA_HOME parameter, so users can change this value to the old JDK path to use that JDK again. (Guide to changing the JAVA_HOME parameter on Windows)

Choice 2 - Migrate To JDK 1.5

If users wish to move to JDK 1.5 before CONF-4082 is patched, they must manually transfer the tasklist content across.

  1. Backup your Confluence instance
  2. Stop Confluence
  3. Revert the Confluence server to the JDK version on which the tasklist content was created. The JDK used is the version set by your JAVA_HOME parameter, so users can change this value to the old JDK path to use that JDK again. (Guide to changing the JAVA_HOME parameter on Windows)
  4. Start Confluence
  5. From your browser, visit the dynamic tasklist page
  6. Manually copy and paste the text of each task and that task status to an external text editor
  7. From the external text editor, save the list of task text and status
  8. From your browser, delete the dynamic tasklist from the page
  9. Repeat for each dynamic tasklist in your Confluence instance until all tasklist content has been stored and the macros deleted
  10. Stop Confluence
  11. Revert to the newer JDK by altering the JAVA_HOME parameter
  12. Start Confluence
  13. Restore each dynamic tasklist

Labels:

troubleshooting-faq troubleshooting-faq Delete
dynamictasklist dynamictasklist Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Feb 11, 2007

    Peter R. says:

    Any ETA on this patch?

    Any ETA on this patch?

    1. Feb 11, 2007

      John Russell says:

      If the patch is not available; where is the legacy content stored?  An earl...

      If the patch is not available; where is the legacy content stored?  An earlier discussion of this (http://confluence.atlassian.com/display/DOC/Dynamic+Tasklist+Macro?focusedCommentId=188457#comment-188457) implies that the task list information can be found on the web server running Confluence.  Can the information be extracted from a location and pasted into the new version after the JDK upgrade?

  2. Jun 05, 2007

    Peter R. says:

    Someone should update this page now that the issue is fixed in the latest versio...

    Someone should update this page now that the issue is fixed in the latest version.

Add Comment