StackOverflowError (recursion) during Exception serialization...
Brought to you by:
niallg
Thanks for the great work. I'm using SimpleXML massively in my project. I'm getting a recursive exception when trying to serialize a n Exception object:
Exception in thread "main" java.lang.StackOverflowError
at org.simpleframework.xml.stream.PrefixResolver.resolvePrefix(PrefixResolver.java:183)
at org.simpleframework.xml.stream.PrefixResolver.getPrefix(PrefixResolver.java:123)
at org.simpleframework.xml.stream.PrefixResolver.resolvePrefix(PrefixResolver.java:183)
at org.simpleframework.xml.stream.PrefixResolver.getPrefix(PrefixResolver.java:123)
at org.simpleframework.xml.stream.PrefixResolver.resolvePrefix(PrefixResolver.java:183)
... (continues)
This code reproduces the exception:
public class MainClass {
public static void main(String[] args) throws Exception {
SomeClass someClass = new SomeClass();
someClass.exception = new Exception();
StringWriter stringWriter = new StringWriter();
new Persister().write(someClass, stringWriter);
System.out.println(stringWriter.toString()); // <<< Bam!
}
public static class SomeClass {
private Exception exception;
}
}
Related on StackOverflow:
http://stackoverflow.com/questions/9676138/simple-xml-framework-weird-error/27620194#27620194
Friendly reminder