Fix: Avoid Infinite Recursion in on_eval Method #302
Closed
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.
Summary:
This pull request addresses an issue where the
on_eval
method in theEvalTracer
trait was calling itself recursively, resulting in infinite recursion. Specifically, the following line:was causing the method to call itself indefinitely, which is incorrect and leads to a runtime stack overflow.
Fix:
To fix this issue, we updated the code to call the
on_eval
method directly onself
, sinceself
is the concrete type that implements theEvalTracer
trait. The corrected code looks as follows:Importance:
This fix is critical because the original code could have led to infinite recursion, resulting in a stack overflow and potential application crashes. By fixing the recursion and ensuring that the
on_eval
method is called properly, we improve the stability and reliability of the code.