File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -296,9 +296,20 @@ jobs:
296296 # all look identical from outside: `Segmentation fault: 11`.
297297 # One CI cycle that prints a backtrace is worth several that do not.
298298 if ! ./art/openkal-same-source > out.log 2>&1; then
299+ echo "--- how far the loader got ---"
300+ DYLD_PRINT_INITIALIZERS=1 DYLD_PRINT_APIS=1 \
301+ ./art/openkal-same-source 2>&1 | tail -25 || true
299302 echo "--- it did not run; what the debugger saw ---"
300- lldb --batch -o run -o 'bt all' -o 'image list' \
301- -- ./art/openkal-same-source 2>&1 | tail -60 || true
303+ # ⭐ `lr` IS THE DATUM. A jump to address 0 leaves no frame to
304+ # unwind, so `bt` says only "frame #0: 0x0" — which is the symptom
305+ # restated. The link register still holds the return address of
306+ # whoever made that call, and `image lookup` turns it into a name.
307+ lldb --batch \
308+ -o run \
309+ -o 'register read pc lr sp fp x8 x9 x16 x17' \
310+ -o 'image lookup --address $lr' \
311+ -o 'bt all' \
312+ -- ./art/openkal-same-source 2>&1 | tail -70 || true
302313 echo "--- the image's own dependencies ---"
303314 otool -L art/openkal-same-source || true
304315 otool -l art/openkal-same-source | grep -A4 LC_MAIN || true
You can’t perform that action at this time.
0 commit comments