aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2024-10-24 00:46:34 +0300
committerthegeorg <thegeorg@yandex-team.com>2024-10-24 01:01:54 +0300
commitb5de966122980444f495696a79c988be76ccad99 (patch)
tree021d7b19bf2b88f051ab68797b5987c18feb2a24
parentd49138967e72fb02c1e3dc716588aefb9762f1dc (diff)
downloadydb-b5de966122980444f495696a79c988be76ccad99.tar.gz
Prevent hyperscan tests from flapping onhosts
commit_hash:bdcbd4c22b70c7ef3897110e2713f19166b16869
-rw-r--r--contrib/libs/hyperscan/.yandex_meta/__init__.py1
-rw-r--r--library/cpp/regex/hyperscan/hyperscan.cpp4
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;