Details
- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
Major
 - 
    1.1.2, 1.3.0-alpha0
 - 
    None
 - 
    
All
 
Description
If an exception with a circular-referenced-suppressed exception is logged, logback will throw a StackOverflowError:
Exception e1 = new Exception(); Exception e2 = new Exception(); e2.addSuppressed(e1); e1.addSuppressed(e2); LoggerFactory.getLogger("root").error("Error", e1);
Will throw the following:
Exception in thread "main" java.lang.StackOverflowError
	at java.lang.ReflectiveOperationException.<init>(ReflectiveOperationException.java:89)
	at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:72)
	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:69)
	at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:75)
	at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:75)
	...
A simple stack trace printout will produce the following:
java.lang.Exception at NewClass.main(NewClass.java:95) Suppressed: java.lang.Exception at NewClass.main(NewClass.java:96) [CIRCULAR REFERENCE:java.lang.Exception]
Attachments
Issue Links
- is duplicated by
 - 
                    
LOGBACK-1454 StackOverflow error
-         
 - Resolved
 
 -         
 
- links to
 
1. 
 | 
                                            port to the 1.2 branch |     
             | 
                                            Resolved | Logback dev list |