zoneminder icon indicating copy to clipboard operation
zoneminder copied to clipboard

Fix backtrace addr2line command.

Open dougnazar opened this issue 2 years ago • 3 comments

addr2line wants the offset into the object, not the current location in memory and it will only work with the specified object.

Mention that you might need a debug package installed to get any info.

dougnazar avatar Jul 26 '22 21:07 dougnazar

Something is off with the parsing (at least for me). Could it be that the message format is glibc dependent? Here a sample trace with Fedora 36 (glibc 2.35):

07/31/22 21:10:03.625795 undef[63133].ERR-zm_signal.cpp/50 [Got signal 11 (Segmentation fault), crashing]
07/31/22 21:10:03.625861 undef[63133].ERR-zm_signal.cpp/80 [Signal address is (nil), from 0x41be2e]
07/31/22 21:10:03.626001 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 0: /home/peterke/DEV/zoneminder/cmake-build-debug/src/zmu() [0x484b5f]]
07/31/22 21:10:03.626013 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 1: /lib64/libc.so.6(+0x3ea70) [0x7f47f5dbba70]]
07/31/22 21:10:03.626021 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 2: /home/peterke/DEV/zoneminder/cmake-build-debug/src/zmu() [0x41be2e]]
07/31/22 21:10:03.626028 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 3: /home/peterke/DEV/zoneminder/cmake-build-debug/src/zmu(main+0x69e) [0x40e982]]
07/31/22 21:10:03.626036 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 4: /lib64/libc.so.6(+0x29550) [0x7f47f5da6550]]
07/31/22 21:10:03.626046 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 5: /lib64/libc.so.6(__libc_start_main+0x89) [0x7f47f5da6609]]
07/31/22 21:10:03.626054 undef[63133].ERR-zm_signal.cpp/105 [Backtrace 6: /home/peterke/DEV/zoneminder/cmake-build-debug/src/zmu() [0x40e0f5]]

Carbenium avatar Jul 31 '22 19:07 Carbenium

Strange, I tested on my Gentoo system & a Ubuntu VM (I don't have mine anymore, but here's the version from the original issue).

What I also don't like is when it does main+0x69e since you need to lookup the address of main manually and do the addition yourself.

I had thought of using libunwind to get better information, but didn't want to add yet another dependency.

Gentoo - sys-libs/glibc-2.35-r7

07/26/22 16:46:58.263803 zmc_dvideo0[9299].ERR-zm_signal.cpp/50 [Got signal 11 (Segmentation fault), crashing]
07/26/22 16:46:58.277548 zmc_dvideo0[9299].ERR-zm_signal.cpp/80 [Signal address is (nil), from 0x4c2bc9]
07/26/22 16:46:58.278137 zmc_dvideo0[9299].ERR-zm_signal.cpp/105 [Backtrace 0: src/zmc(+0x72f42) [0x523f42]]
07/26/22 16:46:58.278300 zmc_dvideo0[9299].ERR-zm_signal.cpp/105 [Backtrace 1: linux-gate.so.1(__kernel_rt_sigreturn+0) [0xb7eec560]]
07/26/22 16:46:58.278355 zmc_dvideo0[9299].ERR-zm_signal.cpp/105 [Backtrace 2: src/zmc(+0x11bc9) [0x4c2bc9]]
07/26/22 16:46:58.278401 zmc_dvideo0[9299].ERR-zm_signal.cpp/105 [Backtrace 3: /lib/libc.so.6(+0x213d5) [0xb58643d5]]
07/26/22 16:46:58.278446 zmc_dvideo0[9299].ERR-zm_signal.cpp/105 [Backtrace 4: /lib/libc.so.6(__libc_start_main+0x95) [0xb586449e]]
07/26/22 16:46:58.278490 zmc_dvideo0[9299].ERR-zm_signal.cpp/105 [Backtrace 5: src/zmc(+0x13b37) [0x4c4b37]]

Ubuntu - 2.31-0ubuntu9.9

07/28/22 13:26:59.090684 zmc_m1[4959].ERR-zm_signal.cpp/50 [Got signal 11 (Segmentation fault), crashing]
07/28/22 13:26:59.090735 zmc_m1[4959].ERR-zm_signal.cpp/80 [Signal address is (nil), from 0x55a08f5bc88d]
07/28/22 13:26:59.092376 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 0: /usr/bin/zmc(+0xc4321) [0x55a08f532321]]
07/28/22 13:26:59.092404 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 1: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7fa0b7e61420]]
07/28/22 13:26:59.092412 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 2: /usr/bin/zmc(+0x14e88d) [0x55a08f5bc88d]]
07/28/22 13:26:59.092417 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 3: /usr/bin/zmc(+0xfafc8) [0x55a08f568fc8]]
07/28/22 13:26:59.092422 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 4: /usr/bin/zmc(+0xfc80c) [0x55a08f56a80c]]
07/28/22 13:26:59.092427 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 5: /lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6de4) [0x7fa0b5a53de4]]
07/28/22 13:26:59.092433 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 6: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7fa0b7e55609]]
07/28/22 13:26:59.092438 zmc_m1[4959].ERR-zm_signal.cpp/101 [Backtrace 7: /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7fa0b5740133]]

dougnazar avatar Jul 31 '22 20:07 dougnazar

I have no problem with libunwind, as long as we can compile without it as well. Seems to be generally available.

connortechnology avatar Sep 16 '22 13:09 connortechnology

For the sake of moving forward, I am merging this as is. Our current backtraces are useless.

connortechnology avatar Feb 26 '23 15:02 connortechnology