Issue Details (XML | Word | Printable)

Key: CONF-4082
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Christopher Owen [Atlassian]
Reporter: Jens Schumacher [Atlassian]
Votes: 14
Watchers: 12
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Confluence

ConversionException on dynamic tasklist after JDK version change

Created: 21/Sep/05 12:52 AM   Updated: 16/Apr/07 03:35 AM
Component/s: Macros -- General
Affects Version/s: None
Fix Version/s: 2.5

Time Tracking:
Not Specified

File Attachments: 1. File tasklist_jdk_1.4 (0.9 kB)
2. File tasklist_jdk_1.5 (2 kB)

Issue Links:
Duplicate
 

Participants: Bob Swift, Christopher Owen [Atlassian], David Soul [Atlassian], Jag Gill, Jens Schumacher [Atlassian], kalyan d, Peter Hilton, Peter Raymond, Ted Pietrzak and Vijayachandran
Since last comment: 1 year, 32 weeks, 6 days ago
Resolution Date: 16/Apr/07 03:35 AM
Labels:


 Description  « Hide
I get this error when trying to add a task to a task list.

Cause:
com.thoughtworks.xstream.converters.ConversionException: Cannot construct java.util.Collections$SynchronizedRandomAccessList: java.util.Collections$SynchronizedRandomAccessList ---- Debugging information ---- required-type : java.util.Collections$SynchronizedRandomAccessList cause-message : Cannot construct java.util.Collections$SynchronizedRandomAccessList: java.util.Collections$SynchronizedRandomAccessList class : com.atlassian.confluence.extra.dynamictasklist.model.TaskList message : Cannot construct java.util.Collections$SynchronizedRandomAccessList: java.util.Collections$SynchronizedRandomAccessList line number : 3 path : /com.atlassian.confluence.extra.dynamictasklist.model.TaskList/tasks cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException -------------------------------

com.thoughtworks.xstream.converters.ConversionException: Cannot construct java.util.Collections$SynchronizedRandomAccessList: java.util.Collections$SynchronizedRandomAccessList
---- Debugging information ----
required-type : java.util.Collections$SynchronizedRandomAccessList
cause-message : Cannot construct java.util.Collections$SynchronizedRandomAccessList: java.util.Collections$SynchronizedRandomAccessList
class : com.atlassian.confluence.extra.dynamictasklist.model.TaskList
message : Cannot construct java.util.Collections$SynchronizedRandomAccessList: java.util.Collections$SynchronizedRandomAccessList
line number : 3
path : /com.atlassian.confluence.extra.dynamictasklist.model.TaskList/tasks
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Jens Schumacher [Atlassian] added a comment - 21/Sep/05 12:52 AM
The component we use for persisting objects to XML has trouble deserialising Collections$SyncrhonizedRandomAccessList as it was renamed in JDK 1.5. A more detailed explanation of this problem can be found here:

http://jira.codehaus.org/browse/XSTR-202

You shouldn't have this problem for brand new dynamic task lists, created after the migration to JDK 1.5.


Bob Swift added a comment - 26/Apr/06 10:37 PM
I have looked at our installation and only have minor use of dynamic tasklists, so I intend to just convert manually. I am now more worried about any other macros that use the same technique. Are there any known issues with other macros?

Jens Schumacher [Atlassian] added a comment - 27/Apr/06 06:37 PM
So far we haven't heard of any other macros affected by this issue. It could well be that the problem is related to the custom TaskList object which will get serialized. I'll have to investigate this to verify that this the case.

Jens Schumacher [Atlassian] added a comment - 19/May/06 01:51 AM
Serialized tasklist objects in 1.4 and1.5 format

David Soul [Atlassian] added a comment - 02/Jan/07 10:24 PM
While this JDK problem awaits developer resources, the workaround is to manually transfer dynamictasklist content as described at

http://confluence.atlassian.com/display/DOC/Dynamic+tasklist+macro+edits+fail+with+ConversionException+after+JDK+upgrade

Cheers,
David S


kalyan d added a comment - 03/Jan/07 11:55 PM
The above workaround we guess is not feasible to our setup since we have a large amounts of pages which have dynamic task list been used .

We are not able to use the older version of the JDK (1.4) as its' killing the confluence instance due to conflict with other plug-in/macro dependencies.

we are looking another workaround where in we can migrate the older XML to newer versions. This is a roadblock to our production upgrade.


Vijayachandran added a comment - 04/Jan/07 11:38 PM
We use Confluence Enterprise 2.1.5a (unlimited user edition).This issue is preventing our upgrade to (version 2.2.9).
It is impossible to manually find out and migrate hundreds of tasklists on different pages.

Please increase the priority.


Peter Hilton added a comment - 11/Jan/07 03:56 AM
I also get this error after a JDK upgrade for completely new task lists, such as {dynamictasklist:neverusedthisnamebefore}

Build Information:
confluence.home: /var/lib/jboss/data/confluence
system.uptime: 14 hours, 3 minutes, 16 seconds
system.version: 2.3
build.number: 641

Server Information:
Application Server: Apache Tomcat/5.5.20
Servlet Version: 2.4
Database Dialect: net.sf.hibernate.dialect.PostgreSQLDialect
Database Driver Name: N/A
Database Driver Version: N/A

Memory Information:
total.memory: 285 MB
free.memory: 98 MB
used.memory: 187 MB

System Information:
system.date: Thursday, 11 Jan 2007
system.time: 10:54:55
system.favourite.colour: Claret
java.version: 1.6.0
java.vendor: Sun Microsystems Inc.
jvm.version: 1.0
jvm.vendor: Sun Microsystems Inc.
jvm.implementation.version: 1.6.0-b105
java.runtime: Java(TM) SE Runtime Environment
java.vm: Java HotSpot(TM) Server VM
user.name.word: jboss
user.timezone: Europe/Paris
operating.system: Linux 2.6.17.8-server.piv
os.architecture: i386
fs.encoding: ISO-8859-1


Peter Raymond added a comment - 11/Feb/07 07:15 PM
Any update on this issue? We're in the same boat as everyone else...

Ted Pietrzak added a comment - 13/Feb/07 11:44 AM
Any update or workaround for this? I'm having the same problem.

Ted Pietrzak added a comment - 27/Feb/07 04:27 PM
An additional note on this. The context is much broader than the upgrade scenario. Our Confluence install was completely new and we experienced this issue.

Jag Gill added a comment - 28/Feb/07 03:22 AM
Ted / Peter

I thought I had the same problem with a broader context, as I was running a brand new install of Confluence 2.3.3. However, it turned out I was using JDK (1.)6, which is distinctly unsupported by the Atlassian product range (look slike that's the problem with yours Ted). It works fine for us using JDK (1.)5.

Hope this helps for now, although Atlassian should really start addressing the JDK 6 compatibility issues, now that it's out and many are moving towards it for developing new plugins.

Kind Regards
Jag


Christopher Owen [Atlassian] added a comment - 10/Apr/07 07:47 PM
Updating the title of this issue to reflect the fact that this will happen when JDK versions are changed and not just an upgrade to 1.5

Christopher Owen [Atlassian] added a comment - 16/Apr/07 03:35 AM
I've changed the dynamic task list model to not persist the internal java.util.Collections implementation of a synchronized list. This list is marked as transient and is constructed as necessary on creation and deserialization.

When conversion exceptions are thrown we now attempt to convert the task to the new model via a quick SAX converter. When this process is finished a new task list is returned. When lists are saved, they will be persisted in the new, much simpler task list model which will deserialize cleanly without any conversion necessary.