Uploaded image for project: 'JBoss Log Manager'
  1. JBoss Log Manager
  2. LOGMGR-146

Suppressed exception format is not correct

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.0.5.Final, 2.1.0.Alpha1
    • None
    • None
    • None

    Description

      The suppressed exception format is not correct when multiple exceptions are suppressed. Too many causes are printed likely because the circular dependencies are not working correctly.

      Example Reproducer
      final RuntimeException r1 = new RuntimeException("Exception 1");
      final RuntimeException r2 = new RuntimeException("Exception 2", r1);
      final RuntimeException r3 = new RuntimeException("Exception 3", r2);
      
      final RuntimeException cause = new RuntimeException("This is the cause", r1);
      cause.addSuppressed(r2);
      cause.addSuppressed(r3);
      Logger.getLogger(Main.class).error("Log message", cause);
      
      Output from JBoss Log Manager
      13:03:53,684 ERROR [com.jamezp.test.Main] Log message: java.lang.RuntimeException: This is the cause
      	at com.jamezp.test.Main.main(Main.java:165)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
      	Suppressed: java.lang.RuntimeException: Exception 2
      		at com.jamezp.test.Main.main(Main.java:162)
      		... 5 more
      	Caused by: java.lang.RuntimeException: Exception 1
      		at com.jamezp.test.Main.main(Main.java:161)
      		... 5 more
      	Suppressed: java.lang.RuntimeException: Exception 3
      		at com.jamezp.test.Main.main(Main.java:163)
      		... 5 more
      	Caused by: java.lang.RuntimeException: Exception 2
      		at com.jamezp.test.Main.main(Main.java:162)
      		... 5 more
      	Caused by: java.lang.RuntimeException: Exception 1
      		at com.jamezp.test.Main.main(Main.java:161)
      		... 5 more
      Caused by: java.lang.RuntimeException: Exception 1
      	at com.jamezp.test.Main.main(Main.java:161)
      	... 5 more
      
      Output from Throwable.printStackTrace()
      java.lang.RuntimeException: This is the cause
      	at com.jamezp.test.Main.main(Main.java:165)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
      	Suppressed: java.lang.RuntimeException: Exception 2
      		at com.jamezp.test.Main.main(Main.java:162)
      		... 5 more
      	Caused by: java.lang.RuntimeException: Exception 1
      		at com.jamezp.test.Main.main(Main.java:161)
      		... 5 more
      	Suppressed: java.lang.RuntimeException: Exception 3
      		at com.jamezp.test.Main.main(Main.java:163)
      		... 5 more
      	[CIRCULAR REFERENCE:java.lang.RuntimeException: Exception 2]
      	[CIRCULAR REFERENCE:java.lang.RuntimeException: Exception 1]
      
      Output from JUL
      Jan 26, 2017 1:06:29 PM com.jamezp.test.Main main
      ERROR: Log message
      java.lang.RuntimeException: This is the cause
      	at com.jamezp.test.Main.main(Main.java:165)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
      	Suppressed: java.lang.RuntimeException: Exception 2
      		at com.jamezp.test.Main.main(Main.java:162)
      		... 5 more
      	Caused by: java.lang.RuntimeException: Exception 1
      		at com.jamezp.test.Main.main(Main.java:161)
      		... 5 more
      	Suppressed: java.lang.RuntimeException: Exception 3
      		at com.jamezp.test.Main.main(Main.java:163)
      		... 5 more
      	[CIRCULAR REFERENCE:java.lang.RuntimeException: Exception 2]
      	[CIRCULAR REFERENCE:java.lang.RuntimeException: Exception 1]
      

      Attachments

        Issue Links

          Activity

            People

              jperkins-rhn James Perkins
              jperkins-rhn James Perkins
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: