[llvm-bugs] [Bug 48202] New: SanitizerCommon.SizeClassAllocator32Iteration FAIL on Solaris/sparcv9
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Tue Nov 17 05:11:32 PST 2020
    
    
  
https://bugs.llvm.org/show_bug.cgi?id=48202
            Bug ID: 48202
           Summary: SanitizerCommon.SizeClassAllocator32Iteration FAIL on
                    Solaris/sparcv9
           Product: compiler-rt
           Version: unspecified
          Hardware: Sun
                OS: Solaris
            Status: NEW
          Severity: normal
          Priority: P
         Component: compiler-rt
          Assignee: unassignedbugs at nondot.org
          Reporter: ro at gcc.gnu.org
                CC: llvm-bugs at lists.llvm.org, vitalybuka at google.com
With sanitizer_common testing enabled on Solaris/sparcv9, two tests FAIL:
  SanitizerCommon-Unit ::
./Sanitizer-sparcv9-Test/SanitizerCommon.SizeClassAllocator32Iteration
/vol/llvm/src/llvm-project/local/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cpp:920:
Failure
Expected: (reported_chunks.find(reinterpret_cast<uptr>(allocated[i]))) !=
(reported_chunks.end()), actual: 8-byte object <FF-FF FF-FF 7F-FF 18-A8> vs
8-byte object <FF-FF FF-FF 7F-FF 18-A8>
  SanitizerCommon-Unit ::
./Sanitizer-sparcv9-Test/SanitizerCommon.CombinedAllocator32Compact
/vol/llvm/src/llvm-project/local/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cpp:665:
Failure
Expected: (reported_chunks.find(allocated_ptr)) != (reported_chunks.end()),
actual: 8-byte object <FF-FF FF-FF 7F-FE FA-08> vs 8-byte object <FF-FF FF-FF
7F-FE FA-08>
I've made absolutely no progress understanding what's going on, even after
enabling the tests in a Debug build.  However, I do notice
SANITIZER_MMAP_RANGE_SIZE in sanitizer_platform.h: the value used there is
wrong:
Solaris/sparcv9 uses the full 64-bit address space:
https://docs.oracle.com/cd/E37838_01/html/E66175/advanced-2.html#SSFDGadvanced-5
but changing the definititon to
#define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 64)
obviously doesn't even compile.  Even reducing it to 1ULL << 63 for a test
causes large numbers of tests to FAIL: Solaris doesn't allocate lazily, but
requires VM to be backed by swap, which created OOM conditions all along the
way.
I have a patch to just disable those two tests.
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201117/09b17b03/attachment-0001.html>
    
    
More information about the llvm-bugs
mailing list