Skip to content

Commit 853821b

Browse files
fanquakeClaude Code
authored andcommitted
Merge bitcoin#27724: build: disable boost multi index safe mode in debug mode
59c8944 build: disable boost multi index safe mode (willcl-ark) Pull request description: Fixes bitcoin#27586 Disable boost multi index safe mode by default when configuring with --enable-debug. This option can cause transactions to take a long time to be accepted into the mempool under certain conditions; iterator destruction takes O(n) time vs O(1) as they are stored in a singly linked list. See 27586 and the [boost docs](https://www.boost.org/doc/libs/1_58_0/boost/multi_index/detail/safe_mode.hpp) for more information. Re-enable it on the CI builds which previously had it enabled. Re-enable it on the msan fuzz task so that we have fuzz tasks testing with it enabled and disabled in this repo. ACKs for top commit: hebasto: ~ACK 59c8944~ fanquake: ACK 59c8944 Tree-SHA512: ed654f63dbebdd02e4414d1f81147d92a4d490dbb5a2e0376858e3129097645f3a2df45191d6b40c410a76e803b0d28796d1a01c1d2fd995b94e8b7eb3949027
1 parent 3b3169d commit 853821b

File tree

2 files changed

+1
-5
lines changed

2 files changed

+1
-5
lines changed

ci/test/00_setup_env_native_qt5.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ export RUN_UNIT_TESTS_SEQUENTIAL="true"
1515
export RUN_UNIT_TESTS="false"
1616
export GOAL="install"
1717
export PREVIOUS_RELEASES_TO_DOWNLOAD="v0.12.1.5 v0.15.0.0 v0.16.1.1 v0.17.0.3 v18.2.2 v19.3.0 v20.0.1"
18-
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports --disable-fuzz-binary LDFLAGS=-static-libstdc++ --with-boost-process"
18+
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports --disable-fuzz-binary LDFLAGS=-static-libstdc++ --with-boost-process CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE'"

configure.ac

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,10 +1482,6 @@ fi
14821482
dnl we don't use multi_index serialization
14831483
BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION"
14841484

1485-
if test "$enable_debug" = "yes" || test "$enable_fuzz" = "yes"; then
1486-
BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE"
1487-
fi
1488-
14891485
dnl Prevent use of std::unary_function, which was removed in C++17,
14901486
dnl and will generate warnings with newer compilers for Boost
14911487
dnl older than 1.80.

0 commit comments

Comments
 (0)