You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's probably not a super good idea to recover from StackOverflowErrors in all cases (#2808). Possibly, we could be leaving some external library in an inconsistent state. However, for a developer of PMD, it may be useful to do so, so that the error ends up in a report, or so that more errors can be discovered by continuing the run.
So we could have a "debug" mode that tries to be more error tolerant, but which is not the default behavior. This could be used in tests, and in particular, for the regression tester. This could also be useful for bug reports ("run pmd with these options and paste the report").
As a first step we could enable such a "debug" mode with a system property (PMD_JAVA_OPTS=”-Derror_recovery -ea” run.sh ...).
If it's worth it we could also add a CLI switch for that, eg -Xerror_recovery. Other obscure system properties we use to enable advanced logging (like the Java type inference logger) could be added as switches too.
The text was updated successfully, but these errors were encountered:
It just depends, where exactly the SOE occurs: If it is inside a JDK API, then it depends on the concrete VM implementation, whether we can recover. So, we should not have this as the default mode.
It's probably not a super good idea to recover from StackOverflowErrors in all cases (#2808). Possibly, we could be leaving some external library in an inconsistent state. However, for a developer of PMD, it may be useful to do so, so that the error ends up in a report, or so that more errors can be discovered by continuing the run.
So we could have a "debug" mode that tries to be more error tolerant, but which is not the default behavior. This could be used in tests, and in particular, for the regression tester. This could also be useful for bug reports ("run pmd with these options and paste the report").
As a first step we could enable such a "debug" mode with a system property (
PMD_JAVA_OPTS=”-Derror_recovery -ea” run.sh ...
).If it's worth it we could also add a CLI switch for that, eg
-Xerror_recovery
. Other obscure system properties we use to enable advanced logging (like the Java type inference logger) could be added as switches too.The text was updated successfully, but these errors were encountered: