-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
-Zsanitizer=address failing to catch SIGSEGV #69524
Labels
A-sanitizers
Area: Sanitizers for correctness and code quality
C-bug
Category: This is a bug.
requires-nightly
This issue requires a nightly compiler in some way.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
Comments
jonas-schievink
added
A-sanitizers
Area: Sanitizers for correctness and code quality
requires-nightly
This issue requires a nightly compiler in some way.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
labels
Feb 27, 2020
|
Centril
added a commit
to Centril/rust
that referenced
this issue
Mar 8, 2020
unix: Don't override existing SIGSEGV/BUS handlers Although `stack_overflow::init` runs very early in the process, even before `main`, there may already be signal handlers installed for things like the address sanitizer. In that case, just leave it alone, and don't bother trying to allocate our own signal stacks either. Fixes rust-lang#69524.
Centril
added a commit
to Centril/rust
that referenced
this issue
Mar 9, 2020
unix: Don't override existing SIGSEGV/BUS handlers Although `stack_overflow::init` runs very early in the process, even before `main`, there may already be signal handlers installed for things like the address sanitizer. In that case, just leave it alone, and don't bother trying to allocate our own signal stacks either. Fixes rust-lang#69524.
Centril
added a commit
to Centril/rust
that referenced
this issue
Mar 9, 2020
unix: Don't override existing SIGSEGV/BUS handlers Although `stack_overflow::init` runs very early in the process, even before `main`, there may already be signal handlers installed for things like the address sanitizer. In that case, just leave it alone, and don't bother trying to allocate our own signal stacks either. Fixes rust-lang#69524.
Centril
added a commit
to Centril/rust
that referenced
this issue
Mar 9, 2020
unix: Don't override existing SIGSEGV/BUS handlers Although `stack_overflow::init` runs very early in the process, even before `main`, there may already be signal handlers installed for things like the address sanitizer. In that case, just leave it alone, and don't bother trying to allocate our own signal stacks either. Fixes rust-lang#69524.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-sanitizers
Area: Sanitizers for correctness and code quality
C-bug
Category: This is a bug.
requires-nightly
This issue requires a nightly compiler in some way.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
I tried this code:
and compiled it with:
I expected to see asan report a bad pointer use and give a backtrace.
Instead I just got a raw sigsegv:
Running with verbose output shows that AddressSanitizer is intercepting the signal.
It looks like src/libstd/sys/unix/stack_overflow.rs
init()
is also installing a signal handler, which is overriding the AddressSanitizer one.Meta
rustc --version --verbose
:The text was updated successfully, but these errors were encountered: