Skip to content

Conversation

dergoegge
Copy link
Member

Closes #29840

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 25, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31367.

Reviews

See the guideline for information on the review process.

Type Reviewers
Concept ACK theStack, theuni

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #31787 (ci: run in worktrees by willcl-ark)
  • #31349 (ci: detect outbound internet traffic generated while running tests by vasild)
  • #30975 (ci: build multiprocess on most jobs by Sjors)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@DrahtBot DrahtBot added the Tests label Nov 25, 2024
@dergoegge dergoegge marked this pull request as draft November 25, 2024 16:42
@DrahtBot
Copy link
Contributor

🚧 At least one of the CI tasks failed.
Debug: https://github.com/bitcoin/bitcoin/runs/33490765972

Hints

Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@theStack
Copy link
Contributor

Concept ACK

@dergoegge
Copy link
Member Author

Looks like there are some things to fix if we want to do this:

[11:46:11.067] Run str_printf with args ['/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz', '-runs=1', PosixPath('/ci_container_base/ci/scratch/qa-assets/fuzz_corpora/str_printf')]INFO: Running with entropic power schedule (0xFF, 100).
[11:46:11.067] INFO: Seed: 2972386372
[11:46:11.067] INFO: Loaded 1 modules   (627947 inline 8-bit counters): 627947 [0x55cf2473c058, 0x55cf247d5543), 
[11:46:11.067] INFO: Loaded 1 PC tables (627947 PCs): 627947 [0x55cf247d5548,0x55cf2516a3f8), 
[11:46:11.067] INFO:      743 files found in /ci_container_base/ci/scratch/qa-assets/fuzz_corpora/str_printf
[11:46:11.067] INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
[11:46:11.067] INFO: seed corpus: files: 743 min: 1b max: 3095b total: 27153b rss: 96Mb
[11:46:11.067] AddressSanitizer:DEADLYSIGNAL
[11:46:11.067] =================================================================
[11:46:11.067] ==4423==ERROR: AddressSanitizer: stack-overflow on address 0x7ffe4ba3f598 (pc 0x7f7f85f7cf4f bp 0x7ffe4babd6a0 sp 0x7ffe4ba3e5a0 T0)
[11:46:11.067]     #0 0x7f7f85f7cf4f in std::ostreambuf_iterator<char, std::char_traits<char>> std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char>>>::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char>>, std::ios_base&, char, char, double) const (/lib/x86_64-linux-gnu/libstdc++.so.6+0x145f4f) (BuildId: ca77dae775ec87540acd7218fa990c40d1c94ab1)
[11:46:11.067]     #1 0x7f7f85f8f166 in std::ostream& std::ostream::_M_insert<double>(double) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x158166) (BuildId: ca77dae775ec87540acd7218fa990c40d1c94ab1)
[11:46:11.067]     #2 0x55cf214d4231 in tinyformat::detail::formatImpl(std::ostream&, char const*, tinyformat::detail::FormatArg const*, int) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./tinyformat.h:916:17
[11:46:11.067]     #3 0x55cf21841a23 in tinyformat::vformat(std::ostream&, char const*, tinyformat::FormatList const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./tinyformat.h:1064:5
[11:46:11.067]     #4 0x55cf21841a23 in void tinyformat::format<float>(std::ostream&, tinyformat::FormatStringCheck<sizeof...(float)>, float const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./tinyformat.h:1074:5
[11:46:11.067]     #5 0x55cf21841a23 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> tinyformat::format<float>(tinyformat::FormatStringCheck<sizeof...(float)>, float const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./tinyformat.h:1083:5
[11:46:11.067]     #6 0x55cf2183b2ac in str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_6::operator()() const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./test/fuzz/strprintf.cpp:101:23
[11:46:11.067]     #7 0x55cf2183b2ac in unsigned long CallOneOf<str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_6, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_7, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_8, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_9, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_10, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_11, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_12, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_13>(FuzzedDataProvider&, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_6, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_7, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_8, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_9, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_10, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_11, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_12, str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>)::$_13) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./test/fuzz/util.h:42:27
[11:46:11.067]     #8 0x55cf2183b2ac in str_printf_fuzz_target(std::span<unsigned char const, 18446744073709551615ul>) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/./test/fuzz/strprintf.cpp:98:9
[11:46:11.067]     #9 0x55cf21a76a2d in std::function<void (std::span<unsigned char const, 18446744073709551615ul>)>::operator()(std::span<unsigned char const, 18446744073709551615ul>) const /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
[11:46:11.067]     #10 0x55cf21a76a2d in LLVMFuzzerTestOneInput /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/util/./test/fuzz/fuzz.cpp:214:5
[11:46:11.067]     #11 0x55cf210f590a in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1c9d90a) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067]     #12 0x55cf210f4f19 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1c9cf19) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067]     #13 0x55cf210f6cd2 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1c9ecd2) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067]     #14 0x55cf210f71f0 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1c9f1f0) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067]     #15 0x55cf210e38b5 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1c8b8b5) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067]     #16 0x55cf2110fd36 in main (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1cb7d36) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067]     #17 0x7f7f8590b1c9  (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: 6d64b17fbac799e68da7ebd9985ddf9b5cb375e6)
[11:46:11.067]     #18 0x7f7f8590b28a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: 6d64b17fbac799e68da7ebd9985ddf9b5cb375e6)
[11:46:11.067]     #19 0x55cf210d7d34 in _start (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0x1c7fd34) (BuildId: 3ecb881f784192cf8768771f3d86b7059d8f4a9d)
[11:46:11.067] 
[11:46:11.067] SUMMARY: AddressSanitizer: stack-overflow (/lib/x86_64-linux-gnu/libstdc++.so.6+0x145f4f) (BuildId: ca77dae775ec87540acd7218fa990c40d1c94ab1) in std::ostreambuf_iterator<char, std::char_traits<char>> std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char>>>::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char>>, std::ios_base&, char, char, double) const
[11:46:11.067] ==4423==ABORTING
[11:46:11.067] MS: 0 ; base unit: 0000000000000000000000000000000000000000
[11:46:11.067] 0x25,0x38,0x37,0x33,0x37,0x38,0x39,0x25,
[11:46:11.067] %873789%
[11:46:11.067] artifact_prefix='./'; Test unit written to ./crash-105d61022c3f25b20d002b172b45b3becdb2600f
[11:46:11.067] Base64: JTg3Mzc4OSU=
[16:39:05.754] test/miniscript_tests.cpp(499): Entering test suite "miniscript_tests"
[16:39:05.754] MemorySanitizer:DEADLYSIGNAL
[16:39:05.754] ==5172==ERROR: MemorySanitizer: stack-overflow on address 0x7fff0d074df0 (pc 0x561157c53f78 bp 0x7fff0d075610 sp 0x7fff0d074df0 T5172)
[16:39:05.754]     #0 0x561157c53f78 in StackTrace /msan/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_stacktrace.h:53:45
[16:39:05.754]     #1 0x561157c53f78 in BufferedStackTrace /msan/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_stacktrace.h:113:26
[16:39:05.754]     #2 0x561157c53f78 in operator new(unsigned long) /msan/llvm-project/compiler-rt/lib/msan/msan_new_delete.cpp:51:35
[16:39:05.754]     #3 0x5611587eb34a in void* std::__1::__libcpp_operator_new[abi:de190100]<unsigned long>(unsigned long) /msan/cxx_build/include/c++/v1/new:265:10
[16:39:05.754]     #4 0x5611587eb34a in std::__1::__libcpp_allocate[abi:de190100](unsigned long, unsigned long) /msan/cxx_build/include/c++/v1/new:289:10
[16:39:05.754]     #5 0x5611587eb34a in std::__1::allocator<std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>>::allocate[abi:de190100](unsigned long) /msan/cxx_build/include/c++/v1/__memory/allocator.h:118:32
[16:39:05.754]     #6 0x5611587eb34a in std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>>>::allocate[abi:de190100](std::__1::allocator<std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>>&, unsigned long) /msan/cxx_build/include/c++/v1/__memory/allocator_traits.h:280:16
[16:39:05.754]     #7 0x5611587eb34a in std::__1::unique_ptr<std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>>>> std::__1::__tree<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::less<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>, std::__1::allocator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>>::__construct_node<(anonymous namespace)::ChallengeType, unsigned int const&>((anonymous namespace)::ChallengeType&&, unsigned int const&) /msan/cxx_build/include/c++/v1/__tree:1812:21
[16:39:05.754]     #8 0x5611587eb34a in std::__1::pair<std::__1::__tree_iterator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>*, long>, bool> std::__1::__tree<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::less<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>, std::__1::allocator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>>::__emplace_unique_impl<(anonymous namespace)::ChallengeType, unsigned int const&>((anonymous namespace)::ChallengeType&&, unsigned int const&) /msan/cxx_build/include/c++/v1/__tree:1822:23
[16:39:05.754]     #9 0x5611587eb34a in std::__1::pair<std::__1::__tree_iterator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>*, long>, bool> std::__1::__tree<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::less<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>, std::__1::allocator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>>::__emplace_unique[abi:de190100]<(anonymous namespace)::ChallengeType, unsigned int const&>((anonymous namespace)::ChallengeType&&, unsigned int const&) /msan/cxx_build/include/c++/v1/__tree:1044:12
[16:39:05.754]     #10 0x5611587eb34a in std::__1::pair<std::__1::__tree_const_iterator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::__tree_node<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, void*>*, long>, bool> std::__1::set<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>, std::__1::less<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>, std::__1::allocator<std::__1::pair<(anonymous namespace)::ChallengeType, unsigned int>>>::emplace[abi:de190100]<(anonymous namespace)::ChallengeType, unsigned int const&>((anonymous namespace)::ChallengeType&&, unsigned int const&) /msan/cxx_build/include/c++/v1/set:724:20
[16:39:05.754]     #11 0x5611587e5121 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/./test/miniscript_tests.cpp:307:14
[16:39:05.754]     #12 0x5611587e55d1 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/./test/miniscript_tests.cpp:320:25
[16:39:05.754]     #13 0x5611587e55d1 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&) /
...
[16:39:05.754]     #257 0x5611587e55d1 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/./test/miniscript_tests.cpp:320:25
[16:39:05.754] 
[16:39:05.754] SUMMARY: MemorySanitizer: stack-overflow /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/./test/miniscript_tests.cpp:307:14 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&)
[16:39:05.754] ==5172==ABORTING

