mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
Merge bitcoin/bitcoin#24757: build, ci: add DEBUG_LOCKCONTENTION
to --enable-debug and CI
bd5dbc30db
doc: update developer notes wrt --enable-debug and DEBUG_LOCKCONTENTION (Jon Atack)345647c4da
ci: add DEBUG_LOCKCONTENTION to CI task containing DEBUG_LOCKORDER (Jon Atack)247d17033f
build: add DEBUG_LOCKCONTENTION to --enable-debug configuration (Jon Atack) Pull request description: - Add `DEBUG_LOCKCONTENTION` flag to the `--enable-debug` configuration - Add `DEBUG_LOCKCONTENTION` to the native tsan CI task that contains `DEBUG_LOCKORDER` (verified that the CI has all logging categories enabled by default, except libevent and leveldb) - Update the developer notes that `--enable-debug` configures `DEBUG_LOCKCONTENTION` Related to https://github.com/bitcoin/bitcoin/issues/24709. Top commit has no ACKs. Tree-SHA512: 8e9c068d9a4841ad1ab08a2bf4ce96d6fee195e458f6802852cba0d71deb9a485059d355ac8bd1fc15410437f19503b77fc425bf53a1d48dc82a43a979daad17
This commit is contained in:
commit
bd57b4e0c0
@ -11,4 +11,4 @@ export DOCKER_NAME_TAG=ubuntu:22.04
|
||||
export PACKAGES="clang-13 llvm-13 libc++abi-13-dev libc++-13-dev python3-zmq"
|
||||
export DEP_OPTS="CC=clang-13 CXX='clang++-13 -stdlib=libc++'"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-zmq CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread CC=clang-13 CXX='clang++-13 -stdlib=libc++'"
|
||||
export BITCOIN_CONFIG="--enable-zmq CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION' CXXFLAGS='-g' --with-sanitizers=thread CC=clang-13 CXX='clang++-13 -stdlib=libc++'"
|
||||
|
@ -378,6 +378,7 @@ if test "$enable_debug" = "yes"; then
|
||||
|
||||
AX_CHECK_PREPROC_FLAG([-DDEBUG], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DDEBUG"], [], [$CXXFLAG_WERROR])
|
||||
AX_CHECK_PREPROC_FLAG([-DDEBUG_LOCKORDER], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DDEBUG_LOCKORDER"], [], [$CXXFLAG_WERROR])
|
||||
AX_CHECK_PREPROC_FLAG([-DDEBUG_LOCKCONTENTION], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DDEBUG_LOCKCONTENTION"], [], [$CXXFLAG_WERROR])
|
||||
AX_CHECK_PREPROC_FLAG([-DRPC_DOC_CHECK], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DRPC_DOC_CHECK"], [], [$CXXFLAG_WERROR])
|
||||
AX_CHECK_PREPROC_FLAG([-DABORT_ON_FAILED_ASSUME], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DABORT_ON_FAILED_ASSUME"], [], [$CXXFLAG_WERROR])
|
||||
AX_CHECK_COMPILE_FLAG([-ftrapv], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -ftrapv"], [], [$CXXFLAG_WERROR])
|
||||
|
@ -394,8 +394,10 @@ Defining `DEBUG_LOCKCONTENTION` adds a "lock" logging category to the logging
|
||||
RPC that, when enabled, logs the location and duration of each lock contention
|
||||
to the `debug.log` file.
|
||||
|
||||
To enable it, run configure with `-DDEBUG_LOCKCONTENTION` added to your
|
||||
CPPFLAGS, e.g. `CPPFLAGS="-DDEBUG_LOCKCONTENTION"`, then build and run bitcoind.
|
||||
The `--enable-debug` configure option adds `-DDEBUG_LOCKCONTENTION` to the
|
||||
compiler flags. You may also enable it manually for a non-debug build by running
|
||||
configure with `-DDEBUG_LOCKCONTENTION` added to your CPPFLAGS,
|
||||
i.e. `CPPFLAGS="-DDEBUG_LOCKCONTENTION"`, then build and run bitcoind.
|
||||
|
||||
You can then use the `-debug=lock` configuration option at bitcoind startup or
|
||||
`bitcoin-cli logging '["lock"]'` at runtime to turn on lock contention logging.
|
||||
|
Loading…
Reference in New Issue
Block a user