[Bug 262914] Segfault in libunwind when cargo (from lang/rust) is ran with RUST_BACKTRACE=1

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 30 Mar 2022 00:15:36 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262914

            Bug ID: 262914
           Summary: Segfault in libunwind when cargo (from lang/rust) is
                    ran with RUST_BACKTRACE=1
           Product: Base System
           Version: 13.1-RELEASE
          Hardware: powerpc
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: misc
          Assignee: bugs@FreeBSD.org
          Reporter: pkubaj@FreeBSD.org

How to reproduce:
cargo new hello_cargo
cd hello_cargo
env RUST_BACKTRACE=1 cargo build

Backtrace:
Program terminated with signal SIGSEGV, Segmentation fault.
Address not mapped to object.
#0  libunwind::LocalAddressSpace::get32 (addr=431585656, this=<optimized out>)
at /usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp:164
164         memcpy(&val, (void *)addr, sizeof(val));
(gdb) bt
#0  libunwind::LocalAddressSpace::get32 (addr=431585656, this=<optimized out>)
at /usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp:164
#1  libunwind::CFI_Parser<libunwind::LocalAddressSpace>::parseCIE
(addressSpace=..., cie=431585656, cieInfo=0xffff82e8)
    at /usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp:319
#2  0x421bf76c in libunwind::CFI_Parser<libunwind::LocalAddressSpace>::findFDE
(addressSpace=..., pc=18016363, ehSectionStart=28326632,
    sectionLength=<optimized out>, fdeHint=<optimized out>, fdeInfo=0xffff8308,
cieInfo=0xffff82e8)
    at /usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp:252
#3  0x421bf458 in libunwind::UnwindCursor<libunwind::LocalAddressSpace,
libunwind::Registers_ppc>::getInfoFromDwarfSection (this=0xffff9848,
    pc=18016363, sects=..., fdeSectionOffsetHint=0) at
/usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp:1566
#4  0x421bb658 in libunwind::UnwindCursor<libunwind::LocalAddressSpace,
libunwind::Registers_ppc>::setInfoBasedOnIPRegister (this=0xffff9848,
    isReturnAddress=<optimized out>) at
/usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp:1960
#5  0x421bb418 in libunwind::UnwindCursor<libunwind::LocalAddressSpace,
libunwind::Registers_ppc>::step (this=0xffff9848)
    at /usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp:2105
#6  0x421ba108 in __unw_step (cursor=0xffff9848) at
/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp:176
#7  0x421b8134 in _Unwind_Backtrace (callback=0x1977e74, ref=0xffff9c88) at
/usr/src/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c:131

-- 
You are receiving this mail because:
You are the assignee for the bug.