On Tuesday 25 November 2014 22:10:33 Peter Wu wrote:
> Due to a bug in the gold linker[1], the .eh_frame and .eh_frame_hdr
> sections contains garbage. When dwarf_extract_proc_info_from_fde tried
> to look up the begin of the CIE subsection, it would underflow the
> .eh_frame segment, resulting in a crash[2].
> 
> This patch avoids that crash by checking whether the CIE pointer is
> located after the begin of the .eh_frame section. The variable "base"
> was misused in various places as a boolean (decode as .debug_frame or
> decode as .eh_frame). These instances have been renamed to
> is_debug_frame where applicable.
> 
> Tested on Linux x86_64.
> 
>  [1]: https://sourceware.org/bugzilla/show_bug.cgi?id=17639
>  [2]:
> http://lists.nongnu.org/archive/html/libunwind-devel/2014-11/msg00009.html

Hello Peter,

I have an issue with your patch on my machine. With it applied, my tool fails 
to find backtraces. Attached, you find the libunwind debug output of current 
master with and without your patch applied. I've also modified libunwind to 
output a debug message when your patch hits, i.e. the cie_offset_addr < base 
conditional is met.

This apparently completely breaks libunwind on my machine...

3.17.6-1-ARCH
Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz
GNU gold (GNU Binutils 2.24) 1.11
gcc (GCC) 4.9.2

Do you need any other information?