@maflcko
Copy link
Member

maflcko commented Nov 26, 2024

It looks like DEBUG=1 has an effect on this?

@maflcko
Copy link
Member

maflcko commented Nov 26, 2024

tinyformat

Pretty sure this can be ignored, as in this codebase it is not relevant, see c42f/tinyformat#70 (comment)

@theuni
Copy link
Member

theuni commented Dec 6, 2024

Concept ACK. Seems like a good thing to know.

@theuni
Copy link
Member

theuni commented Dec 6, 2024


> [16:39:05.754]     #11 0x5611587e5121 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/./test/miniscript_tests.cpp:307:14
> [16:39:05.754]     #12 0x5611587e55d1 in (anonymous namespace)::FindChallenges(std::__1::shared_ptr<miniscript::Node<CPubKey> const> const&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/./test/miniscript_tests.cpp:320:25

Looks like this is recursing too recursively while recursively recursing. Exactly the kind of thing this PR is good for pointing out :)

@theuni
Copy link
Member

theuni commented Dec 6, 2024

Looks like this is recursing too recursively while recursively recursing. Exactly the kind of thing this PR is good for pointing out :)

// NOLINTNEXTLINE(misc-no-recursion)
std::set<Challenge> FindChallenges(const NodeRef& ref) {
  ...
}

