aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-06-30 13:06:16 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-06-30 13:06:16 +0000
commit0618c82fb073581382f585a9bb4d3886e20d6b48 (patch)
tree69d57be8ad8ae8b5c22b9364f942fb545ef529e5 /searchlib/src
parent84547d49cfbaaeb6c36c70aa9dc904e25c1ce88c (diff)
Need larger stack when using address santizer
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp b/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp
index 864dd64b98f..7dfd8bcb17a 100644
--- a/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp
+++ b/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp
@@ -6,6 +6,7 @@
#include "blueprint.h"
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/vespalib/util/size_literals.h>
+#include <vespa/config.h>
#include <cassert>
#include <set>
@@ -287,6 +288,14 @@ BlueprintResolver::addSeed(vespalib::stringref feature)
_seeds.emplace_back(feature);
}
+namespace {
+#if defined(VESPA_USE_ADDRESS_SANITIZER)
+ constexpr size_t STACK_MULTIPLIER = 8;
+#else
+ constexpr size_t STACK_MULTIPLIER = 1;
+#endif
+}
+
bool
BlueprintResolver::compile()
{
@@ -304,7 +313,7 @@ BlueprintResolver::compile()
}
size_t stack_usage = compiler.stack_usage();
- if (stack_usage > (128_Ki)) {
+ if (stack_usage > (STACK_MULTIPLIER * 128_Ki)) {
_warnings.emplace_back(fmt("high stack usage: %zu bytes", stack_usage));
}
return !compiler.failed();