-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
This fixes problem #1920 with a failure to throw a StackOverflow exception in case of a real stack overflow in Java code. #1921
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* stackoverflow errors were not reported properly. Instead the interpreter triggered many more stackoverflow errors while trying to report on them. * fixed this by capturing the deepest overflow exception and wrapping the current runtime stack in a cheap exception object. This object is then thrown an caught by the REPL loop which prints the proper exception stack trace. * We lost the ability to catch a stackOverflow() exception in Rascal code with this. This is problematic since there are tools that use that (drAmbiguity) in case of expected eternal recursions. So for now this is PR and I would like to hear if anybody has ideas on how to fix this properly without loss of this important feature.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1921 +/- ##
=======================================
Coverage 49% 49%
- Complexity 6315 6323 +8
=======================================
Files 664 665 +1
Lines 59584 59616 +32
Branches 8640 8649 +9
=======================================
+ Hits 29496 29515 +19
- Misses 27877 27881 +4
- Partials 2211 2220 +9 ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
jurgenvinju
force-pushed
the
proper-stacktrace-for-recursion-overflow
branch
from
February 29, 2024 15:36
d79b2f4
to
d089ff6
Compare
…Overflow exception just in time for the ctach block
jurgenvinju
changed the title
This fixes #1920 but it has a backward compatibility problem.
This fixes problem #1920 with a failure to throw a StackOverflow exception in case of a real stack overflow in Java code.
Nov 21, 2024
@BlackHart98 it took a while, but this is fixed now. Thanks again for your report. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
interpreter triggered many more stackoverflow errors while trying to
report on them.
the current runtime stack in a cheap exception object. This object is
then thrown an caught by the REPL loop which prints the proper
exception stack trace.