Bug ID 30822
Summary lldb-mi failing in llvm::CommandLine global constructor on debug builds
Component All Bugs
On Ubuntu 14.04 and 16.04 x86_64, I am seeing a failure to run lldb-mi due to an assert being raised on builds where NDEBUG is not defined. The failure is in a global constructor in LLVM's Debug.cpp file where it adds a 'debug' command line option. At the time the global constructor files, the StringDictionary where the option is being checked for existence seems to indicate it has something like 7k objects in it, which seems wrong. Running through valgrind doesn't show any memory stomps, though. Here is the CMake/ninja setup I'm using: # For Ubuntu 14.04 $ CC=clang-3.6 CXX=clang++-3.6 cmake -GNinja -DCMAKE_BUILD_TYPE=Debug ../llvm -DLLDB_EXPORT_ALL_SYMBOLS=TRUE $ ninja Here's the error: $ bin/lldb-mi : CommandLine Error: Option 'debug' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options I am wondering if: (a) our Ubuntu buildbots are seeing this behavior? (b) why we're not failing the build? This regression seems to have been introduced fairly recently, as I have downstream Ubuntu repositories that I directly manage (ci.swift.org) where we do run the lldb-mi tests on Ubuntu, and the lldb-mi failure seems to have only shown up after r281031.