Source: libcamera
Severity: wishlist

libcamera has libunwind integration, which is currently enabled on
architectures where libunwind exists. It seems to be used to print better
backtraces on a fatal signal or assertion failure.

While nice to have, this doesn't seem hugely important: under normal
circumstances, libcamera shouldn't be crashing, and if it crashes due
to a bug, tools like systemd-coredump are a more reliable way to get
high-quality backtraces (without requiring the crashing process to still
be in a mostly-working state).

Meanwhile, libunwind has several unaddressed RC bugs.

The readme also suggests that if we have libdw (and glibc), there's no
benefit to also having libunwind:

> for improved debugging: [optional]
>         libdw-dev libunwind-dev
>
>         libdw and libunwind provide backtraces to help debugging assertion
>         failures. Their functions overlap, libdw provides the most detailed
>         information, and libunwind is not needed if both libdw and the glibc
>         backtrace() function are available.

So it might be a good idea to reduce the key package status of libunwind
by disabling the libunwind integration on all architectures, and instead
relying on libdw/backtrace() or post-mortem core dump analysis?

Thanks,
    Simon

Reply via email to