-
Notifications
You must be signed in to change notification settings - Fork 3k
Open
Labels
Description
Describe the bug
After setting up symbolization and installing a failure signal handler, a failing assert() with glibc does not produce a useful stack trace, consisting entirely of:
cxx_extractor: kythe/cxx/extractor/cxx_extractor.cc:922: virtual void kythe::KzipWriterSink::OpenIndex(const std::string &): Assertion `0 == 1' failed.
*** SIGABRT received at time=1597685134 ***
PC: @ 0x7fbd21014761 (unknown) raise
@ 0x14fe81d 144 absl::WriteFailureInfo()
@ 0x14fe5f7 64 absl::AbslFailureSignalHandler()
@ 0x7fbd211cf110 (unknown) (unknown)
@ 0x4173257325203a75 (unknown) (unknown)
Aborted
Calling std::abort directly or CHECK-failing produces a useful stack trace:
*** SIGABRT received at time=1597685257 ***
PC: @ 0x7ff5af672761 (unknown) raise
@ 0x14fe81d 144 absl::WriteFailureInfo()
@ 0x14fe5f7 64 absl::AbslFailureSignalHandler()
@ 0x7ff5af82d110 184382256 (unknown)
@ 0x4111da 896 kythe::CompilationWriter::WriteIndex()
@ 0x41db08 80 std::_Function_handler<>::_M_invoke()
@ 0x416c22 144 kythe::(anonymous namespace)::ExtractorAction::EndSourceFileAction()
@ 0x5171fa 144 clang::FrontendAction::EndSourceFile()
@ 0x495cb8 160 clang::CompilerInstance::ExecuteAction()
@ 0x47b902 448 clang::tooling::FrontendActionFactory::runInvocation()
@ 0x47b494 80 clang::tooling::ToolInvocation::runInvocation()
@ 0x47a4c4 2400 clang::tooling::ToolInvocation::run()
@ 0x4130bb 272 kythe::ExtractorConfiguration::Extract()
@ 0x413449 112 kythe::ExtractorConfiguration::Extract()
@ 0x40d36a 1120 main
@ 0x7ff5af65de0b (unknown) __libc_start_main
@ 0x5541d68949564100 (unknown) (unknown)
Aborted
Steps to reproduce the bug
#include <cassert>
int main(int argc, char** argv) {
google::InitGoogleLogging(argv[0]);
absl::InitializeSymbolizer(argv[0]);
absl::InstallFailureSignalHandler({});
assert(false);
}
What version of Abseil are you using?
0033c9e
What operating system and version are you using
If you are using a Linux distribution please include the name and version of the
distribution as well.
What compiler and version are you using?
Debian GNU/Linux rodete
$ clang -v
clang version 9.0.1-12
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/10
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.5.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
What build system are you using?
$ bazel --version
bazel 3.4.1
Reactions are currently unavailable