On Monday 25 August 2014 11:46:12 Milian Wolff wrote:
> On Thursday 19 June 2014 23:50:25 Lassi Tuura wrote:
> > Hey,
> 
> Hey Lassi, Arun.
> 
> I want to revive this thread after my long absence in the hope to get the
> situation improved upstream. Locally, I've been running with the patch of
> the previous mail for some time now and it works very well in my case.
> > Thanks for testing that. Note though that as the comment immediately above
> > says, x86_64 ABI says the last frame should have null RBP (IIRC, that's
> > 3.4.1 Initial Stack and Register State). Can you possibly find out why
> > that doesn't hold on your platform?
> 
> Do you have any suggestions on how to do that? I.e. what should I look at?
> Specific compile options for libc? You can find the PKGBUILD that is used on
> ArchLinux here:
> 
> https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/g
> libc
> 
> That contains the configure invocation with all its arguments and the
> patches that are applied previously.
> 
> > The code I was thinking about is apply_reg_state in src/dwarf/Gparser.c
> > where the DWARF_IS_NULL_LOC (c->loc[c->ret_addr_column]) conditions should
> > have kicked in to set RIP for the next step to 0, which I vaguely recall
> > caused the unwind to terminate at that step. But maybe there was a change
> > to allow unwinding to continue with RIP == 0. (Arun do you recall details
> > on that? For example
> > http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=commitdiff;h=d04dc94
> > cc 2b0141f06ed9de1665ab89a3f549e0b - I vaguely recall we talked about it.)
>
> Any news on that Arun? I'll also try to figure out whats going on and why
> this is not kicking in.

Quick update, I looked at it a bit more with the following test program:

~~~~~~~~~~~~~~~~
#include <stdio.h>

#define UNW_LOCAL_ONLY
#include <libunwind.h>

int main()
{
    const int MAX_SIZE = 128;
    void* data[MAX_SIZE];
    for (int repeat = 0; repeat < 2; ++repeat) {
        int size = unw_backtrace(data, MAX_SIZE);
        printf("\ntrace size: %d\n\n", size);
        for (int i = 0; i < size; ++i) {
            printf("%p\n", data[i]);
        }
        printf("\n");
    }
    return 0;
}
~~~~~~~~~~~~~~~~

Running it with UNW_DEBUG_LEVEL=15 env var set, I get the output you find 
attached in original.log. I've added debug output to apply_reg_state when the 
IP set set to zero, i.e.: apply_reg_state:818: SETTING IP TO ZERO

You'll see that the IP _is_ set to zero but unwinding is continued thereafter,
even though "DWARF spec says undefined return address location means end of 
stack." (dwarf/Gparser.c). The garbage "0" ip is returned at the end.

With the patch to also check for this in x86_64/Gstep.c applied, the output 
changes to patched.log and everything behaves correctly, as far as I can see. 
The garbage "0" ip is skipped, i.e. unwind stops properly and everything is 
cached and fast.

So, can we get this patch in, or should we add a "last_frame" to dwarf_cursor 
which is set to 1 when the return address location is undefined? This would 
mean changes all over the place though, something which I'd not be comfortable 
with as I cannot test other architectures easily. Esp. the question whether 
checking for ip == 0 is valid on e.g. x86 or not is something I cannot decide.

Bye
-- 
Milian Wolff
[email protected]
http://milianw.de
 >_ULx86_64_init_mem_validate: using msync to validate memory
 >_ULx86_64_init_local: (cursor=0x7fffed063b50)
 >_ULx86_64_tdep_trace: begin ip 0x7fbf607a535a cfa 0x7fffed0636f0
     >trace_cache_create: allocated cache 0x7fbf6079efe0
     >trace_cache_get: using cache 0x7fbf6079efe0
  >_ULx86_64_tdep_trace: depth 0 cfa 0x7fffed0636f0 rip 0x7fbf607a5359 rsp 0x7fffed0636f0 rbp 0x7fffed0647a0
    >trace_lookup: updating slot 145 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fffed063b50, ip=0x00007fbf607a535a, cfa=0x00007fffed0636f0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7fbf607a5359
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fffed135000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fbf607a1000)
               >_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7fbf607b2748, len=62, gp=0x7fbf607b3b88, table_data=0x7fbf607b2754
               >lookup: e->start_ip_offset = ffffffffffff7b78
               >lookup: e->start_ip_offset = ffffffffffff5788
               >lookup: e->start_ip_offset = ffffffffffff2168
               >lookup: e->start_ip_offset = ffffffffffff2408
               >lookup: e->start_ip_offset = ffffffffffff3e98
               >lookup: e->start_ip_offset = ffffffffffff2be8
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7fbf607a5359, start_ip=0xffffffffffff2be8
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffff2a0, segbase = 7fbf607b2748, debug_frame_base = 0, fde_addr = 7fbf607b19e8
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7fbf607b19e8
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7fbf607b1830
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7fbf607a5330-0x7fbf607a65d3, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7fbf607a535a cfa=0x7fffed0636f0 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 0x7fbf607a5332
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r15 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5334
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r14 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5336
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5338
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5339
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a533a
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffc8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5341
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fbf607a5504
     >_ULx86_64_cache_frame: cache frame ip=0x7fbf607a535a cfa=0x7fffed0636f0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fbf607a535a cfa=0x7fffed0636f0 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x400885 cfa=0x7fffed064390 type 0 cfa [where=3 val=7] cfaoff=3232 ra=0x7fffed064388 rbp [where=2 val=-48 @0x7fffed064360] rsp [where=1 val=0 @0x7fffed063840]
    >_ULx86_64_stash_frame:  unusual frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7fbf607a5359 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7fbf607a5359 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fffed0636f0 rip 0x7fbf607a5359 rsp 0x7fffed0636f0 rbp 0x7fffed0647a0
 >_ULx86_64_tdep_trace: returning -5, depth 0
 >_ULx86_64_init_local: (cursor=0x7fffed063f50)
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x00007fbf607a5b7a, cfa=0x00007fffed0636f0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7fbf607a5b79
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fffed135000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fbf607a1000)
               >_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7fbf607b2748, len=62, gp=0x7fbf607b3b88, table_data=0x7fbf607b2754
               >lookup: e->start_ip_offset = ffffffffffff7b78
               >lookup: e->start_ip_offset = ffffffffffff5788
               >lookup: e->start_ip_offset = ffffffffffff2168
               >lookup: e->start_ip_offset = ffffffffffff2408
               >lookup: e->start_ip_offset = ffffffffffff3e98
               >lookup: e->start_ip_offset = ffffffffffff2be8
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7fbf607a5b79, start_ip=0xffffffffffff2be8
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffff2a0, segbase = 7fbf607b2748, debug_frame_base = 0, fde_addr = 7fbf607b19e8
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7fbf607b19e8
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7fbf607b1830
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7fbf607a5330-0x7fbf607a65d3, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7fbf607a5b7a cfa=0x7fffed0636f0 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 0x7fbf607a5332
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r15 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5334
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r14 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5336
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5338
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5339
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a533a
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffc8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5341
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fbf607a5504
               >run_cfi_program: CFA_remember_state
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5505
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5506
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5508
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a550a
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a550c
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a550e
               >run_cfi_program: CFA_def_cfa_offset 0x8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5510
               >run_cfi_program: CFA_restore_state
               >run_cfi_program: CFA_advance_loc2 to 0x7fbf607a5758
               >run_cfi_program: CFA_def_cfa_offset 0xca8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5769
               >run_cfi_program: CFA_def_cfa_offset 0xcb0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5798
               >run_cfi_program: CFA_def_cfa_offset 0xca8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a579a
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fbf607a5a16
               >run_cfi_program: CFA_def_cfa_offset 0xca8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5a1a
               >run_cfi_program: CFA_def_cfa_offset 0xcb0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5a1e
               >run_cfi_program: CFA_def_cfa_offset 0xcb8
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5a2a
               >run_cfi_program: CFA_def_cfa_offset 0xcc0
               >run_cfi_program: CFA_advance_loc to 0x7fbf607a5a4a
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fbf607a5ec5
     >_ULx86_64_cache_frame: cache frame ip=0x7fbf607a5b7a cfa=0x7fffed0636f0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fbf607a5b7a cfa=0x7fffed0636f0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x0000000000400885, cfa=0x00007fffed064390)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x400884
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: found table `': segbase=0x400a8c, len=5, gp=0x401cd8, table_data=0x400a98
               >lookup: e->start_ip_offset = fffffffffffffdca
               >lookup: e->start_ip_offset = fffffffffffffed4
               >lookup: e->start_ip_offset = fffffffffffffe64
               >_ULx86_64_dwarf_search_unwind_table: ip=0x400884, start_ip=0xfffffffffffffdca
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff24, segbase = 400a8c, debug_frame_base = 0, fde_addr = 4009b0
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x4009b0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400998
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400856-0x4008eb, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x400885 cfa=0x7fffed064390 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 0x400857
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x40085a
               >run_cfi_program: CFA_def_cfa_register r6
               >run_cfi_program: CFA_advance_loc1 to 0x4008ea
     >_ULx86_64_cache_frame: cache frame ip=0x400885 cfa=0x7fffed064390 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x400885 cfa=0x7fffed064390 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x00007fbf5f9ed000, cfa=0x00007fffed0647b0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7fbf5f9ecfff
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fffed135000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fbf607a1000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7fbf60295000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7fbf5ff91000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7fbf5fd7b000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7fbf5f9cd000)
               >_ULx86_64_dwarf_callback: found table `/usr/lib/libc.so.6': segbase=0x7fbf5fb3d6a0, len=3397, gp=0x7fbf5fd75000, table_data=0x7fbf5fb3d6ac
               >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=0x7fbf5f9ecfff, start_ip=0xffffffffffeaf870
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = 6ae8, segbase = 7fbf5fb3d6a0, debug_frame_base = 0, fde_addr = 7fbf5fb44188
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7fbf5fb44188
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7fbf5fb440d8
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7fbf5f9ecf10-0x7fbf5f9ed0c9, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7fbf5f9ed000 cfa=0x7fffed0647b0 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 0x7fbf5f9ecf12
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7fbf5f9ecf14
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7fbf5f9ecf16
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7fbf5f9ecf17
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7fbf5f9ecf1b
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7fbf5f9ecf22
               >run_cfi_program: CFA_def_cfa_offset 0xc0
     >_ULx86_64_cache_frame: cache frame ip=0x7fbf5f9ed000 cfa=0x7fffed0647b0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fbf5f9ed000 cfa=0x7fffed0647b0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x0000000000400789, cfa=0x00007fffed064870)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x400788
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: found table `': segbase=0x400a8c, len=5, gp=0x401cd8, table_data=0x400a98
               >lookup: e->start_ip_offset = fffffffffffffdca
               >lookup: e->start_ip_offset = fffffffffffffcd4
               >_ULx86_64_dwarf_search_unwind_table: ip=0x400788, start_ip=0xfffffffffffffcd4
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffffe4, segbase = 400a8c, debug_frame_base = 0, fde_addr = 400a70
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a70
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a58
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400760-0x40078a, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x400789 cfa=0x7fffed064870 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=0x400789 cfa=0x7fffed064870 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x400789 cfa=0x7fffed064870 format=0 addr=0x0 offset=+0
apply_reg_state:818: SETTING IP TO ZERO
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x0000000000000000, cfa=0x00007fffed064878)
              >_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=0x7fffed135000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fbf607a1000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7fbf60295000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7fbf5ff91000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7fbf5fd7b000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7fbf5f9cd000)
               >_ULx86_64_dwarf_callback: checking /lib64/ld-linux-x86-64.so.2, base=0x7fbf605a4000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/liblzma.so.5, base=0x7fbf5f7aa000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libpthread.so.0, base=0x7fbf5f58c000)
              >_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

trace size: 4

0x400885
0x7fbf5f9ed000
0x400789
(nil)

 >_ULx86_64_init_local: (cursor=0x7fffed063b50)
 >_ULx86_64_tdep_trace: begin ip 0x7fbf607a535a cfa 0x7fffed0636f0
     >trace_cache_get: using cache 0x7fbf6079efe0
  >_ULx86_64_tdep_trace: depth 0 cfa 0x7fffed0636f0 rip 0x7fbf607a5359 rsp 0x7fffed0636f0 rbp 0x7fffed0647a0
    >trace_lookup: found address after 0 steps
   >_ULx86_64_tdep_trace: frame va 7fbf607a5359 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fffed0636f0 rip 0x7fbf607a5359 rsp 0x7fffed0636f0 rbp 0x7fffed0647a0
 >_ULx86_64_tdep_trace: returning -5, depth 0
 >_ULx86_64_init_local: (cursor=0x7fffed063f50)
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x00007fbf607a5b7a, cfa=0x00007fffed0636f0)
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fbf607a5b7a cfa=0x7fffed0636f0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x0000000000400885, cfa=0x00007fffed064390)
     >_ULx86_64_reuse_frame: reuse frame ip=0x400885 cfa=0x7fffed064390 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x00007fbf5f9ed000, cfa=0x00007fffed0647b0)
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fbf5f9ed000 cfa=0x7fffed0647b0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x0000000000400789, cfa=0x00007fffed064870)
     >_ULx86_64_reuse_frame: reuse frame ip=0x400789 cfa=0x7fffed064870 format=0 addr=0x0 offset=+0
apply_reg_state:818: SETTING IP TO ZERO
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffed063f50, ip=0x0000000000000000, cfa=0x00007fffed064878)
              >_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=0x7fffed135000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fbf607a1000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7fbf60295000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7fbf5ff91000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7fbf5fd7b000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7fbf5f9cd000)
               >_ULx86_64_dwarf_callback: checking /lib64/ld-linux-x86-64.so.2, base=0x7fbf605a4000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/liblzma.so.5, base=0x7fbf5f7aa000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libpthread.so.0, base=0x7fbf5f58c000)
              >_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

trace size: 4

0x400885
0x7fbf5f9ed000
0x400789
(nil)

 >_ULx86_64_init_mem_validate: using msync to validate memory
 >_ULx86_64_init_local: (cursor=0x7fffcf219e50)
 >_ULx86_64_tdep_trace: begin ip 0x7fc41ed1a35a cfa 0x7fffcf2199f0
     >trace_cache_create: allocated cache 0x7fc41ed13fe0
     >trace_cache_get: using cache 0x7fc41ed13fe0
  >_ULx86_64_tdep_trace: depth 0 cfa 0x7fffcf2199f0 rip 0x7fc41ed1a359 rsp 0x7fffcf2199f0 rbp 0x7fffcf21aaa0
    >trace_lookup: updating slot 14207 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fffcf219e50, ip=0x00007fc41ed1a35a, cfa=0x00007fffcf2199f0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7fc41ed1a359
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fffcf29f000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fc41ed16000)
               >_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7fc41ed27798, len=62, gp=0x7fc41ed28bc8, table_data=0x7fc41ed277a4
               >lookup: e->start_ip_offset = ffffffffffff8f28
               >lookup: e->start_ip_offset = ffffffffffff5768
               >lookup: e->start_ip_offset = ffffffffffff2118
               >lookup: e->start_ip_offset = ffffffffffff23b8
               >lookup: e->start_ip_offset = ffffffffffff3e48
               >lookup: e->start_ip_offset = ffffffffffff2b98
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7fc41ed1a359, start_ip=0xffffffffffff2b98
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffff290, segbase = 7fc41ed27798, debug_frame_base = 0, fde_addr = 7fc41ed26a28
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7fc41ed26a28
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7fc41ed26870
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7fc41ed1a330-0x7fc41ed1b5d3, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7fc41ed1a35a cfa=0x7fffcf2199f0 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 0x7fc41ed1a332
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r15 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a334
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r14 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a336
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a338
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a339
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a33a
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffc8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a341
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fc41ed1a504
     >_ULx86_64_cache_frame: cache frame ip=0x7fc41ed1a35a cfa=0x7fffcf2199f0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fc41ed1a35a cfa=0x7fffcf2199f0 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x400885 cfa=0x7fffcf21a690 type 0 cfa [where=3 val=7] cfaoff=3232 ra=0x7fffcf21a688 rbp [where=2 val=-48 @0x7fffcf21a660] rsp [where=1 val=0 @0x7fffcf219b40]
    >_ULx86_64_stash_frame:  unusual frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7fc41ed1a359 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7fc41ed1a359 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fffcf2199f0 rip 0x7fc41ed1a359 rsp 0x7fffcf2199f0 rbp 0x7fffcf21aaa0
 >_ULx86_64_tdep_trace: returning -5, depth 0
 >_ULx86_64_init_local: (cursor=0x7fffcf21a250)
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x00007fc41ed1ab7a, cfa=0x00007fffcf2199f0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7fc41ed1ab79
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fffcf29f000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fc41ed16000)
               >_ULx86_64_dwarf_callback: found table `/home/milian/projects/libunwind/src/.libs/libunwind.so.8': segbase=0x7fc41ed27798, len=62, gp=0x7fc41ed28bc8, table_data=0x7fc41ed277a4
               >lookup: e->start_ip_offset = ffffffffffff8f28
               >lookup: e->start_ip_offset = ffffffffffff5768
               >lookup: e->start_ip_offset = ffffffffffff2118
               >lookup: e->start_ip_offset = ffffffffffff23b8
               >lookup: e->start_ip_offset = ffffffffffff3e48
               >lookup: e->start_ip_offset = ffffffffffff2b98
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7fc41ed1ab79, start_ip=0xffffffffffff2b98
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffff290, segbase = 7fc41ed27798, debug_frame_base = 0, fde_addr = 7fc41ed26a28
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7fc41ed26a28
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7fc41ed26870
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7fc41ed1a330-0x7fc41ed1b5d3, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7fc41ed1ab7a cfa=0x7fffcf2199f0 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 0x7fc41ed1a332
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r15 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a334
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r14 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a336
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a338
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a339
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a33a
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffc8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a341
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fc41ed1a504
               >run_cfi_program: CFA_remember_state
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a505
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a506
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a508
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a50a
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a50c
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a50e
               >run_cfi_program: CFA_def_cfa_offset 0x8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a510
               >run_cfi_program: CFA_restore_state
               >run_cfi_program: CFA_advance_loc2 to 0x7fc41ed1a758
               >run_cfi_program: CFA_def_cfa_offset 0xca8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a769
               >run_cfi_program: CFA_def_cfa_offset 0xcb0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a798
               >run_cfi_program: CFA_def_cfa_offset 0xca8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1a79a
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fc41ed1aa16
               >run_cfi_program: CFA_def_cfa_offset 0xca8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1aa1a
               >run_cfi_program: CFA_def_cfa_offset 0xcb0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1aa1e
               >run_cfi_program: CFA_def_cfa_offset 0xcb8
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1aa2a
               >run_cfi_program: CFA_def_cfa_offset 0xcc0
               >run_cfi_program: CFA_advance_loc to 0x7fc41ed1aa4a
               >run_cfi_program: CFA_def_cfa_offset 0xca0
               >run_cfi_program: CFA_advance_loc2 to 0x7fc41ed1aec5
     >_ULx86_64_cache_frame: cache frame ip=0x7fc41ed1ab7a cfa=0x7fffcf2199f0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fc41ed1ab7a cfa=0x7fffcf2199f0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x0000000000400885, cfa=0x00007fffcf21a690)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x400884
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: found table `': segbase=0x400a8c, len=5, gp=0x401cd8, table_data=0x400a98
               >lookup: e->start_ip_offset = fffffffffffffdca
               >lookup: e->start_ip_offset = fffffffffffffed4
               >lookup: e->start_ip_offset = fffffffffffffe64
               >_ULx86_64_dwarf_search_unwind_table: ip=0x400884, start_ip=0xfffffffffffffdca
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff24, segbase = 400a8c, debug_frame_base = 0, fde_addr = 4009b0
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x4009b0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400998
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400856-0x4008eb, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x400885 cfa=0x7fffcf21a690 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 0x400857
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x40085a
               >run_cfi_program: CFA_def_cfa_register r6
               >run_cfi_program: CFA_advance_loc1 to 0x4008ea
     >_ULx86_64_cache_frame: cache frame ip=0x400885 cfa=0x7fffcf21a690 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x400885 cfa=0x7fffcf21a690 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x00007fc41df62000, cfa=0x00007fffcf21aab0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7fc41df61fff
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fffcf29f000)
               >_ULx86_64_dwarf_callback: checking /home/milian/projects/libunwind/src/.libs/libunwind.so.8, base=0x7fc41ed16000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7fc41e80a000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7fc41e506000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7fc41e2f0000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7fc41df42000)
               >_ULx86_64_dwarf_callback: found table `/usr/lib/libc.so.6': segbase=0x7fc41e0b26a0, len=3397, gp=0x7fc41e2ea000, table_data=0x7fc41e0b26ac
               >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=0x7fc41df61fff, start_ip=0xffffffffffeaf870
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = 6ae8, segbase = 7fc41e0b26a0, debug_frame_base = 0, fde_addr = 7fc41e0b9188
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7fc41e0b9188
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7fc41e0b90d8
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7fc41df61f10-0x7fc41df620c9, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7fc41df62000 cfa=0x7fffcf21aab0 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 0x7fc41df61f12
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7fc41df61f14
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7fc41df61f16
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7fc41df61f17
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7fc41df61f1b
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7fc41df61f22
               >run_cfi_program: CFA_def_cfa_offset 0xc0
     >_ULx86_64_cache_frame: cache frame ip=0x7fc41df62000 cfa=0x7fffcf21aab0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fc41df62000 cfa=0x7fffcf21aab0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x0000000000400789, cfa=0x00007fffcf21ab70)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x400788
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: found table `': segbase=0x400a8c, len=5, gp=0x401cd8, table_data=0x400a98
               >lookup: e->start_ip_offset = fffffffffffffdca
               >lookup: e->start_ip_offset = fffffffffffffcd4
               >_ULx86_64_dwarf_search_unwind_table: ip=0x400788, start_ip=0xfffffffffffffcd4
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffffe4, segbase = 400a8c, debug_frame_base = 0, fde_addr = 400a70
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x400a70
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 400a58
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400760-0x40078a, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x400789 cfa=0x7fffcf21ab70 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=0x400789 cfa=0x7fffcf21ab70 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x400789 cfa=0x7fffcf21ab70 format=0 addr=0x0 offset=+0
apply_reg_state:818: SETTING IP TO ZERO
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 0

trace size: 3

0x400885
0x7fc41df62000
0x400789

 >_ULx86_64_init_local: (cursor=0x7fffcf219e50)
 >_ULx86_64_tdep_trace: begin ip 0x7fc41ed1a35a cfa 0x7fffcf2199f0
     >trace_cache_get: using cache 0x7fc41ed13fe0
  >_ULx86_64_tdep_trace: depth 0 cfa 0x7fffcf2199f0 rip 0x7fc41ed1a359 rsp 0x7fffcf2199f0 rbp 0x7fffcf21aaa0
    >trace_lookup: found address after 0 steps
   >_ULx86_64_tdep_trace: frame va 7fc41ed1a359 type 0 last 0 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fffcf2199f0 rip 0x7fc41ed1a359 rsp 0x7fffcf2199f0 rbp 0x7fffcf21aaa0
 >_ULx86_64_tdep_trace: returning -5, depth 0
 >_ULx86_64_init_local: (cursor=0x7fffcf21a250)
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x00007fc41ed1ab7a, cfa=0x00007fffcf2199f0)
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fc41ed1ab7a cfa=0x7fffcf2199f0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x0000000000400885, cfa=0x00007fffcf21a690)
     >_ULx86_64_reuse_frame: reuse frame ip=0x400885 cfa=0x7fffcf21a690 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x00007fc41df62000, cfa=0x00007fffcf21aab0)
     >_ULx86_64_reuse_frame: reuse frame ip=0x7fc41df62000 cfa=0x7fffcf21aab0 format=0 addr=0x0 offset=+0
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
 >_ULx86_64_step: (cursor=0x7fffcf21a250, ip=0x0000000000400789, cfa=0x00007fffcf21ab70)
     >_ULx86_64_reuse_frame: reuse frame ip=0x400789 cfa=0x7fffcf21ab70 format=0 addr=0x0 offset=+0
apply_reg_state:818: SETTING IP TO ZERO
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 0

trace size: 3

0x400885
0x7fc41df62000
0x400789

_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to