Package: rr Version: 5.8.0-1 Severity: normal X-Debbugs-Cc: debian-...@lists.debian.org, bernha...@mailbox.org User: debian-...@lists.debian.org Usertags: arm64
Dear Maintainer, I tried to run rr within a Debian arm64 trixie/unstable, running at a Raspberry Pi 3 with a ARM Cortex-A53. I know this CPU does not support rr, but crashing may still not be desired. Following is an example gdb session where the crash happens in the static initialization by using a "retaa" instruction, which seems to belong to pointer authentication, but I am not sure if this CPU is supposed to support it. If pointer authentication is not part of the arm64 baseline, maybe the package isa-support should provide a package which rr can depend on, like it does to sse2-support at i386? Kind regards, Bernhard root@rpi3-20240331:~# gdb -q --args rr true Reading symbols from rr... Reading symbols from /usr/lib/debug/.build-id/d5/cbd34499cde785655fcd7cb84960a78162b147.debug... (gdb) set width 0 (gdb) set pagination off (gdb) run Starting program: /usr/bin/rr true [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. 0x0000aaaaaab1be44 in std::vector<rr::Command*, std::allocator<rr::Command*> >::_M_realloc_insert<rr::Command*> (this=<optimized out>, __position=..., __position@entry=non-dereferenceable iterator for std::vector) at /usr/include/c++/13/bits/vector.tcc:524 warning: Source file is more recent than executable. 524 } (gdb) bt #0 0x0000aaaaaab1be44 in std::vector<rr::Command*, std::allocator<rr::Command*> >::_M_realloc_insert<rr::Command*> (this=<optimized out>, __position=..., __position@entry=non-dereferenceable iterator for std::vector) at /usr/include/c++/13/bits/vector.tcc:524 #1 0x0000aaaaaab1b950 in std::vector<rr::Command*, std::allocator<rr::Command*> >::emplace_back<rr::Command*> (this=<optimized out>) at /usr/include/c++/13/bits/stl_iterator.h:1076 #2 std::vector<rr::Command*, std::allocator<rr::Command*> >::push_back (__x=@0xfffffffffc10: 0xaaaaaad50560 <rr::BuildidCommand::singleton>, this=<optimized out>) at /usr/include/c++/13/bits/stl_vector.h:1299 #3 rr::Command::Command (this=this@entry=0xaaaaaad50560 <rr::BuildidCommand::singleton>, name=name@entry=0xaaaaaacc8310 "buildid", help=help@entry=0xaaaaaacc8280 " rr buildid\n Accepts paths on stdin, prints buildids on stdout. Will terminate when\n either an empty line or an invalid path is provided.\n") at ./src/Command.cc:37 #4 0x0000aaaaaaaf9900 in rr::BuildidCommand::BuildidCommand (help=0xaaaaaacc8280 " rr buildid\n Accepts paths on stdin, prints buildids on stdout. Will terminate when\n either an empty line or an invalid path is provided.\n", name=0xaaaaaacc8310 "buildid", this=0xaaaaaad50560 <rr::BuildidCommand::singleton>) at ./src/BuildidCommand.cc:19 #5 __static_initialization_and_destruction_0 () at ./src/BuildidCommand.cc:28 #6 _GLOBAL__sub_I__ZN2rr14BuildidCommand9singletonE () at ./src/BuildidCommand.cc:56 #7 0x0000fffff77b229c in call_init (env=<optimized out>, argv=0xfffffffffcd8, argc=2) at ../csu/libc-start.c:145 #8 __libc_start_main_impl (main=0xaaaaaaafa530 <main(int, char**)>, argc=2, argv=0xfffffffffcd8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:347 #9 0x0000aaaaaaafc970 in _start () (gdb) display/i $pc 1: x/i $pc => 0xaaaaaab1be44 <_ZNSt6vectorIPN2rr7CommandESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_+180>: retaa (gdb) shell lscpu Architecture: aarch64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: ARM Model name: Cortex-A53 Model: 4 Thread(s) per core: 1 Core(s) per cluster: 4 Socket(s): - Cluster(s): 1 Stepping: r0p4 CPU(s) scaling MHz: 100% CPU max MHz: 1200,0000 CPU min MHz: 600,0000 BogoMIPS: 38,40 Flags: fp asimd evtstrm crc32 cpuid ... (gdb) shell uname -a Linux rpi3-20240331 6.10.3-arm64 #1 SMP Debian 6.10.3-1 (2024-08-04) aarch64 GNU/Linux (gdb) -- System Information: Debian Release: trixie/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing') Architecture: arm64 (aarch64) Kernel: Linux 6.10.3-arm64 (SMP w/4 CPU threads) Kernel taint flags: TAINT_CRAP Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages rr depends on: ii libbrotli1 1.1.0-2+b4 ii libc6 2.39-6 ii libcapnp-1.0.1 1.0.1-4 ii libgcc-s1 14.2.0-1 ii libstdc++6 14.2.0-1 ii python3 3.12.4-1 ii zlib1g 1:1.3.dfsg+really1.3.1-1 rr recommends no packages. rr suggests no packages. -- no debconf information