Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.9.3
-
None
Description
The default exception handler iterates all nested exceptions in a loop that's only left when exception.cause == null
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:
The loop cancelation condition should therefore be changed to
t != null && t != t.getCause()
Attachments
Attachments
Issue Links
- links to