Skip to content

Conversation

janvorli
Copy link
Member

@janvorli janvorli commented Oct 3, 2025

The InterpreterCodeManager::CallFunclet was not protecting the exceptionClauseArgs.throwable across the call to the interpreter. That lead to assert in some cases.

This change fixes it.

The InterpreterCodeManager::CallFunclet was not protecting the
exceptionClauseArgs.throwable across the call to the interpreter.
That lead to assert in some cases.

This change fixes it.
@janvorli janvorli added this to the 11.0.0 milestone Oct 3, 2025
@janvorli janvorli requested a review from davidwrighton October 3, 2025 19:01
@janvorli janvorli self-assigned this Oct 3, 2025
@Copilot Copilot AI review requested due to automatic review settings October 3, 2025 19:01
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This change fixes a garbage collection protection issue in the CoreCLR interpreter by adding proper GCPROTECT guards around the throwable object during funclet execution. The interpreter was not protecting the exceptionClauseArgs.throwable object across calls to InterpExecMethod, which could lead to assertion failures.

Copy link
Contributor

Tagging subscribers to this area: @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

@janvorli janvorli merged commit 2293449 into dotnet:main Oct 6, 2025
100 checks passed
@janvorli janvorli deleted the protect-throwable-around-interpreted-callfunclet branch October 6, 2025 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants