Closed
Description
I installed the rust-enabled lldb from rustup and tried to run it. It crashes with the mysterious:
(lldb) command script import "/Users/ttromey/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/etc/lldb_rust_formatters.py"
: CommandLine Error: Option 'limited-coverage-experimental' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
Assertion failed: (e == 0), function ~recursive_mutex, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/libcxx/libcxx-400.9/src/mutex.cpp, line 64.
libc++abi.dylib: Pure virtual function called!
This seems to be a known LLVM bug: https://bugs.llvm.org/show_bug.cgi?id=22952. See also https://bugs.llvm.org/show_bug.cgi?id=30587. This is fallout from the switch to a dynamic LLVM, #53245.
I can't reproduce in my Linux build; not sure what is different there.
I'm looking into workarounds. One option might be to hack our clang and lldb builds so that all libraries are marked DISABLE_LLVM_LINK_LLVM_DYLIB
.