Skip to content

Posix/stack-overflow.cpp etc. FAIL on Linux/sparc64 #109771

Open
@rorth

Description

@rorth

With ASan SPARC testing enabled as per PR #107405, several stack overflow tests FAIL on Linux/sparc64:

  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux :: TestCases/Posix/stack-overflow.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Posix/stack-overflow.cpp

Even applying a slightly modified version of PR #109101, the failures aren't fixed. Looking closer, the weird thing is that the faulting address is reported at the very top (or bottom) of the address space, outside of the stack allocation that can be seen with pmap -x.

E.g. for Posix/stack-overflow.cpp, I see

ERROR: AddressSanitizer: SEGV on unknown address 0xfffffff4 (pc 0x70125064 bp 0x00000000 sp 0xff50bf40 T0)

thus this is not treated as a stack overflow. This matches that strace reports:

2447748 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xfffffff4} ---

I don't really know what to make of this. @glaubitz

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions