This is an archive of the discontinued LLVM Phabricator instance.

[asan] Remove confusing workaround
ClosedPublic

Authored by vitalybuka on Dec 2 2021, 12:57 AM.

Details

Summary

The goal is to identify the bot and try to fix it.

SetSoftRssLimitExceededCallback is AsanInitInternal as I assume
that only MaybeStartBackgroudThread needs to be delayed to constructors.
Later I want to move MaybeStartBackgroudThread call into sanitizer_common.

If it needs to be reverted please provide to more info, like bot, or details about setup.

Diff Detail

Event Timeline

vitalybuka requested review of this revision.Dec 2 2021, 12:57 AM
vitalybuka created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptDec 2 2021, 12:57 AM
Herald added a subscriber: Restricted Project. · View Herald Transcript
vitalybuka edited the summary of this revision. (Show Details)Dec 2 2021, 1:00 AM
vitalybuka edited the summary of this revision. (Show Details)
kstoimenov accepted this revision.Dec 2 2021, 10:30 AM
This revision is now accepted and ready to land.Dec 2 2021, 10:30 AM
vitalybuka edited the summary of this revision. (Show Details)Dec 2 2021, 11:44 AM
This revision was automatically updated to reflect the committed changes.

This caused 3 tests to fail on our Thumbv7 Linux bot https://lab.llvm.org/buildbot/#/builders/170/builds/1037, bisect confirms it.

FAIL: AddressSanitizer-armhf-linux::quarantine_size_mb.cpp
FAIL: AddressSanitizer-armhf-linux-dynamic::quarantine_size_mb.cpp
FAIL: SanitizerCommon-asan-armhf-Linux:: hard_rss_limit_mb_test.cpp

We have several bots testing 32 bit Arm, I don't see the failures on the pure Arm ones. The failure reproduces on armv7 only hardware or on an AArch64 machine running a 32 bit container.

I haven't looked into why it was added in the first place but then again I don't know a lot about sanitizer internals. Does seem odd that Arm only code running in the same container is fine.

It fails on the first RUN line after compiling the exe, I can get the full failure output if that would help.

So it's https://lab.llvm.org/buildbot/#/builders/clang-thumbv7-full-2stage
Thanks for the info. I will restore and try to guess what can be done.

This caused 3 tests to fail on our Thumbv7 Linux bot https://lab.llvm.org/buildbot/#/builders/170/builds/1037, bisect confirms it.

FAIL: AddressSanitizer-armhf-linux::quarantine_size_mb.cpp
FAIL: AddressSanitizer-armhf-linux-dynamic::quarantine_size_mb.cpp
FAIL: SanitizerCommon-asan-armhf-Linux:: hard_rss_limit_mb_test.cpp

We have several bots testing 32 bit Arm, I don't see the failures on the pure Arm ones. The failure reproduces on armv7 only hardware or on an AArch64 machine running a 32 bit container.

I haven't looked into why it was added in the first place but then again I don't know a lot about sanitizer internals. Does seem odd that Arm only code running in the same container is fine.

It fails on the first RUN line after compiling the exe, I can get the full failure output if that would help.

FYI I've moved the bot to the silent because it's been failing for a while now. (not your mistake, we took a while to respond) You can find the new builds here: https://lab.llvm.org/staging/#/builders/162

We're squeezed for hardware and a 2 stage build is a lengthy process but you should get results eventually. If you need any more info feel free to ping me.

FYI I've moved the bot to the silent because it's been failing for a while now. (not your mistake, we took a while to respond) You can find the new builds here: https://lab.llvm.org/staging/#/builders/162

We're squeezed for hardware and a 2 stage build is a lengthy process but you should get results eventually. If you need any more info feel free to ping me.

Thanks, I will check that bot. I hope after https://reviews.llvm.org/rGd71775cd2ab1 it will get back. Sorry for the distraction.
BTW. The first stage build should benefit from -DLLVM_CCACHE_BUILD=ON

BTW. The first stage build should benefit from -DLLVM_CCACHE_BUILD=ON

Believe it or not, we do have ccache-ing but we do it by setting the stage 1 compiler to be a script that calls ccache. (not exactly sure why we did it that way) Thanks for the heads up anyway!