diff options
author | thegeorg <thegeorg@yandex-team.com> | 2024-10-24 00:46:34 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2024-10-24 01:01:54 +0300 |
commit | b5de966122980444f495696a79c988be76ccad99 (patch) | |
tree | 021d7b19bf2b88f051ab68797b5987c18feb2a24 | |
parent | d49138967e72fb02c1e3dc716588aefb9762f1dc (diff) | |
download | ydb-b5de966122980444f495696a79c988be76ccad99.tar.gz |
Prevent hyperscan tests from flapping onhosts
commit_hash:bdcbd4c22b70c7ef3897110e2713f19166b16869
-rw-r--r-- | contrib/libs/hyperscan/.yandex_meta/__init__.py | 1 | ||||
-rw-r--r-- | library/cpp/regex/hyperscan/hyperscan.cpp | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/contrib/libs/hyperscan/.yandex_meta/__init__.py b/contrib/libs/hyperscan/.yandex_meta/__init__.py index 910fa36cbc..82a4450293 100644 --- a/contrib/libs/hyperscan/.yandex_meta/__init__.py +++ b/contrib/libs/hyperscan/.yandex_meta/__init__.py @@ -105,6 +105,7 @@ def post_install(self): with self.yamakes["runtime_avx512"] as m: # Do not sanitize to workaround the ICE in clang-16 + # See DEVTOOLSSUPPORT-49258 for details. m.NO_SANITIZE = True with self.yamakes["."] as hyperscan: diff --git a/library/cpp/regex/hyperscan/hyperscan.cpp b/library/cpp/regex/hyperscan/hyperscan.cpp index ba85e9bbab..5b6069d4a3 100644 --- a/library/cpp/regex/hyperscan/hyperscan.cpp +++ b/library/cpp/regex/hyperscan/hyperscan.cpp @@ -10,6 +10,7 @@ #include <contrib/libs/hyperscan/runtime_avx512/hs_runtime.h> #include <util/generic/singleton.h> +#include <util/system/sanitizers.h> namespace NHyperscan { using TSerializedDatabase = THolder<char, TDeleter<decltype(&free), &free>>; @@ -18,7 +19,8 @@ namespace NHyperscan { namespace NPrivate { ERuntime DetectCurrentRuntime() { - if (NX86::HaveAVX512F() && NX86::HaveAVX512BW()) { + // TODO: Remove MSanIsOn check upon DEVTOOLSSUPPORT-49258 resolution + if (NX86::HaveAVX512F() && NX86::HaveAVX512BW() && !NSan::MSanIsOn()) { return ERuntime::AVX512; } else if (NX86::HaveAVX() && NX86::HaveAVX2()) { return ERuntime::AVX2; |