athirumu@torrent:~/dev/lldb/tools/lldb/test/functionalities/inferior-assert$ make clang -g -O0 -m64 -c -o main.o main.c clang main.o -g -O0 -m64 -o "a.out" athirumu@torrent:~/dev/lldb/tools/lldb/test/functionalities/inferior-assert$ $LLDB_HERE a.out Current executable set to 'a.out' (x86_64). (lldb) r Process 14533 launched: '/home/athirumu/dev/lldb/tools/lldb/test/functionalities/inferior-assert/a.out' (x86_64) Hello, assertion! a.out: main.c:18: int main(int, const char **): Assertion `null_ptr' failed. Process 14533 stopped * thread #1: tid = 0x38c5, 0x00007fd6d792c425 libc.so.6`raise + 53, stop reason = signal SIGABRT frame #0: 0x00007fd6d792c425 libc.so.6`raise + 53 libc.so.6`raise + 53: -> 0x7fd6d792c425: cmpq $-4096, %rax 0x7fd6d792c42b: ja 0x7fd6d792c43f ; raise + 79 0x7fd6d792c42d: .byte 0xf3 ; unknown opcode 0x7fd6d792c42e: ret (lldb) log enable lldb unwind (lldb) bt th1/fr0 supplying caller's saved reg 16's location using assembly insn profiling UnwindPlan th1/fr0 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr1 pc = 0x00007fd6d792fb8b th1/fr0 supplying caller's register 6 from the live RegisterContext at frame 0 th1/fr1 fp = 0x00000000004006db th1/fr0 supplying caller's stack pointer (7) value, computed from CFA th1/fr1 sp = 0x00007fffa7d89a60 (x86_64) /lib/x86_64-linux-gnu/libc.so.6: Reading EH frame info th1/fr1 active row: 0x00007fd6d792fa17: CFA=rsp+304 => rip=[rsp+296] th1/fr0 supplying caller's saved reg 7's location, cached th1/fr1 cfa_regval = 0x00007fffa7d89b90 (cfa_regval = 0x00007fffa7d89a60, cfa_offset = 304) th1/fr1 initialized frame current pc is 0x7fd6d792fb8b cfa is 0x7fffa7d89b90 th1/fr0 supplying caller's saved reg 16's location, cached th1/fr1 requested caller's saved PC but this UnwindPlan uses a RA reg; getting reg 16 instead th1/fr1 supplying caller's saved reg 16's location using eh_frame CFI UnwindPlan th1/fr1 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr2 pc = 0x00007fd6d79250ee th1/fr1 could not supply caller's reg 6 location th1/fr0 supplying caller's saved reg 6's location, cached th1/fr0 supplying caller's saved reg 6's location, cached th1/fr2 fp = 0x00000000004006db th1/fr1 supplying caller's stack pointer (7) value, computed from CFA th1/fr2 sp = 0x00007fffa7d89b90 th1/fr2 active row: 0x00007fd6d7925102: CFA=rsp+96 => rbx=[rsp+64] rbp=[rsp+72] r12=[rsp+80] rip=[rsp+88] th1/fr1 supplying caller's saved reg 7's location, cached th1/fr2 cfa_regval = 0x00007fffa7d89bf0 (cfa_regval = 0x00007fffa7d89b90, cfa_offset = 96) th1/fr2 initialized frame current pc is 0x7fd6d79250ee cfa is 0x7fffa7d89bf0 th1/fr1 supplying caller's saved reg 16's location, cached th1/fr2 requested caller's saved PC but this UnwindPlan uses a RA reg; getting reg 16 instead th1/fr2 supplying caller's saved reg 16's location using eh_frame CFI UnwindPlan th1/fr2 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr3 pc = 0x00007fd6d7925192 th1/fr2 supplying caller's saved reg 6's location using eh_frame CFI UnwindPlan th1/fr2 supplying caller's register 6 from the stack, saved at CFA plus offset th1/fr3 fp = 0x00000000004006db th1/fr2 supplying caller's stack pointer (7) value, computed from CFA th1/fr3 sp = 0x00007fffa7d89bf0 th1/fr3 active row: 0x00007fd6d7925179: CFA=rsp+48 => rbx=[rsp+8] rbp=[rsp+16] r12=[rsp+24] r13=[rsp+32] rip=[rsp+40] th1/fr2 supplying caller's saved reg 7's location, cached th1/fr3 cfa_regval = 0x00007fffa7d89c20 (cfa_regval = 0x00007fffa7d89bf0, cfa_offset = 48) th1/fr3 initialized frame current pc is 0x7fd6d7925191 cfa is 0x7fffa7d89c20 th1/fr2 supplying caller's saved reg 16's location, cached th1/fr3 requested caller's saved PC but this UnwindPlan uses a RA reg; getting reg 16 instead th1/fr3 supplying caller's saved reg 16's location using eh_frame CFI UnwindPlan th1/fr3 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr4 pc = 0x00000000004005c0 th1/fr3 supplying caller's saved reg 6's location using eh_frame CFI UnwindPlan th1/fr3 supplying caller's register 6 from the stack, saved at CFA plus offset th1/fr4 fp = 0x00007fffa7d89c40 th1/fr3 supplying caller's stack pointer (7) value, computed from CFA th1/fr4 sp = 0x00007fffa7d89c20 th1/fr4 active row: 0x0000000000400554: CFA=rbp+16 => rbp=[rbp] rsp=rbp+16 rip=[rbp+8] th1/fr3 supplying caller's saved reg 6's location, cached th1/fr4 cfa_regval = 0x00007fffa7d89c50 (cfa_regval = 0x00007fffa7d89c40, cfa_offset = 16) th1/fr4 initialized frame current pc is 0x4005c0 cfa is 0x7fffa7d89c50 th1/fr3 supplying caller's saved reg 16's location, cached th1/fr3 supplying caller's saved reg 6's location, cached th1/fr4 supplying caller's saved reg 16's location using FastUnwindPlan th1/fr4 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr5 pc = 0x00007fd6d791776d th1/fr4 supplying caller's saved reg 6's location using FastUnwindPlan th1/fr4 supplying caller's register 6 from the stack, saved at CFA plus offset th1/fr5 fp = 0x0000000000000000 th1/fr4 supplying caller's stack pointer (7) value, computed from CFA th1/fr5 sp = 0x00007fffa7d89c50 th1/fr5 active row: 0x00007fd6d7917692: CFA=rsp+192 => rbx=[rsp+144] rbp=[rsp+152] r12=[rsp+160] r13=[rsp+168] r14=[rsp+176] rip=[rsp+184] th1/fr4 supplying caller's saved reg 7's location, cached th1/fr5 cfa_regval = 0x00007fffa7d89d10 (cfa_regval = 0x00007fffa7d89c50, cfa_offset = 192) th1/fr5 initialized frame current pc is 0x7fd6d791776d cfa is 0x7fffa7d89d10 th1/fr4 supplying caller's saved reg 16's location, cached th1/fr5 requested caller's saved PC but this UnwindPlan uses a RA reg; getting reg 16 instead th1/fr5 supplying caller's saved reg 16's location using eh_frame CFI UnwindPlan th1/fr5 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr6 pc = 0x0000000000400489 th1/fr5 supplying caller's saved reg 6's location using eh_frame CFI UnwindPlan th1/fr5 supplying caller's register 6 from the stack, saved at CFA plus offset th1/fr6 fp = 0x0000000000000000 th1/fr5 supplying caller's stack pointer (7) value, computed from CFA th1/fr6 sp = 0x00007fffa7d89d10 (x86_64) /home/athirumu/dev/lldb/tools/lldb/test/functionalities/inferior-assert/a.out: Reading EH frame info th1/fr6 active row: 0x000000000040046f: CFA=rsp+24 => rsp=[rsp] rip=[rsp+16] th1/fr5 supplying caller's saved reg 7's location, cached th1/fr6 cfa_regval = 0x00007fffa7d89d28 (cfa_regval = 0x00007fffa7d89d10, cfa_offset = 24) th1/fr6 initialized frame current pc is 0x400489 cfa is 0x7fffa7d89d28 th1/fr5 supplying caller's saved reg 16's location, cached th1/fr6 supplying caller's saved reg 16's location using assembly insn profiling UnwindPlan th1/fr6 supplying caller's register 16 from the stack, saved at CFA plus offset th1/fr7 pc = 0x0000000000000001 th1/fr6 could not supply caller's reg 6 location th1/fr5 supplying caller's saved reg 6's location, cached th1/fr7 fp = 0x0000000000000000 th1/fr6 supplying caller's stack pointer (7) value, computed from CFA th1/fr7 sp = 0x00007fffa7d89d28 th1/fr7 using architectural default unwind method th1/fr6 could not supply caller's reg 6 location th1/fr5 supplying caller's saved reg 6's location, cached th1/fr7 could not find a valid cfa address Frame 7 invalid RegisterContext for this frame, stopping stack walk * thread #1: tid = 0x38c5, 0x00007fd6d792c425 libc.so.6`raise + 53, stop reason = signal SIGABRT frame #0: 0x00007fd6d792c425 libc.so.6`raise + 53 frame #1: 0x00007fd6d792fb8b libc.so.6`abort + 379 frame #2: 0x00007fd6d79250ee libc.so.6 frame #3: 0x00007fd6d7925192 libc.so.6`__assert_fail + 66 frame #4: 0x00000000004005c0 a.out`main(argc=1, argv=0x00007fffa7d89d28) + 112 at main.c:18 frame #5: 0x00007fd6d791776d libc.so.6`__libc_start_main + 237 frame #6: 0x0000000000400489 a.out`_start + 41 (lldb)