| Issue |
169377
|
| Summary |
rtsan pass triggers assertion failure
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
luca3s
|
running opt with rtsan pass enabled crashes on:
```llvm
declare void @my_very_own_hash() sanitize_realtime
```
Found while trying to debug https://github.com/rust-lang/rust/issues/149250.
If the function doesn't have the `sanitize_realtime` attribute or the rtsan pass isn't enabled it doesn't crash.
Backtrace:
```
Assertion failed: (!NodePtr->isKnownSentinel()), function operator*, file ilist_iterator.h, line 168.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: ../rust/build/host/llvm/bin/opt --passes=rtsan test2-ir.ll -S
1. Running pass "rtsan" on module "test2-ir.ll"
#0 0x00000001049ec104 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/_/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x102894104)
#1 0x00000001049e9e90 llvm::sys::RunSignalHandlers() (/Users/_/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x102891e90)
#2 0x00000001049ecbfc SignalHandler(int, __siginfo*, void*) (/Users/_/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x102894bfc)
#3 0x000000019c4416a4 (/usr/lib/system/libsystem_platform.dylib+0x1804ad6a4)
#4 0x000000019c407848 (/usr/lib/system/libsystem_pthread.dylib+0x180473848)
#5 0x000000019c3109e4 (/usr/lib/system/libsystem_c.dylib+0x18037c9e4)
#6 0x000000019c30fc18 (/usr/lib/system/libsystem_c.dylib+0x18037bc18)
#7 0x00000001056185a0 (anonymous namespace)::AArch64InstructionSelector::setupMF(llvm::MachineFunction&, llvm::GISelValueTracking*, llvm::CodeGenCoverage*, llvm::ProfileSummaryInfo*, llvm::BlockFrequencyInfo*) (.cold.8) (/Users/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x1034c05a0)
#8 0x0000000104624614 llvm::RealtimeSanitizerPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x1024cc614)
#9 0x0000000104184f04 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x10202cf04)
#10 0x0000000104e2420c llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::__1::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/Users//rust/build/aarch64-apple-darwin/llvm/bin/opt+0x102ccc20c)
#11 0x0000000104e2bd88 optMain (/Users/rust/build/aarch64-apple-darwin/llvm/bin/opt+0x102cd3d88)
#12 0x000000019c066b98
zsh: abort ../rust/build/host/llvm/bin/opt --passes=rtsan test2-ir.ll -S
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs