Package: libunwind8 Version: 1.2.1-9 Severity: normal Dear Maintainer,
Consider the following code: ``` #include <iostream> int main() { try { throw std::runtime_error("Exceptions are being handled normally."); } catch (std::runtime_error &e) { std::cout << e.what() << "\n"; } } ``` When not linked with libunwind, it operates perfectly normal: ``` $ g++ -o wtf wtf.cpp && ./wtf Exceptions are being handled normally. ``` But if we link it against libunwind, catch stops working: ``` $ g++ -lunwind -o wtf wtf.cpp && ./wtf terminate called after throwing an instance of 'std::runtime_error' terminate called recursively Aborted (core dumped) ``` The problem is not present in upstream libunwind, and there are multiple new upstream versions available, even though Debian only has libunwind 1.2.1 even in unstable. It's possible that there are security implications to this. -- System Information: Debian Release: 10.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: arm64 (aarch64) Kernel: Linux 5.4.51-cloudflare-2020.7.13 (SMP w/32 CPU cores) Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: unable to detect Versions of packages libunwind8 depends on: ii libc6 2.28-10 ii libgcc1 1:8.3.0-6 ii liblzma5 5.2.4-1 libunwind8 recommends no packages. libunwind8 suggests no packages. -- no debconf information