Implement [JACKSON-855] (add root cause for caught, re-throw StackOverflowError)
diff --git a/release-notes/VERSION b/release-notes/VERSION index 8a9221e..7a7a648 100644 --- a/release-notes/VERSION +++ b/release-notes/VERSION
@@ -1,13 +1,21 @@ -Version: 1.9.9 +Version: 1.9.10 Release date: - 28-Jul-2012 + xx-xxx-2012 Description: Another patch release for 1.9. Fixes: + * [JACKSON-855] add StackOverflowError as root cause +------------------------------------------------------------------------ +=== History: === +------------------------------------------------------------------------ + +1.9.9 (28-Jul-2012) + +Fixes: * [Issue-21]: Improve handling of String hash code collisions for symbol tables; exception for degenerate cases (attacks), improvements for calculation otherwise @@ -19,9 +27,6 @@ reduce lock contention for heavily multi-threaded cases, esp. when parsing short documents. ------------------------------------------------------------------------- -=== History: === ------------------------------------------------------------------------- 1.9.8 (28-Jun-2012)
diff --git a/src/mapper/java/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java b/src/mapper/java/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java index 4a8daaa..8af9d58 100644 --- a/src/mapper/java/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +++ b/src/mapper/java/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java
@@ -161,7 +161,7 @@ * have many stack frames to spare... just one or two; can't * make many calls. */ - JsonMappingException mapE = new JsonMappingException("Infinite recursion (StackOverflowError)"); + JsonMappingException mapE = new JsonMappingException("Infinite recursion (StackOverflowError)", e); String name = (i == props.length) ? "[anySetter]" : props[i].getName(); mapE.prependPath(new JsonMappingException.Reference(bean, name)); throw mapE; @@ -210,7 +210,7 @@ String name = (i == props.length) ? "[anySetter]" : props[i].getName(); wrapAndThrow(provider, e, bean, name); } catch (StackOverflowError e) { - JsonMappingException mapE = new JsonMappingException("Infinite recursion (StackOverflowError)"); + JsonMappingException mapE = new JsonMappingException("Infinite recursion (StackOverflowError)", e); String name = (i == props.length) ? "[anySetter]" : props[i].getName(); mapE.prependPath(new JsonMappingException.Reference(bean, name)); throw mapE;