-
Type:
Bug
-
Resolution: Low Engagement
-
Priority:
Medium
-
None
-
Affects Version/s: None
-
Component/s: Core - Content REST APIs
-
Environment:
jre1.6
-
1
-
Severity 2 - Major
When using java6 and trying to persist a list that was initialized as Arrays.asList("foo") you get following exception (SAL cdk tests hit this problem. ):
com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Invalid final field java.util.Arrays$ArrayList.a
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.validateFieldAccess(PureJavaReflectionProvider.java:150)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:105)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter.marshal(ReflectionConverter.java:44)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:46)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.marshal(ReferenceByXPathMarshallingStrategy.java:17)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:489)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:479)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:464)
at com.atlassian.confluence.setup.bandana.ConfluenceDaoBandanaPersister.store(ConfluenceDaoBandanaPersister.java:65)
at sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy9.store(Unknown Source)
at com.atlassian.confluence.setup.bandana.ConfluenceCachingBandanaPersister.store(ConfluenceCachingBandanaPersister.java:92)
at com.atlassian.bandana.DefaultBandanaManager.setValue(DefaultBandanaManager.java:74)
...
xstream seems to be incapable of dealing of some 1.6 object. We are on version 1.1.1 which is pre - jre1.6. The earliest version that is 'buildable' with 1.6 is 1.2.2 - see http://xstream.codehaus.org/changes.html
- relates to
-
CONFSERVER-7278 Upgrade project dependencies to use XStream 1.2
- Closed