Package: libunwind-13 Version: 1:13.0.1-7 Severity: grave LLVM libunwind and libgcc_s.so export the same unwinding functions.
$ objdump -T libgcc_s.so.1 | grep _Unwind_GetLanguageSpecificData 0000000000014a00 g DF .text 000000000000000c GCC_3.0 _Unwind_GetLanguageSpecificData $ objdump -T libunwind.so.1.0 | grep _Unwind_GetLanguageSpecificData 0000000000005510 g DF .text 0000000000000043 Base _Unwind_GetLanguageSpecificData This would cause many C++ programs linking libunwind to potentially crash. I have the following reproducer which has a dependency on libgtest-dev: $ sudo apt install libgtest-dev libunwind-13-dev $ cat a.cc #include <gtest/gtest.h> #include <pthread.h> TEST(Bug, Repro) { pthread_exit(nullptr); } $ g++ a.cc -lgtest_main -lgtest -lpthread -lunwind $ ./a.out ... Segmentation fault GDB shows the following backtrace: #0 0x00007ffff7a0e740 in ?? () #1 0x00007ffff7f5940a in unw_get_proc_info () from /lib/x86_64-linux-gnu/libunwind.so.1 #2 0x00007ffff7f5d7ac in _Unwind_GetLanguageSpecificData () from /lib/x86_64-linux-gnu/libunwind.so.1 #3 0x00007ffff7e1eb98 in __cxxabiv1::__gxx_personality_v0 (...) at .../eh_personality.cc:446 #4 0x00007ffff7a21d54 in _Unwind_ForcedUnwind_Phase2 (...) at .../unwind.inc:182 #5 0x00007ffff7a22412 in _Unwind_ForcedUnwind (...) at .../unwind.inc:217 #6 0x00007ffff7f75f66 in __GI___pthread_unwind (buf=<optimized out>) at unwind.c:121 #7 0x00007ffff7f6c972 in __do_cancel () at pthreadP.h:310 #8 __pthread_exit (value=<optimized out>) at pthread_exit.c:28 (...) There was a previous discussion that has some details about the conflicts between libunwind and libgcc_s.so: https://reviews.llvm.org/D106703. Regards, Lingzhu