Tatu Saloranta
Tatu Saloranta
Had some time to look into this and it's... complicated. I can see what is happening: it has to do 2.12-added mechanism to help work with XML content. Cast exception...
Ok. I know how to fix this... but fix cannot, alas, go in 2.19 since it requires some changes to semantics of extension point which, while meant as internal is...
Phew. Lots of mechanical changes as this affects Joda and Java 8 Time modules as well. Now fixed for 2.20(.0) (and 3.0.0(-rc5)).
Ok: attempts to use Polymorphic (De)Serialization with `Throwable` are probably not going to work very well, so there may be fundamental problems. But one thing to include in the description...
Interesting. Your exception may be incorrectly defined so that `cause` is exception itself: that would be Wrong. This based on failure message. `cause` needs to be either `null` or something...
By "incorrectly defined" (or constructed) I meant there was accidental loop either in definition, or constructed instance. But now I vaguely remember that plain `Exception` (or `Throwable`?) might use `this`...
Oh, also: I would recommend against changing visibility rules, esp this: objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); unless you clearly know it is needed. It could be picking up `cause` field, changing introspection handling...
Note, `MyIllegalArgumentException` is like so (minus comments): ``` public class MyIllegalArgumentException extends RuntimeException { public MyIllegalArgumentException() { super(); } public MyIllegalArgumentException(String s) { super(s); } public MyIllegalArgumentException(String message, Throwable cause)...
Ok, after looking at this a bit, I figured it out. So: `Throwable`s are serialized as POJOs, and then the issue is due to: 1. `Throwable.cause` field is set to...
Fixed serialization side of things; not sure if deserialization has other problems: if so, please file a follow-up issue.