On Friday 13 June 2014 14:05:45 Lassi Tuura wrote:
> Sorry for slow reply - unfortunately I haven't had much chance to look into
> this in detail.
>
> The things that ideally should happen:
>
> - Dwarf unwinder should detect the "last" frame in the stack and stop
> there. IIRC this was supposed to be based on null return address column in
> the dwarf info, and there should be an "if" in the generic dwarf parsing to
> detect this. I don't recall how this was (if at all) recorded through frame
> stashing and fast trace though, and didn't have time to look into it in
> detail.
Aha, that does help indeed. What do you say to this patch:
diff --git a/src/x86_64/Gstep.c b/src/x86_64/Gstep.c
index 809d60b..a6dde6a 100644
--- a/src/x86_64/Gstep.c
+++ b/src/x86_64/Gstep.c
@@ -84,7 +84,7 @@ unw_step (unw_cursor_t *cursor)
{
/* x86_64 ABI specifies that end of call-chain is marked with a
NULL RBP. */
- if (DWARF_IS_NULL_LOC (c->dwarf.loc[RBP]))
+ if (DWARF_IS_NULL_LOC (c->dwarf.loc[RBP]) || DWARF_IS_NULL_LOC(c-
>dwarf.loc[c->dwarf.ret_addr_column]))
{
c->dwarf.ip = 0;
ret = 0;
It works very well for me, as far as I can see! What do you say? Can we merge
this upstream?
> - The frame stash should a) record the frame, b) remember somehow or
> another it's the last frame.
The patch above does that as then unw_step returns 0 which in turn is cached
by Gtrace.c.
> - The fast trace should stop when at the end of the frame chain. I am not
> sure but I don't think Arun's suggested check on RBP would be the right
> thing to do, but I didn't fully trace how its value be would be tracked
> through the multi-condition "if". Maybe it's the right thing, just not sure.
>
> The main thing I would look at, using full libunwind debug levels, is how
> the very first pass through the last frame is parsed and handled. First
> make sure it is correctly parsed and detected as the last frame in the
> chain, and if that's not the case, maybe look into why either the dwarf
> frame info is incorrect, or why the heuristics don't correctly detect the
> case. If and only if that detection is correct, figure out why the fast
> trace gets it wrong, and falls off the fast path.
I've send this debug information in my previous emails. But I've attached the
log again before and after applying the patch listed above.
> We did run into several common enough cases where fast trace wouldn't
> detect the last frame correctly, and fell off to the slow trace, which
> would just produce the same result - slower. That was really annoying so
> you have my full sympathy :-) I tried to fix all the deficiencies we found,
> but certainly there can be more of them. I was hoping linux system libc
> would by now correctly annotate everything with dwarf, maybe it's just a
> matter of suitable configuration, compilation or linking flags somewhere?
I'm running against the libc that is provided by the ArchLinux repositories. I
do _not_ want to build this on my own. I hope you understand that. The version
is glibc 2.19-5.
Thanks for your feedback!
--
Milian Wolff
[email protected]
http://milianw.de
>_ULx86_64_init_mem_validate: using msync to validate memory
>_ULx86_64_init_local: (cursor=0x7fff64e3bd00)
>_ULx86_64_tdep_trace: begin ip 0x7ff9b0d71c0e cfa 0x7fff64e3b940
>trace_cache_create: allocated cache 0x7ff9b0d6cfe0
>trace_cache_get: using cache 0x7ff9b0d6cfe0
>_ULx86_64_tdep_trace: depth 0 cfa 0x7fff64e3b940 rip 0x7ff9b0d71c0d rsp 0x7fff64e3b940 rbp 0x7fff64e3b950
>trace_lookup: updating slot 11782 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff64e3bd00, ip=0x00007ff9b0d71c0e, cfa=0x00007fff64e3b940)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x7ff9b0d71c0d
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff65819000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7ff9b0d6f000)
>_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7ff9b0d7f590, len=97, gp=0x7ff9b0d80b18, table_data=0x7ff9b0d7f59c
>lookup: e->start_ip_offset = ffffffffffff31b0
>lookup: e->start_ip_offset = ffffffffffff27b0
>lookup: e->start_ip_offset = ffffffffffff20d0
>lookup: e->start_ip_offset = ffffffffffff2470
>lookup: e->start_ip_offset = ffffffffffff25d0
>lookup: e->start_ip_offset = ffffffffffff2730
>lookup: e->start_ip_offset = ffffffffffff2650
>_ULx86_64_dwarf_search_unwind_table: ip=0x7ff9b0d71c0d, start_ip=0xffffffffffff2650
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffee50, segbase = 7ff9b0d7f590, debug_frame_base = 0, fde_addr = 7ff9b0d7e3e0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7ff9b0d7e3e0
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7ff9b0d7e070
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7ff9b0d71be0-0x7ff9b0d71cb5, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x7ff9b0d71c0e cfa=0x7fff64e3b940 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71be2
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71be4
>run_cfi_program: CFA_def_cfa_offset 0x18
>run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71be9
>run_cfi_program: CFA_def_cfa_offset 0x20
>run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71bea
>run_cfi_program: CFA_def_cfa_offset 0x28
>run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71bee
>run_cfi_program: CFA_def_cfa_offset 0x30
>run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71bf5
>run_cfi_program: CFA_def_cfa_offset 0xbf0
>run_cfi_program: CFA_advance_loc1 to 0x7ff9b0d71c3c
>_ULx86_64_cache_frame: cache frame ip=0x7ff9b0d71c0e cfa=0x7fff64e3b940 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x7ff9b0d71c0e cfa=0x7fff64e3b940 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x4008ef cfa=0x7fff64e3c530 type 0 cfa [where=3 val=7] cfaoff=3056 ra=0x7fff64e3c528 rbp [where=2 val=-40 @0x7fff64e3c508] rsp [where=1 val=0 @0x7fff64e3b9f0]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 7ff9b0d71c0d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 7ff9b0d71c0d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3c530 rip 0x4008ef rsp 0x7fff64e3c530 rbp 0x7fff64e3cd40
>_ULx86_64_tdep_trace: depth 1 cfa 0x7fff64e3c530 rip 0x4008ee rsp 0x7fff64e3c530 rbp 0x7fff64e3cd40
>trace_lookup: updating slot 14361 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff64e3bd00, ip=0x00000000004008ef, cfa=0x00007fff64e3c530)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x4008ee
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffd62
>lookup: e->start_ip_offset = fffffffffffffdd8
>_ULx86_64_dwarf_search_unwind_table: ip=0x4008ee, start_ip=0xfffffffffffffd62
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffffec4, segbase = 400b64, debug_frame_base = 0, fde_addr = 400a28
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a28
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a10
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x4008c6-0x40093c, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x4008ef cfa=0x7fff64e3c530 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x4008c7
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x4008ca
>run_cfi_program: CFA_def_cfa_register r6
>run_cfi_program: CFA_advance_loc1 to 0x40093b
>_ULx86_64_cache_frame: cache frame ip=0x4008ef cfa=0x7fff64e3c530 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x4008ef cfa=0x7fff64e3c530 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x40095b cfa=0x7fff64e3cd50 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff64e3cd48 rbp [where=2 val=-16 @0x7fff64e3cd40] rsp [where=1 val=0 @0x7fff64e3b9f0]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 4008ee type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 4008ee type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3cd50 rip 0x40095b rsp 0x7fff64e3cd50 rbp 0x7fff64e3cd50
>_ULx86_64_tdep_trace: depth 2 cfa 0x7fff64e3cd50 rip 0x40095a rsp 0x7fff64e3cd50 rbp 0x7fff64e3cd50
>trace_lookup: updating slot 9476 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff64e3bd00, ip=0x000000000040095b, cfa=0x00007fff64e3cd50)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x40095a
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffe0c
>lookup: e->start_ip_offset = fffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: ip=0x40095a, start_ip=0xfffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff24, segbase = 400b64, debug_frame_base = 0, fde_addr = 400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a10
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400952-0x400967, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x40095b cfa=0x7fff64e3cd50 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x400953
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x400956
>run_cfi_program: CFA_def_cfa_register r6
>run_cfi_program: CFA_advance_loc to 0x400966
>_ULx86_64_cache_frame: cache frame ip=0x40095b cfa=0x7fff64e3cd50 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x40095b cfa=0x7fff64e3cd50 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x7ff9affba000 cfa=0x7fff64e3cd60 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff64e3cd58 rbp [where=2 val=-16 @0x7fff64e3cd50] rsp [where=1 val=0 @0x7fff64e3b9f0]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 40095a type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 40095a type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3cd60 rip 0x7ff9affba000 rsp 0x7fff64e3cd60 rbp 0x400970
>_ULx86_64_tdep_trace: depth 3 cfa 0x7fff64e3cd60 rip 0x7ff9affb9fff rsp 0x7fff64e3cd60 rbp 0x400970
>trace_lookup: updating slot 14393 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff64e3bd00, ip=0x00007ff9affba000, cfa=0x00007fff64e3cd60)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x7ff9affb9fff
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff65819000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7ff9b0d6f000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7ff9b0862000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7ff9b055e000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7ff9b0348000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7ff9aff9a000)
>_ULx86_64_dwarf_callback: found table `/usr/lib/libc.so.6': segbase=0x7ff9b010a6a0, len=3397, gp=0x7ff9b0342000, table_data=0x7ff9b010a6ac
>lookup: e->start_ip_offset = fffffffffff59fb0
>lookup: e->start_ip_offset = fffffffffff03530
>lookup: e->start_ip_offset = ffffffffffed22e7
>lookup: e->start_ip_offset = ffffffffffec3170
>lookup: e->start_ip_offset = ffffffffffebc370
>lookup: e->start_ip_offset = ffffffffffeb24f0
>lookup: e->start_ip_offset = ffffffffffeafff0
>lookup: e->start_ip_offset = ffffffffffeafa30
>lookup: e->start_ip_offset = ffffffffffeaf242
>lookup: e->start_ip_offset = ffffffffffeaf6c0
>lookup: e->start_ip_offset = ffffffffffeaf870
>_ULx86_64_dwarf_search_unwind_table: ip=0x7ff9affb9fff, start_ip=0xffffffffffeaf870
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = 6ae8, segbase = 7ff9b010a6a0, debug_frame_base = 0, fde_addr = 7ff9b0111188
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7ff9b0111188
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7ff9b01110d8
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7ff9affb9f10-0x7ff9affba0c9, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x7ff9affba000 cfa=0x7fff64e3cd60 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x7ff9affb9f12
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x7ff9affb9f14
>run_cfi_program: CFA_def_cfa_offset 0x18
>run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
>run_cfi_program: CFA_advance_loc to 0x7ff9affb9f16
>run_cfi_program: CFA_def_cfa_offset 0x20
>run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
>run_cfi_program: CFA_advance_loc to 0x7ff9affb9f17
>run_cfi_program: CFA_def_cfa_offset 0x28
>run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
>run_cfi_program: CFA_advance_loc to 0x7ff9affb9f1b
>run_cfi_program: CFA_def_cfa_offset 0x30
>run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
>run_cfi_program: CFA_advance_loc to 0x7ff9affb9f22
>run_cfi_program: CFA_def_cfa_offset 0xc0
>_ULx86_64_cache_frame: cache frame ip=0x7ff9affba000 cfa=0x7fff64e3cd60 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x7ff9affba000 cfa=0x7fff64e3cd60 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x4007f9 cfa=0x7fff64e3ce20 type 0 cfa [where=3 val=7] cfaoff=192 ra=0x7fff64e3ce18 rbp [where=2 val=-40 @0x7fff64e3cdf8] rsp [where=1 val=0 @0x7fff64e3b9f0]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 7ff9affb9fff type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 7ff9affb9fff type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3ce20 rip 0x4007f9 rsp 0x7fff64e3ce20 rbp 0x0
>_ULx86_64_tdep_trace: depth 4 cfa 0x7fff64e3ce20 rip 0x4007f8 rsp 0x7fff64e3ce20 rbp 0x0
>trace_lookup: updating slot 3642 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff64e3bd00, ip=0x00000000004007f9, cfa=0x00007fff64e3ce20)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x4007f8
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffd62
>lookup: e->start_ip_offset = fffffffffffffc6c
>_ULx86_64_dwarf_search_unwind_table: ip=0x4007f8, start_ip=0xfffffffffffffc6c
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffffe4, segbase = 400b64, debug_frame_base = 0, fde_addr = 400b48
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400b48
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400b30
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x4007d0-0x4007fa, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x4007f9 cfa=0x7fff64e3ce20 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_undefined r16
>_ULx86_64_cache_frame: cache frame ip=0x4007f9 cfa=0x7fff64e3ce20 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x4007f9 cfa=0x7fff64e3ce20 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x0 cfa=0x7fff64e3ce28 type 0 cfa [where=3 val=7] cfaoff=8 ra=0x0 rbp [where=1 val=0 @0x7fff64e3b9c8] rsp [where=1 val=0 @0x7fff64e3b9f0]
>_ULx86_64_stash_frame: unusual frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 4007f8 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 4007f8 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3ce20 rip 0x4007f8 rsp 0x7fff64e3ce20 rbp 0x0
>_ULx86_64_tdep_trace: returning -5, depth 4
>_ULx86_64_init_local: (cursor=0x7fff64e3c100)
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00007ff9b0d71c68, cfa=0x00007fff64e3b940)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x7ff9b0d71c67
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff65819000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7ff9b0d6f000)
>_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7ff9b0d7f590, len=97, gp=0x7ff9b0d80b18, table_data=0x7ff9b0d7f59c
>lookup: e->start_ip_offset = ffffffffffff31b0
>lookup: e->start_ip_offset = ffffffffffff27b0
>lookup: e->start_ip_offset = ffffffffffff20d0
>lookup: e->start_ip_offset = ffffffffffff2470
>lookup: e->start_ip_offset = ffffffffffff25d0
>lookup: e->start_ip_offset = ffffffffffff2730
>lookup: e->start_ip_offset = ffffffffffff2650
>_ULx86_64_dwarf_search_unwind_table: ip=0x7ff9b0d71c67, start_ip=0xffffffffffff2650
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffee50, segbase = 7ff9b0d7f590, debug_frame_base = 0, fde_addr = 7ff9b0d7e3e0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7ff9b0d7e3e0
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7ff9b0d7e070
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7ff9b0d71be0-0x7ff9b0d71cb5, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x7ff9b0d71c68 cfa=0x7fff64e3b940 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71be2
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71be4
>run_cfi_program: CFA_def_cfa_offset 0x18
>run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71be9
>run_cfi_program: CFA_def_cfa_offset 0x20
>run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71bea
>run_cfi_program: CFA_def_cfa_offset 0x28
>run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71bee
>run_cfi_program: CFA_def_cfa_offset 0x30
>run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71bf5
>run_cfi_program: CFA_def_cfa_offset 0xbf0
>run_cfi_program: CFA_advance_loc1 to 0x7ff9b0d71c3c
>run_cfi_program: CFA_remember_state
>run_cfi_program: CFA_def_cfa_offset 0x30
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71c3f
>run_cfi_program: CFA_def_cfa_offset 0x28
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71c40
>run_cfi_program: CFA_def_cfa_offset 0x20
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71c42
>run_cfi_program: CFA_def_cfa_offset 0x18
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71c44
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71c46
>run_cfi_program: CFA_def_cfa_offset 0x8
>run_cfi_program: CFA_advance_loc to 0x7ff9b0d71c50
>run_cfi_program: CFA_restore_state
>_ULx86_64_cache_frame: cache frame ip=0x7ff9b0d71c68 cfa=0x7fff64e3b940 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x7ff9b0d71c68 cfa=0x7fff64e3b940 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00000000004008ef, cfa=0x00007fff64e3c530)
>_ULx86_64_reuse_frame: reuse frame ip=0x4008ef cfa=0x7fff64e3c530 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x000000000040095b, cfa=0x00007fff64e3cd50)
>_ULx86_64_reuse_frame: reuse frame ip=0x40095b cfa=0x7fff64e3cd50 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00007ff9affba000, cfa=0x00007fff64e3cd60)
>_ULx86_64_reuse_frame: reuse frame ip=0x7ff9affba000 cfa=0x7fff64e3cd60 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00000000004007f9, cfa=0x00007fff64e3ce20)
>_ULx86_64_reuse_frame: reuse frame ip=0x4007f9 cfa=0x7fff64e3ce20 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x0000000000000000, cfa=0x00007fff64e3ce28)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0xffffffffffffffff
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff65819000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7ff9b0d6f000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7ff9b0862000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7ff9b055e000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7ff9b0348000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7ff9aff9a000)
>_ULx86_64_dwarf_callback: checking /lib64/ld-linux-x86-64.so.2, base=0x7ff9b0b71000)
>_ULx86_64_dwarf_callback: checking /usr/lib/liblzma.so.5, base=0x7ff9afd77000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libpthread.so.0, base=0x7ff9afb59000)
>_ULx86_64_dwarf_find_proc_info: IP=0xffffffffffffffff not found
>_ULx86_64_dwarf_step: returning -10
>_ULx86_64_step: dwarf_step() failed (ret=-10), trying frame-chain
>_ULx86_64_step: NULL %rbp loc, returning 0
---
0x4008ef
0x40095b
0x7ff9affba000
0x4007f9
(nil)
---
>_ULx86_64_init_local: (cursor=0x7fff64e3bd00)
>_ULx86_64_tdep_trace: begin ip 0x7ff9b0d71c0e cfa 0x7fff64e3b940
>trace_cache_get: using cache 0x7ff9b0d6cfe0
>_ULx86_64_tdep_trace: depth 0 cfa 0x7fff64e3b940 rip 0x7ff9b0d71c0d rsp 0x7fff64e3b940 rbp 0x7fff64e3b950
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 7ff9b0d71c0d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3c530 rip 0x4008ef rsp 0x7fff64e3c530 rbp 0x7fff64e3cd40
>_ULx86_64_tdep_trace: depth 1 cfa 0x7fff64e3c530 rip 0x4008ee rsp 0x7fff64e3c530 rbp 0x7fff64e3cd40
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 4008ee type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3cd50 rip 0x400960 rsp 0x7fff64e3cd50 rbp 0x7fff64e3cd50
>_ULx86_64_tdep_trace: depth 2 cfa 0x7fff64e3cd50 rip 0x40095f rsp 0x7fff64e3cd50 rbp 0x7fff64e3cd50
>trace_lookup: updating slot 1968 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff64e3bd00, ip=0x0000000000400960, cfa=0x00007fff64e3cd50)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x40095f
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffe0c
>lookup: e->start_ip_offset = fffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: ip=0x40095f, start_ip=0xfffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff24, segbase = 400b64, debug_frame_base = 0, fde_addr = 400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a10
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400952-0x400967, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x400960 cfa=0x7fff64e3cd50 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x400953
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x400956
>run_cfi_program: CFA_def_cfa_register r6
>run_cfi_program: CFA_advance_loc to 0x400966
>_ULx86_64_cache_frame: cache frame ip=0x400960 cfa=0x7fff64e3cd50 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x400960 cfa=0x7fff64e3cd50 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x7ff9affba000 cfa=0x7fff64e3cd60 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff64e3cd58 rbp [where=2 val=-16 @0x7fff64e3cd50] rsp [where=1 val=0 @0x7fff64e3b9f0]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 40095f type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 40095f type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3cd60 rip 0x7ff9affba000 rsp 0x7fff64e3cd60 rbp 0x400970
>_ULx86_64_tdep_trace: depth 3 cfa 0x7fff64e3cd60 rip 0x7ff9affb9fff rsp 0x7fff64e3cd60 rbp 0x400970
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 7ff9affb9fff type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3ce20 rip 0x4007f9 rsp 0x7fff64e3ce20 rbp 0x0
>_ULx86_64_tdep_trace: depth 4 cfa 0x7fff64e3ce20 rip 0x4007f8 rsp 0x7fff64e3ce20 rbp 0x0
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 4007f8 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff64e3ce20 rip 0x4007f8 rsp 0x7fff64e3ce20 rbp 0x0
>_ULx86_64_tdep_trace: returning -5, depth 4
>_ULx86_64_init_local: (cursor=0x7fff64e3c100)
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00007ff9b0d71c68, cfa=0x00007fff64e3b940)
>_ULx86_64_reuse_frame: reuse frame ip=0x7ff9b0d71c68 cfa=0x7fff64e3b940 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00000000004008ef, cfa=0x00007fff64e3c530)
>_ULx86_64_reuse_frame: reuse frame ip=0x4008ef cfa=0x7fff64e3c530 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x0000000000400960, cfa=0x00007fff64e3cd50)
>_ULx86_64_reuse_frame: reuse frame ip=0x400960 cfa=0x7fff64e3cd50 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00007ff9affba000, cfa=0x00007fff64e3cd60)
>_ULx86_64_reuse_frame: reuse frame ip=0x7ff9affba000 cfa=0x7fff64e3cd60 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x00000000004007f9, cfa=0x00007fff64e3ce20)
>_ULx86_64_reuse_frame: reuse frame ip=0x4007f9 cfa=0x7fff64e3ce20 format=0 addr=0x0 offset=+0
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>_ULx86_64_step: (cursor=0x7fff64e3c100, ip=0x0000000000000000, cfa=0x00007fff64e3ce28)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0xffffffffffffffff
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff65819000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7ff9b0d6f000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7ff9b0862000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7ff9b055e000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7ff9b0348000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7ff9aff9a000)
>_ULx86_64_dwarf_callback: checking /lib64/ld-linux-x86-64.so.2, base=0x7ff9b0b71000)
>_ULx86_64_dwarf_callback: checking /usr/lib/liblzma.so.5, base=0x7ff9afd77000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libpthread.so.0, base=0x7ff9afb59000)
>_ULx86_64_dwarf_find_proc_info: IP=0xffffffffffffffff not found
>_ULx86_64_dwarf_step: returning -10
>_ULx86_64_step: dwarf_step() failed (ret=-10), trying frame-chain
>_ULx86_64_step: NULL %rbp loc, returning 0
---
0x4008ef
0x400960
0x7ff9affba000
0x4007f9
(nil)
---
>_ULx86_64_init_mem_validate: using msync to validate memory
>_ULx86_64_init_local: (cursor=0x7fff16b5c670)
>_ULx86_64_tdep_trace: begin ip 0x7f5a8798fc0e cfa 0x7fff16b5c2b0
>trace_cache_create: allocated cache 0x7f5a8798afe0
>trace_cache_get: using cache 0x7f5a8798afe0
>_ULx86_64_tdep_trace: depth 0 cfa 0x7fff16b5c2b0 rip 0x7f5a8798fc0d rsp 0x7fff16b5c2b0 rbp 0x7fff16b5c2c0
>trace_lookup: updating slot 5317 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff16b5c670, ip=0x00007f5a8798fc0e, cfa=0x00007fff16b5c2b0)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f5a8798fc0d
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff174fe000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7f5a8798d000)
>_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7f5a8799d590, len=97, gp=0x7f5a8799eb18, table_data=0x7f5a8799d59c
>lookup: e->start_ip_offset = ffffffffffff31b0
>lookup: e->start_ip_offset = ffffffffffff27b0
>lookup: e->start_ip_offset = ffffffffffff20d0
>lookup: e->start_ip_offset = ffffffffffff2470
>lookup: e->start_ip_offset = ffffffffffff25d0
>lookup: e->start_ip_offset = ffffffffffff2730
>lookup: e->start_ip_offset = ffffffffffff2650
>_ULx86_64_dwarf_search_unwind_table: ip=0x7f5a8798fc0d, start_ip=0xffffffffffff2650
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffee50, segbase = 7f5a8799d590, debug_frame_base = 0, fde_addr = 7f5a8799c3e0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f5a8799c3e0
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7f5a8799c070
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7f5a8798fbe0-0x7f5a8798fcb5, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x7f5a8798fc0e cfa=0x7fff16b5c2b0 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x7f5a8798fbe2
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x7f5a8798fbe4
>run_cfi_program: CFA_def_cfa_offset 0x18
>run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
>run_cfi_program: CFA_advance_loc to 0x7f5a8798fbe9
>run_cfi_program: CFA_def_cfa_offset 0x20
>run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
>run_cfi_program: CFA_advance_loc to 0x7f5a8798fbea
>run_cfi_program: CFA_def_cfa_offset 0x28
>run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
>run_cfi_program: CFA_advance_loc to 0x7f5a8798fbee
>run_cfi_program: CFA_def_cfa_offset 0x30
>run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
>run_cfi_program: CFA_advance_loc to 0x7f5a8798fbf5
>run_cfi_program: CFA_def_cfa_offset 0xbf0
>run_cfi_program: CFA_advance_loc1 to 0x7f5a8798fc3c
>_ULx86_64_cache_frame: cache frame ip=0x7f5a8798fc0e cfa=0x7fff16b5c2b0 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x7f5a8798fc0e cfa=0x7fff16b5c2b0 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x4008ef cfa=0x7fff16b5cea0 type 0 cfa [where=3 val=7] cfaoff=3056 ra=0x7fff16b5ce98 rbp [where=2 val=-40 @0x7fff16b5ce78] rsp [where=1 val=0 @0x7fff16b5c360]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 7f5a8798fc0d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 7f5a8798fc0d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5cea0 rip 0x4008ef rsp 0x7fff16b5cea0 rbp 0x7fff16b5d6b0
>_ULx86_64_tdep_trace: depth 1 cfa 0x7fff16b5cea0 rip 0x4008ee rsp 0x7fff16b5cea0 rbp 0x7fff16b5d6b0
>trace_lookup: updating slot 14361 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff16b5c670, ip=0x00000000004008ef, cfa=0x00007fff16b5cea0)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x4008ee
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffd62
>lookup: e->start_ip_offset = fffffffffffffdd8
>_ULx86_64_dwarf_search_unwind_table: ip=0x4008ee, start_ip=0xfffffffffffffd62
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffffec4, segbase = 400b64, debug_frame_base = 0, fde_addr = 400a28
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a28
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a10
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x4008c6-0x40093c, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x4008ef cfa=0x7fff16b5cea0 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x4008c7
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x4008ca
>run_cfi_program: CFA_def_cfa_register r6
>run_cfi_program: CFA_advance_loc1 to 0x40093b
>_ULx86_64_cache_frame: cache frame ip=0x4008ef cfa=0x7fff16b5cea0 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x4008ef cfa=0x7fff16b5cea0 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x40095b cfa=0x7fff16b5d6c0 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff16b5d6b8 rbp [where=2 val=-16 @0x7fff16b5d6b0] rsp [where=1 val=0 @0x7fff16b5c360]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 4008ee type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 4008ee type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5d6c0 rip 0x40095b rsp 0x7fff16b5d6c0 rbp 0x7fff16b5d6c0
>_ULx86_64_tdep_trace: depth 2 cfa 0x7fff16b5d6c0 rip 0x40095a rsp 0x7fff16b5d6c0 rbp 0x7fff16b5d6c0
>trace_lookup: updating slot 9476 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff16b5c670, ip=0x000000000040095b, cfa=0x00007fff16b5d6c0)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x40095a
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffe0c
>lookup: e->start_ip_offset = fffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: ip=0x40095a, start_ip=0xfffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff24, segbase = 400b64, debug_frame_base = 0, fde_addr = 400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a10
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400952-0x400967, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x40095b cfa=0x7fff16b5d6c0 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x400953
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x400956
>run_cfi_program: CFA_def_cfa_register r6
>run_cfi_program: CFA_advance_loc to 0x400966
>_ULx86_64_cache_frame: cache frame ip=0x40095b cfa=0x7fff16b5d6c0 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x40095b cfa=0x7fff16b5d6c0 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x7f5a86bd8000 cfa=0x7fff16b5d6d0 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff16b5d6c8 rbp [where=2 val=-16 @0x7fff16b5d6c0] rsp [where=1 val=0 @0x7fff16b5c360]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 40095a type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 40095a type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5d6d0 rip 0x7f5a86bd8000 rsp 0x7fff16b5d6d0 rbp 0x400970
>_ULx86_64_tdep_trace: depth 3 cfa 0x7fff16b5d6d0 rip 0x7f5a86bd7fff rsp 0x7fff16b5d6d0 rbp 0x400970
>trace_lookup: updating slot 7928 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff16b5c670, ip=0x00007f5a86bd8000, cfa=0x00007fff16b5d6d0)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f5a86bd7fff
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff174fe000)
>_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7f5a8798d000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7f5a87480000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7f5a8717c000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7f5a86f66000)
>_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7f5a86bb8000)
>_ULx86_64_dwarf_callback: found table `/usr/lib/libc.so.6': segbase=0x7f5a86d286a0, len=3397, gp=0x7f5a86f60000, table_data=0x7f5a86d286ac
>lookup: e->start_ip_offset = fffffffffff59fb0
>lookup: e->start_ip_offset = fffffffffff03530
>lookup: e->start_ip_offset = ffffffffffed22e7
>lookup: e->start_ip_offset = ffffffffffec3170
>lookup: e->start_ip_offset = ffffffffffebc370
>lookup: e->start_ip_offset = ffffffffffeb24f0
>lookup: e->start_ip_offset = ffffffffffeafff0
>lookup: e->start_ip_offset = ffffffffffeafa30
>lookup: e->start_ip_offset = ffffffffffeaf242
>lookup: e->start_ip_offset = ffffffffffeaf6c0
>lookup: e->start_ip_offset = ffffffffffeaf870
>_ULx86_64_dwarf_search_unwind_table: ip=0x7f5a86bd7fff, start_ip=0xffffffffffeaf870
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = 6ae8, segbase = 7f5a86d286a0, debug_frame_base = 0, fde_addr = 7f5a86d2f188
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f5a86d2f188
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7f5a86d2f0d8
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7f5a86bd7f10-0x7f5a86bd80c9, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x7f5a86bd8000 cfa=0x7fff16b5d6d0 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x7f5a86bd7f12
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x7f5a86bd7f14
>run_cfi_program: CFA_def_cfa_offset 0x18
>run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
>run_cfi_program: CFA_advance_loc to 0x7f5a86bd7f16
>run_cfi_program: CFA_def_cfa_offset 0x20
>run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
>run_cfi_program: CFA_advance_loc to 0x7f5a86bd7f17
>run_cfi_program: CFA_def_cfa_offset 0x28
>run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
>run_cfi_program: CFA_advance_loc to 0x7f5a86bd7f1b
>run_cfi_program: CFA_def_cfa_offset 0x30
>run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
>run_cfi_program: CFA_advance_loc to 0x7f5a86bd7f22
>run_cfi_program: CFA_def_cfa_offset 0xc0
>_ULx86_64_cache_frame: cache frame ip=0x7f5a86bd8000 cfa=0x7fff16b5d6d0 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x7f5a86bd8000 cfa=0x7fff16b5d6d0 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x4007f9 cfa=0x7fff16b5d790 type 0 cfa [where=3 val=7] cfaoff=192 ra=0x7fff16b5d788 rbp [where=2 val=-40 @0x7fff16b5d768] rsp [where=1 val=0 @0x7fff16b5c360]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 7f5a86bd7fff type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 7f5a86bd7fff type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5d790 rip 0x4007f9 rsp 0x7fff16b5d790 rbp 0x0
>_ULx86_64_tdep_trace: depth 4 cfa 0x7fff16b5d790 rip 0x4007f8 rsp 0x7fff16b5d790 rbp 0x0
>trace_lookup: updating slot 3642 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff16b5c670, ip=0x00000000004007f9, cfa=0x00007fff16b5d790)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x4007f8
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffd62
>lookup: e->start_ip_offset = fffffffffffffc6c
>_ULx86_64_dwarf_search_unwind_table: ip=0x4007f8, start_ip=0xfffffffffffffc6c
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffffe4, segbase = 400b64, debug_frame_base = 0, fde_addr = 400b48
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400b48
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400b30
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x4007d0-0x4007fa, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x4007f9 cfa=0x7fff16b5d790 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_undefined r16
>_ULx86_64_cache_frame: cache frame ip=0x4007f9 cfa=0x7fff16b5d790 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x4007f9 cfa=0x7fff16b5d790 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x0 cfa=0x7fff16b5d798 type 0 cfa [where=3 val=7] cfaoff=8 ra=0x0 rbp [where=1 val=0 @0x7fff16b5c338] rsp [where=1 val=0 @0x7fff16b5c360]
>_ULx86_64_stash_frame: unusual frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 0
>trace_init_addr: frame va 4007f8 type 0 last -1 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 4007f8 type 0 last -1 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
>_ULx86_64_tdep_trace: returning 0, depth 4
---
0x4008ee
0x40095a
0x7f5a86bd7fff
0x4007f8
---
>_ULx86_64_init_local: (cursor=0x7fff16b5c670)
>_ULx86_64_tdep_trace: begin ip 0x7f5a8798fc0e cfa 0x7fff16b5c2b0
>trace_cache_get: using cache 0x7f5a8798afe0
>_ULx86_64_tdep_trace: depth 0 cfa 0x7fff16b5c2b0 rip 0x7f5a8798fc0d rsp 0x7fff16b5c2b0 rbp 0x7fff16b5c2c0
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 7f5a8798fc0d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5cea0 rip 0x4008ef rsp 0x7fff16b5cea0 rbp 0x7fff16b5d6b0
>_ULx86_64_tdep_trace: depth 1 cfa 0x7fff16b5cea0 rip 0x4008ee rsp 0x7fff16b5cea0 rbp 0x7fff16b5d6b0
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 4008ee type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5d6c0 rip 0x400960 rsp 0x7fff16b5d6c0 rbp 0x7fff16b5d6c0
>_ULx86_64_tdep_trace: depth 2 cfa 0x7fff16b5d6c0 rip 0x40095f rsp 0x7fff16b5d6c0 rbp 0x7fff16b5d6c0
>trace_lookup: updating slot 1968 after 0 steps, replacing 0x0
>_ULx86_64_step: (cursor=0x7fff16b5c670, ip=0x0000000000400960, cfa=0x00007fff16b5d6c0)
>_ULx86_64_dwarf_find_proc_info: looking for IP=0x40095f
>_ULx86_64_dwarf_callback: checking , base=0x0)
>_ULx86_64_dwarf_callback: found table `': segbase=0x400b64, len=8, gp=0x401dc8, table_data=0x400b70
>lookup: e->start_ip_offset = fffffffffffffde3
>lookup: e->start_ip_offset = fffffffffffffe0c
>lookup: e->start_ip_offset = fffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: ip=0x40095f, start_ip=0xfffffffffffffdee
>_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff24, segbase = 400b64, debug_frame_base = 0, fde_addr = 400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a88
>_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a10
>parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
>_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400952-0x400967, LSDA=0x0
>_ULx86_64_fetch_frame: fetch frame ip=0x400960 cfa=0x7fff16b5d6c0 format=0
>run_cfi_program: CFA_def_cfa r7+0x8
>run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
>run_cfi_program: CFA_advance_loc to 0x400953
>run_cfi_program: CFA_def_cfa_offset 0x10
>run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
>run_cfi_program: CFA_advance_loc to 0x400956
>run_cfi_program: CFA_def_cfa_register r6
>run_cfi_program: CFA_advance_loc to 0x400966
>_ULx86_64_cache_frame: cache frame ip=0x400960 cfa=0x7fff16b5d6c0 format=0
>_ULx86_64_reuse_frame: reuse frame ip=0x400960 cfa=0x7fff16b5d6c0 format=0 addr=0x0 offset=+0
>_ULx86_64_stash_frame: ip=0x7f5a86bd8000 cfa=0x7fff16b5d6d0 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff16b5d6c8 rbp [where=2 val=-16 @0x7fff16b5d6c0] rsp [where=1 val=0 @0x7fff16b5c360]
>_ULx86_64_stash_frame: standard frame
>_ULx86_64_dwarf_step: returning 1
>_ULx86_64_step: returning 1
>trace_init_addr: frame va 40095f type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: frame va 40095f type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5d6d0 rip 0x7f5a86bd8000 rsp 0x7fff16b5d6d0 rbp 0x400970
>_ULx86_64_tdep_trace: depth 3 cfa 0x7fff16b5d6d0 rip 0x7f5a86bd7fff rsp 0x7fff16b5d6d0 rbp 0x400970
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 7f5a86bd7fff type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
>_ULx86_64_tdep_trace: new cfa 0x7fff16b5d790 rip 0x4007f9 rsp 0x7fff16b5d790 rbp 0x0
>_ULx86_64_tdep_trace: depth 4 cfa 0x7fff16b5d790 rip 0x4007f8 rsp 0x7fff16b5d790 rbp 0x0
>trace_lookup: found address after 0 steps
>_ULx86_64_tdep_trace: frame va 4007f8 type 0 last -1 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
>_ULx86_64_tdep_trace: returning 0, depth 4
---
0x4008ee
0x40095f
0x7f5a86bd7fff
0x4007f8
---
_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel