Open
Conversation
Recent change to fix lookup of current thread in the activation handler also added forwarding of the activation signal to the previously registered handler. That part of the change was unrelated to the actual issue the change was fixing. It turned out that it breaks vsdbg that doesn't expect to get the SIGUSR1 used for the activation on macOS. This change reverts that part of the change to unblock vsdbg.
Member
Author
|
/backport to release/10.0 |
Contributor
|
Started backporting to |
Contributor
There was a problem hiding this comment.
Pull request overview
Reverts chaining/forwarding of the activation signal handler so that SIGUSR1 used for CoreCLR thread activation on macOS is not forwarded to a previously-registered handler (which breaks vsdbg).
Changes:
- Stop forwarding the activation signal to
g_previous_activationwhen the runtime accepts/handles the activation. - Keep calling the previous handler only in the “not accepted / not for this process” path.
4 tasks
Member
|
Is there a follow up to do for this?
|
steveisok
pushed a commit
that referenced
this pull request
Feb 26, 2026
Backport of #124877 to release/10.0 /cc @janvorli ## Customer Impact - [ ] Customer reported - [x] Found internally A recent change that was backported to .NET 10.0.4 (#124308) was found to cause problems to vsdbg. That problem is caused by part of the change that was actually additional to the fix that that change made and that is not that important. That part of the change started to forward activation signal to handlers registered before the coreclr. This change just reverts that part. ## Regression - [x] Yes - [ ] No #124308 ## Testing Local testing ## Risk Low. It just stops forwarding the signal which was the behavior until the recent change. Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Member
Author
|
/backport to release/11.0-preview2 |
Contributor
|
Started backporting to |
4 tasks
steveisok
pushed a commit
that referenced
this pull request
Feb 26, 2026
Backport of #124877 to release/11.0-preview2 /cc @janvorli ## Customer Impact - [x] Customer reported - [ ] Found internally The current CheckActivationSafePoint uses thread local storage to get the current Thread instance. But this function is called from async signal handler (the activation signal handler) and it is not allowed to access TLS variables there because the access can allocate and if the interrupted code was running in an allocation code, it could crash. There was no problem with this since .NET 1.0, but a change in the recent glibc version has broken this. We've got reports of crashes in this code e.g on recent Ubuntu 25.04 due to this issue. ## Regression - [ ] Yes - [x] No ## Testing CI tests, local manual directed tests ## Risk Low, the change was in main for the past two months and we haven't seen any issues related to it. The newly added code is executed very frequently. Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
steveisok
approved these changes
Feb 27, 2026
This file contains hidden or 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
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.
Recent change to fix lookup of current thread in the activation handler also added forwarding of the activation signal to the previously registered handler. That part of the change was unrelated to the actual issue the change was fixing. It turned out that it breaks vsdbg that doesn't expect to get the SIGUSR1 used for the activation on macOS.
This change reverts that part of the change to unblock vsdbg.