On a crash printSymbolizedStackTrace(...) would need more memory than currently
allocated and therefore corrupts some data in front of sigaltstack.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
I'm seeing the same problem, which is fixed with this patch. I'm seeing a hang when running llvm-lit with test/Bugpoint/crash-narrowfunctiontest.ll. The hang appears to be caused because data in the stack frame is corrupted, and the clear() method in a vector never returns, when executing CallBacksToRun->clear() in RunSignalHandlers().
This happens only when I build llvm in Debug mode. In Release mode, the problem doesn't occur. Also, if I build llvm in Debug mode, but compile only Signals.cpp with -O3, the failure doesn't occur.
I'm not sure how much stack space is needed on the alternate stack, though I tried MINSIGSTKSZ + 11264 and that works for me.