Bye
-- 
Milian Wolff
[email protected]
http://milianw.de
 >_ULx86_64_init_mem_validate: using msync to validate memory
 >_ULx86_64_init_local: (cursor=0x7fff40acc4c0)
 >_ULx86_64_tdep_trace: begin ip 0x7f7cfe12d14e cfa 0x7fff40acc100
     >trace_cache_create: allocated cache 0x7f7cfe19ffe0
     >trace_cache_get: using cache 0x7f7cfe19ffe0
  >_ULx86_64_tdep_trace: depth 0 cfa 0x7fff40acc100 rip 0x7f7cfe12d14d rsp 0x7fff40acc100 rbp 0x7fff40acc110
    >trace_lookup: updating slot 317 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff40acc4c0, ip=0x00007f7cfe12d14e, cfa=0x00007fff40acc100)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f7cfe12d14d
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff40bfe000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so, base=0x7f7cfe1a3000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7f7cfdc82000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7f7cfd97d000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7f7cfd767000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7f7cfd3c4000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libdl.so.2, base=0x7f7cfd1c0000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/librt.so.1, base=0x7f7cfcfb8000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/libunwind.so.8, base=0x7f7cfe12a000)
               >_ULx86_64_dwarf_callback: found table `/ssd/milian/projects/compiled/kde4/lib/libunwind.so.8': segbase=0x7f7cfe13c950, len=93, gp=0x7f7cfe13dee8, table_data=0x7f7cfe13c95c
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for /ssd/milian/projects/compiled/kde4/lib/libunwind.so.8
    >load_debug_frame: opened file '/ssd/milian/projects/compiled/kde4/lib/libunwind.so.8'. Section header at offset 476536
    >load_debug_frame: loading string table of size 353
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = ffffffffffff1220
               >lookup: e->start_ip_offset = ffffffffffff0930
               >lookup: e->start_ip_offset = ffffffffffff0240
               >lookup: e->start_ip_offset = ffffffffffff05f0
               >lookup: e->start_ip_offset = ffffffffffff0750
               >lookup: e->start_ip_offset = ffffffffffff08b0
               >lookup: e->start_ip_offset = ffffffffffff07d0
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7f7cfe12d14d, start_ip=0xffffffffffff07d0
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffee58, segbase = 7f7cfe13c950, debug_frame_base = 0, fde_addr = 7f7cfe13b7a8
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f7cfe13b7a8
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7f7cfe13b490
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7f7cfe12d120-0x7f7cfe12d1f5, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7f7cfe12d14e cfa=0x7fff40acc100 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 0x7f7cfe12d122
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe12d124
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe12d129
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe12d12a
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe12d12e
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe12d135
               >run_cfi_program: CFA_def_cfa_offset 0xbf0
               >run_cfi_program: CFA_advance_loc1 to 0x7f7cfe12d17c
     >_ULx86_64_cache_frame: cache frame ip=0x7f7cfe12d14e cfa=0x7fff40acc100 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7f7cfe12d14e cfa=0x7fff40acc100 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x7f7cfe1a81d5 cfa=0x7fff40acccf0 type 0 cfa [where=3 val=7] cfaoff=3056 ra=0x7fff40accce8 rbp [where=2 val=-40 @0x7fff40acccc8] rsp [where=1 val=0 @0x7fff40acc1b0]
    >_ULx86_64_stash_frame:  standard frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7f7cfe12d14d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7f7cfe12d14d type -2 last 0 cfa rsp+3056 rbp @ cfa-40 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fff40acccf0 rip 0x7f7cfe1a81d5 rsp 0x7fff40acccf0 rbp 0x17114a0
  >_ULx86_64_tdep_trace: depth 1 cfa 0x7fff40acccf0 rip 0x7f7cfe1a81d4 rsp 0x7fff40acccf0 rbp 0x17114a0
    >trace_lookup: updating slot 8612 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff40acc4c0, ip=0x00007f7cfe1a81d5, cfa=0x00007fff40acccf0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f7cfe1a81d4
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff40bfe000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so, base=0x7f7cfe1a3000)
               >_ULx86_64_dwarf_callback: found table `/ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so': segbase=0x7f7cfe1ad504, len=54, gp=0x7f7cfe1ae9d8, table_data=0x7f7cfe1ad510
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so
    >locate_debug_info: checking 0x1711570: 7f7cfe12a000-7f7cfe14cfec
    >load_debug_frame: opened file '/ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so'. Section header at offset 561704
    >load_debug_frame: loading string table of size 441
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = ffffffffffff965c
               >lookup: e->start_ip_offset = ffffffffffffc4cc
               >lookup: e->start_ip_offset = ffffffffffffa36c
               >lookup: e->start_ip_offset = ffffffffffffbcec
               >lookup: e->start_ip_offset = ffffffffffffac5c
               >lookup: e->start_ip_offset = ffffffffffffb81c
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7f7cfe1a81d4, start_ip=0xffffffffffffac5c
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffffe2c, segbase = 7f7cfe1ad504, debug_frame_base = 0, fde_addr = 7f7cfe1ad330
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f7cfe1ad330
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7f7cfe1acf40
               >parse_cie: CIE parsed OK, augmentation = "zPLR", handler=0x400d00
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7f7cfe1a8160-0x7f7cfe1a8d14, LSDA=0x7f7cfe1ac86d
     >_ULx86_64_fetch_frame: fetch frame ip=0x7f7cfe1a81d5 cfa=0x7fff40acccf0 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 0x7f7cfe1a8167
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r15 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a8169
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r14 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a816b
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a816d
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a816e
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a816f
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffc8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a8179
               >run_cfi_program: CFA_def_cfa_offset 0x2f0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a819f
               >run_cfi_program: CFA_def_cfa_offset 0x38
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81a0
               >run_cfi_program: CFA_restore r3
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81a1
               >run_cfi_program: CFA_restore r6
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81a3
               >run_cfi_program: CFA_restore r12
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81a5
               >run_cfi_program: CFA_restore r13
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81a7
               >run_cfi_program: CFA_restore r14
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81a9
               >run_cfi_program: CFA_restore r15
               >run_cfi_program: CFA_def_cfa_offset 0x8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a81aa
               >run_cfi_program: CFA_def_cfa_offset 0x2f0
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffc8
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_offset r14 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_offset r15 at cfa+0xfffffffffffffff0
     >_ULx86_64_cache_frame: cache frame ip=0x7f7cfe1a81d5 cfa=0x7fff40acccf0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7f7cfe1a81d5 cfa=0x7fff40acccf0 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x7f7cfe1a64c4 cfa=0x7fff40accfe0 type 0 cfa [where=3 val=7] cfaoff=752 ra=0x7fff40accfd8 rbp [where=2 val=-48 @0x7fff40accfb0] rsp [where=1 val=0 @0x7fff40acc1b0]
    >_ULx86_64_stash_frame:  standard frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7f7cfe1a81d4 type -2 last 0 cfa rsp+752 rbp @ cfa-48 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7f7cfe1a81d4 type -2 last 0 cfa rsp+752 rbp @ cfa-48 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fff40accfe0 rip 0x7f7cfe1a64c4 rsp 0x7fff40accfe0 rbp 0x17114a0
  >_ULx86_64_tdep_trace: depth 2 cfa 0x7fff40accfe0 rip 0x7f7cfe1a64c3 rsp 0x7fff40accfe0 rbp 0x17114a0
    >trace_lookup: updating slot 4736 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff40acc4c0, ip=0x00007f7cfe1a64c4, cfa=0x00007fff40accfe0)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f7cfe1a64c3
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff40bfe000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so, base=0x7f7cfe1a3000)
               >_ULx86_64_dwarf_callback: found table `/ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so': segbase=0x7f7cfe1ad504, len=54, gp=0x7f7cfe1ae9d8, table_data=0x7f7cfe1ad510
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so
    >locate_debug_info: checking 0x17115b0: 7f7cfe1a3000-7f7cfe1b0eea
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = ffffffffffff965c
               >lookup: e->start_ip_offset = ffffffffffff917c
               >lookup: e->start_ip_offset = ffffffffffff8f0c
               >lookup: e->start_ip_offset = ffffffffffff904c
               >lookup: e->start_ip_offset = ffffffffffff8f8c
               >lookup: e->start_ip_offset = ffffffffffff8ffc
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7f7cfe1a64c3, start_ip=0xffffffffffff8f8c
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = fffffffffffffb04, segbase = 7f7cfe1ad504, debug_frame_base = 0, fde_addr = 7f7cfe1ad008
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f7cfe1ad008
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7f7cfe1acf40
               >parse_cie: CIE parsed OK, augmentation = "zPLR", handler=0x400d00
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7f7cfe1a6490-0x7f7cfe1a64f1, LSDA=0x7f7cfe1ac7cc
     >_ULx86_64_fetch_frame: fetch frame ip=0x7f7cfe1a64c4 cfa=0x7fff40accfe0 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 0x7f7cfe1a6499
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r12 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a649d
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a64a1
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfe1a64c8
     >_ULx86_64_cache_frame: cache frame ip=0x7f7cfe1a64c4 cfa=0x7fff40accfe0 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7f7cfe1a64c4 cfa=0x7fff40accfe0 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x400f09 cfa=0x7fff40acd000 type 0 cfa [where=3 val=7] cfaoff=32 ra=0x7fff40accff8 rbp [where=2 val=-24 @0x7fff40accfe8] rsp [where=1 val=0 @0x7fff40acc1b0]
    >_ULx86_64_stash_frame:  standard frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7f7cfe1a64c3 type -2 last 0 cfa rsp+32 rbp @ cfa-24 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7f7cfe1a64c3 type -2 last 0 cfa rsp+32 rbp @ cfa-24 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fff40acd000 rip 0x400f09 rsp 0x7fff40acd000 rbp 0x7fff40acd030
  >_ULx86_64_tdep_trace: depth 3 cfa 0x7fff40acd000 rip 0x400f08 rsp 0x7fff40acd000 rbp 0x7fff40acd030
    >trace_lookup: updating slot 1967 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff40acc4c0, ip=0x0000000000400f09, cfa=0x00007fff40acd000)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x400f08
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: found table `': segbase=0x40140c, len=12, gp=0x402680, table_data=0x401418
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for 
    >locate_debug_info: checking 0x17115b0: 7f7cfe1a3000-7f7cfe1b0eea
    >locate_debug_info: checking 0x1711570: 7f7cfe12a000-7f7cfe14cfec
    >load_debug_frame: opened file '/ssd/milian/projects/.build/kde4/heaptrack/tests/test_cpp'. Section header at offset 15336
    >load_debug_frame: loading string table of size 399
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = fffffffffffffc38
               >lookup: e->start_ip_offset = fffffffffffffa28
               >lookup: e->start_ip_offset = fffffffffffffa3e
               >_ULx86_64_dwarf_search_unwind_table: ip=0x400f08, start_ip=0xfffffffffffffa3e
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffffd4, segbase = 40140c, debug_frame_base = 0, fde_addr = 4013e0
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x4013e0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 4013c0
               >parse_cie: CIE parsed OK, augmentation = "zPLR", handler=0x400d00
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400e4a-0x401044, LSDA=0x4011f8
     >_ULx86_64_fetch_frame: fetch frame ip=0x400f09 cfa=0x7fff40acd000 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 0x400e4b
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x400e4e
               >run_cfi_program: CFA_def_cfa_register r6
               >run_cfi_program: CFA_advance_loc to 0x400e55
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc2 to 0x401043
     >_ULx86_64_cache_frame: cache frame ip=0x400f09 cfa=0x7fff40acd000 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x400f09 cfa=0x7fff40acd000 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x7f7cfd3e4040 cfa=0x7fff40acd040 type 0 cfa [where=3 val=6] cfaoff=16 ra=0x7fff40acd038 rbp [where=2 val=-16 @0x7fff40acd030] rsp [where=1 val=0 @0x7fff40acc1b0]
    >_ULx86_64_stash_frame:  standard frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 400f08 type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 400f08 type -2 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fff40acd040 rip 0x7f7cfd3e4040 rsp 0x7fff40acd040 rbp 0x4010e0
  >_ULx86_64_tdep_trace: depth 4 cfa 0x7fff40acd040 rip 0x7f7cfd3e403f rsp 0x7fff40acd040 rbp 0x4010e0
    >trace_lookup: updating slot 11833 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff40acc4c0, ip=0x00007f7cfd3e4040, cfa=0x00007fff40acd040)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f7cfd3e403f
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff40bfe000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so, base=0x7f7cfe1a3000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7f7cfdc82000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7f7cfd97d000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7f7cfd767000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7f7cfd3c4000)
               >_ULx86_64_dwarf_callback: found table `/usr/lib/libc.so.6': segbase=0x7f7cfd533f20, len=2817, gp=0x7f7cfd761000, table_data=0x7f7cfd533f2c
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for /usr/lib/libc.so.6
    >locate_debug_info: checking 0x17115f0: 400000-402768
    >locate_debug_info: checking 0x17115b0: 7f7cfe1a3000-7f7cfe1b0eea
    >locate_debug_info: checking 0x1711570: 7f7cfe12a000-7f7cfe14cfec
    >load_debug_frame: opened file '/usr/lib/libc.so.6'. Section header at offset 1701736
    >load_debug_frame: loading string table of size 1204
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = fffffffffff6a530
               >lookup: e->start_ip_offset = fffffffffff06830
               >lookup: e->start_ip_offset = ffffffffffed00b0
               >lookup: e->start_ip_offset = ffffffffffec3230
               >lookup: e->start_ip_offset = ffffffffffebbd90
               >lookup: e->start_ip_offset = ffffffffffeb28c0
               >lookup: e->start_ip_offset = ffffffffffeb0440
               >lookup: e->start_ip_offset = ffffffffffeb0020
               >lookup: e->start_ip_offset = ffffffffffeb0250
               >lookup: e->start_ip_offset = ffffffffffeb0220
               >lookup: e->start_ip_offset = ffffffffffeb0200
               >lookup: e->start_ip_offset = ffffffffffeb0030
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7f7cfd3e403f, start_ip=0xffffffffffeb0030
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = 58c8, segbase = 7f7cfd533f20, debug_frame_base = 0, fde_addr = 7f7cfd5397e8
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f7cfd5397e8
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 7f7cfd539738
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x7f7cfd3e3f50-0x7f7cfd3e411d, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x7f7cfd3e4040 cfa=0x7fff40acd040 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 0x7f7cfd3e3f52
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r14 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfd3e3f54
               >run_cfi_program: CFA_def_cfa_offset 0x18
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfd3e3f56
               >run_cfi_program: CFA_def_cfa_offset 0x20
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfd3e3f57
               >run_cfi_program: CFA_def_cfa_offset 0x28
               >run_cfi_program: CFA_offset r6 at cfa+0xffffffffffffffd8
               >run_cfi_program: CFA_advance_loc to 0x7f7cfd3e3f5b
               >run_cfi_program: CFA_def_cfa_offset 0x30
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd0
               >run_cfi_program: CFA_advance_loc to 0x7f7cfd3e3f62
               >run_cfi_program: CFA_def_cfa_offset 0xc0
     >_ULx86_64_cache_frame: cache frame ip=0x7f7cfd3e4040 cfa=0x7fff40acd040 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x7f7cfd3e4040 cfa=0x7fff40acd040 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x400d39 cfa=0x7fff40acd100 type 0 cfa [where=3 val=7] cfaoff=192 ra=0x7fff40acd0f8 rbp [where=2 val=-40 @0x7fff40acd0d8] rsp [where=1 val=0 @0x7fff40acc1b0]
    >_ULx86_64_stash_frame:  standard frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7f7cfd3e403f type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7f7cfd3e403f type -2 last 0 cfa rsp+192 rbp @ cfa-40 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fff40acd100 rip 0x400d39 rsp 0x7fff40acd100 rbp 0x0
  >_ULx86_64_tdep_trace: depth 5 cfa 0x7fff40acd100 rip 0x400d38 rsp 0x7fff40acd100 rbp 0x0
    >trace_lookup: updating slot 13851 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff40acc4c0, ip=0x0000000000400d39, cfa=0x00007fff40acd100)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x400d38
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: found table `': segbase=0x40140c, len=12, gp=0x402680, table_data=0x401418
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for 
    >locate_debug_info: checking 0x1711630: 7f7cfd3c4000-7f7cfd766f50
    >locate_debug_info: checking 0x17115f0: 400000-402768
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = fffffffffffffc38
               >lookup: e->start_ip_offset = fffffffffffffa28
               >lookup: e->start_ip_offset = fffffffffffff904
               >lookup: e->start_ip_offset = fffffffffffff9fa
               >_ULx86_64_dwarf_search_unwind_table: ip=0x400d38, start_ip=0xfffffffffffff904
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffff9c, segbase = 40140c, debug_frame_base = 0, fde_addr = 4013a8
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x4013a8
               >_ULx86_64_dwarf_extract_proc_info_from_fde: looking for CIE at address 401390
               >parse_cie: CIE parsed OK, augmentation = "zR", handler=0x0
               >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE covers IP 0x400d10-0x400d3a, LSDA=0x0
     >_ULx86_64_fetch_frame: fetch frame ip=0x400d39 cfa=0x7fff40acd100 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=0x400d39 cfa=0x7fff40acd100 format=0
     >_ULx86_64_reuse_frame: reuse frame ip=0x400d39 cfa=0x7fff40acd100 format=0 addr=0x0 offset=+0
    >_ULx86_64_stash_frame: ip=0x0 cfa=0x7fff40acd108 type 0 cfa [where=3 val=7] cfaoff=8 ra=0x0 rbp [where=1 val=0 @0x7fff40acc188] rsp [where=1 val=0 @0x7fff40acc1b0]
    >_ULx86_64_stash_frame:  unusual frame
               >_ULx86_64_dwarf_step: returning 1
  >_ULx86_64_step: returning 0
   >trace_init_addr: frame va 400d38 type 0 last -1 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 400d38 type 0 last -1 cfa rsp+0 rbp @ cfa-1 rsp @ cfa-1
 >_ULx86_64_tdep_trace: returning 0, depth 5
 >_ULx86_64_init_mem_validate: using msync to validate memory
 >_ULx86_64_init_local: (cursor=0x7fff28d06140)
 >_ULx86_64_tdep_trace: begin ip 0x7f0efad5e14e cfa 0x7fff28d05d80
     >trace_cache_create: allocated cache 0x7f0efadd0fe0
     >trace_cache_get: using cache 0x7f0efadd0fe0
  >_ULx86_64_tdep_trace: depth 0 cfa 0x7fff28d05d80 rip 0x7f0efad5e14d rsp 0x7fff28d05d80 rbp 0x7fff28d05d90
    >trace_lookup: updating slot 15967 after 0 steps, replacing 0x0
 >_ULx86_64_step: (cursor=0x7fff28d06140, ip=0x00007f0efad5e14e, cfa=0x00007fff28d05d80)
              >_ULx86_64_dwarf_find_proc_info: looking for IP=0x7f0efad5e14d
               >_ULx86_64_dwarf_callback: checking , base=0x0)
               >_ULx86_64_dwarf_callback: checking linux-vdso.so.1, base=0x7fff28df9000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/heaptrack/libheaptrack_preload.so, base=0x7f0efadd4000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libstdc++.so.6, base=0x7f0efa8b3000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libm.so.6, base=0x7f0efa5ae000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libgcc_s.so.1, base=0x7f0efa398000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libc.so.6, base=0x7f0ef9ff5000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/libdl.so.2, base=0x7f0ef9df1000)
               >_ULx86_64_dwarf_callback: checking /usr/lib/librt.so.1, base=0x7f0ef9be9000)
               >_ULx86_64_dwarf_callback: checking /ssd/milian/projects/compiled/kde4/lib/libunwind.so.8, base=0x7f0efad5b000)
               >_ULx86_64_dwarf_callback: found table `/ssd/milian/projects/compiled/kde4/lib/libunwind.so.8': segbase=0x7f0efad6da90, len=93, gp=0x7f0efad6e268, table_data=0x7f0efad6da9c
               >_ULx86_64_dwarf_find_debug_frame: Trying to find .debug_frame for /ssd/milian/projects/compiled/kde4/lib/libunwind.so.8
    >load_debug_frame: opened file '/ssd/milian/projects/compiled/kde4/lib/libunwind.so.8'. Section header at offset 477528
    >load_debug_frame: loading string table of size 353
               >_ULx86_64_dwarf_find_debug_frame: loaded .debug_frame
               >_ULx86_64_dwarf_find_debug_frame: zero-length .debug_frame
               >lookup: e->start_ip_offset = ffffffffffff10e0
               >lookup: e->start_ip_offset = ffffffffffff07f0
               >lookup: e->start_ip_offset = ffffffffffff0100
               >lookup: e->start_ip_offset = ffffffffffff04b0
               >lookup: e->start_ip_offset = ffffffffffff0610
               >lookup: e->start_ip_offset = ffffffffffff0770
               >lookup: e->start_ip_offset = ffffffffffff0690
               >_ULx86_64_dwarf_search_unwind_table: ip=0x7f0efad5e14d, start_ip=0xffffffffffff0690
 >_ULx86_64_dwarf_search_unwind_table: e->fde_offset = ffffffffffffee58, segbase = 7f0efad6da90, debug_frame_base = 0, fde_addr = 7f0efad6c8e8
            >_ULx86_64_dwarf_extract_proc_info_from_fde: FDE @ 0x7f0efad6c8e8
             >_ULx86_64_dwarf_extract_proc_info_from_fde: CIE not within segment: 0x7f0efad6c8ec base: 0x7f0efad6da90
.               >_ULx86_64_dwarf_step: returning -10
             >_ULx86_64_step: dwarf_step() failed (ret=-10), trying frame-chain
              >is_plt_entry: ip=0x7f0efad5e14e => 0x37e8df8948ee8948 0x483378c08500000f, ret = 0
 >_ULx86_64_step: [RBP=0x7fff28d05e08] = 0x7fff28d05d90 (cfa = 0x7fff28d05d80) -> 0x0
 >_ULx86_64_step: Frame Chain [RIP=0x7fff28d05d98] = 0x0
  >_ULx86_64_step: returning 1
   >trace_init_addr: frame va 7f0efad5e14d type 1 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
   >_ULx86_64_tdep_trace: frame va 7f0efad5e14d type 1 last 0 cfa rbp+16 rbp @ cfa-16 rsp @ cfa-1
    >_ULx86_64_tdep_trace: new cfa 0x7fff28d05da0 rip 0x0 rsp 0x7fff28d05da0 rbp 0x0
 >_ULx86_64_tdep_trace: returning 0, depth 0
_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to