| Summary: | satyr: does not handle Java 7 suppressed exceptions | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Florian Weimer <fweimer> |
| Component: | satyr | Assignee: | Martin Milata <mmilata> |
| Status: | CLOSED ERRATA | QA Contact: | Lukáš Zachar <lzachar> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.0 | CC: | isenfeld, jfilak |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | satyr-0.13-6.el7 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-03-05 13:25:44 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 1034859 | ||
Fixed in upstream commit b3408be3bf997f5bad3b41ef195d2b125b2a8db2 (the suppressed exceptions are ignored for now as we can't include them in the reports without completely changing the report format). The upstream patch includes a test case: https://github.com/abrt/satyr/commit/b3408be3bf997f5bad3b41ef195d2b125b2a8db2 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0556.html |
It looks like java_frame.c lacks code to handle suppressed exceptions generated by the try-with-resource construct in Java 7. These backtraces look like this: Exception in thread "main" java.lang.RuntimeException: outer at Suppressed.main(Suppressed.java:7) Suppressed: Suppressed$SuppressedException at Suppressed.close(Suppressed.java:14) at Suppressed.main(Suppressed.java:9) Caused by: java.lang.RuntimeException: inner at Suppressed.main(Suppressed.java:5) Sample source code: public class Suppressed implements AutoCloseable { public static void main(String[] args) { try (Suppressed s = new Suppressed()) { try { throw new RuntimeException("inner"); } catch (RuntimeException e) { throw new RuntimeException("outer", e); } } } @Override public void close() { throw new SuppressedException(); } static class SuppressedException extends RuntimeException { } }