japaric / cargo-call-stack

Whole program static stack analysis
Apache License 2.0
560 stars 50 forks source link

failed to parse application's LLVM IR: Eof #107

Open jsantell opened 11 months ago

jsantell commented 11 months ago

Failed to run cargo-call-stack on an example binary:

cargo +nightly call-stack --target x86_64-unknown-linux-gnu --example distributed_stress

error: failed to parse application's LLVM IR from $ROOT/target/x86_64-unknown-linux-gnu/release/examples/distributed_stress-8369bcb6edafdcf5.ll: BUG: failed to parse LLVM IR; please submit a cargo-call-stack bug report and attach the .ll file: Failure("Eof in line 2101592")

Line 2101592:

define internal fastcc noundef zeroext i1 @"_ZN102_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$4poll17h031442f3c0ec680eE"(ptr noalias nocapture noundef align 8 dereferenceable(24) %0) unnamed_addr #1 personality ptr @rust_eh_personality {
  %2 = alloca { { i64, [40 x i64] } }, align 8
  tail call void @llvm.experimental.noalias.scope.decl(metadata !280171)
  tail call void @llvm.experimental.noalias.scope.decl(metadata !280174)
  tail call void @llvm.experimental.noalias.scope.decl(metadata !280177)
  %3 = load ptr, ptr %0, align 8, !alias.scope !280179, !noalias !280177
  store ptr null, ptr %0, align 8, !alias.scope !280182, !noalias !280183
  %4 = icmp eq ptr %3, null
  br i1 %4, label %5, label %6