[ https://issues.apache.org/jira/browse/MNG-7846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tamas Cservenak updated MNG-7846: --------------------------------- Fix Version/s: 3.9.4 > endless loop in DefaultExceptionHandler.getMessage() > ---------------------------------------------------- > > Key: MNG-7846 > URL: https://issues.apache.org/jira/browse/MNG-7846 > Project: Maven > Issue Type: Bug > Components: Core > Affects Versions: 3.9.3 > Reporter: Michael Keppler > Priority: Major > Fix For: 3.9.4 > > Attachments: image-2023-07-19-13-59-02-398.png > > > The default exception handler iterates all nested exceptions in a loop that's > only left when exception.cause == null > See > [https://github.com/apache/maven/blob/4a5b6c5f2b662fbf356f86ffe44d99d3d52f9fa9/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java#L228C56-L228C64] > Unfortunately there can be exceptions where the cause is a reference to the > containing exception, e.g. exception.cause == exception. That code then > becomes an endless loop. I just experienced such an endless loop and was able > to find a JRubyException pointing to itself in the heap dump of the thread: > !image-2023-07-19-13-59-02-398.png! > The loop cancelation condition should therefore be changed to > {code:java} > t != null && t != t.getCause(){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)