Grrr!! Another NOLINTNEXTLINE suppression covering up a real(ish) bug :(. Thankfully it's just a test.

@maflcko
Copy link
Member

maflcko commented Feb 12, 2025

It looks like DEBUG=1 has an effect on this?

Maybe just enable it for the two GHA macOS tasks, which do not have DEBUG=1 enabled and also do not have sanitizers enabled?

@fanquake
Copy link
Member

@dergoegge want to rebase here and make those changes?

@dergoegge
Copy link
Member Author

Limited the stack size limit to the GHA macos jobs (as per #31367 (comment))

Copy link
Member

@maflcko maflcko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the two tasks are not running in docker, so the change here has no effect

@dergoegge dergoegge marked this pull request as ready for review February 26, 2025 14:05
@dergoegge dergoegge closed this Feb 26, 2025
@maflcko
Copy link
Member

maflcko commented Feb 26, 2025

If someone want to pick this up, the correct diff would likely look something like:

diff --git a/ci/test/00_setup_env_mac_native.sh b/ci/test/00_setup_env_mac_native.sh
index e01a56895b..ab1b78b14d 100755
--- a/ci/test/00_setup_env_mac_native.sh
+++ b/ci/test/00_setup_env_mac_native.sh
@@ -15,3 +15,4 @@ export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DREDUCE_EXPORTS=ON"
 export CI_OS_NAME="macos"
 export NO_DEPENDS=1
 export OSX_SDK=""
+export CI_LIMIT_STACK_SIZE=1
diff --git a/ci/test/00_setup_env_mac_native_fuzz.sh b/ci/test/00_setup_env_mac_native_fuzz.sh
index cacf2423ac..d896383f29 100755
--- a/ci/test/00_setup_env_mac_native_fuzz.sh
+++ b/ci/test/00_setup_env_mac_native_fuzz.sh
@@ -15,3 +15,4 @@ export RUN_UNIT_TESTS=false
 export RUN_FUNCTIONAL_TESTS=false
 export RUN_FUZZ_TESTS=true
 export GOAL="all"
+export CI_LIMIT_STACK_SIZE=1
diff --git a/ci/test/03_test_script.sh b/ci/test/03_test_script.sh
index 3dd44807c9..e76264b319 100755
--- a/ci/test/03_test_script.sh
+++ b/ci/test/03_test_script.sh
@@ -13,6 +13,10 @@ export LSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/l
 export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/tsan:halt_on_error=1:second_deadlock_stack=1"
 export UBSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
 
+if [ -n "${CI_LIMIT_STACK_SIZE}" ]; then
+  ulimit ... bla
+fi
+
 echo "Number of available processing units: $(nproc)"
 if [ "$CI_OS_NAME" == "macos" ]; then
   top -l 1 -s 0 | awk ' /PhysMem/ {print}'

@fanquake
Copy link
Member

PIcked up in #33079.

fanquake added a commit that referenced this pull request Jul 29, 2025
3b23f95 ci: limit max stack size to 512 KiB (dergoegge)
2931a87 ci: limit stack size to 512kb in native macOS jobs (fanquake)

Pull request description:

  Picks up #31367.
  Closes #29840.

  Limit adjustment is moved until after compilation, otherwise compilation might not succeed.
  I've used compilation flags to limit the stack size in the native macOS jobs, because trying to use `ulimit` resulted in:
  ```bash
  + '[' -n 1 ']'
  + ulimit -s 262144
  /Users/runner/work/bitcoin/bitcoin/ci/test/03_test_script.sh: line 17: ulimit: stack size: cannot modify limit: Operation not permitted
  ```

  See example failures (`ulimit -s 64`) here: https://github.com/bitcoin/bitcoin/runs/46861548042.

ACKs for top commit:
  dergoegge:
    utACK 3b23f95

Tree-SHA512: 7e00626f3ca9e860d79a301af2427008ce27c329b618e24f95e7a55b284459a446216d2859c2e63be50abb9d4f0d343c12ff50445231652d354f225477928a35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ci: Lower and unify default stack size
6 participants