Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Mark asan fake stacks during machine stack marking
ASAN leaves a pointer to the fake frame on the stack; we can use the __asan_addr_is_in_fake_stack API to work out the extent of the fake stack and thus mark any VALUEs contained therein. [Bug #20001]
- Loading branch information
1 parent
3cfcb45
commit 61da90c
Showing
8 changed files
with
167 additions
and
2 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
61da90c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@KJTsanaktsidis - can this be back ported to 3.3?
61da90c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JasonLunn I don’t think so. This (and #10122) are probably too invasive to be considered for backporting, and it doesn’t really fix a real bug (Asan support beforehand was so broken I can’t imagine anybody was actually using it).
next week I plan to merge ☝️ and a few other fixes, with which I have the entire test suite actually passing with ASAN. At that point, I’m happy to have a stab at cutting a branch from v3.3.0 and trying to backport all of the ASAN work I’ve done into it, if this will help you. However it won’t be considered for backport in the official ruby 3.3 branch.
would this be helpful for you?
61da90c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can pause until you're finished landing fixes in main branch. I was hitting issues trying to get our own test suite passing with ASAN on a nightly snapshot of the master branch, and I was attributing that to it being 3.4.x, so I tried 3.3 but this fix isn't there. Probably I need to wait for other fixes to land first.
What's the best way for me to stay coordinated with the overall effort?
61da90c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can pause until you're finished landing fixes in main branch. I was hitting issues trying to get our own test suite passing with ASAN on a nightly snapshot of the master branch, and I was attributing that to it being 3.4.x, so I tried 3.3 but this fix isn't there. Probably I need to wait for other fixes to land first.
What's the best way for me to stay coordinated with the overall effort?
61da90c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JasonLunn I opened a ticket https://bugs.ruby-lang.org/issues/20387 where I summarised the current state of things and I'll keep it updated as I work on this. It's all very close to working though!