Merge #16161: util: Fix compilation errors in support/lockedpool.cpp
30fb598737
Fix segfault in allocator_tests/arena_tests (Jeffrey Czyz)15c84f53f4
Define ARENA_DEBUG in Travis test runs (Jeffrey Czyz)ad71548822
Fix compilation errors in support/lockedpool.cpp (Jeffrey Czyz) Pull request description: Changes in #12048 cause a compilation error in Arena::walk() when ARENA_DEBUG is defined. Specifically, Arena's chunks_free map was changed to have a different value type. Additionally, missing includes cause other compilation errors when ARENA_DEBUG is defined. Reproduced with: make CPPFLAGS=-DARENA_DEBUG ACKs for top commit: laanwj: ACK30fb598737
fanquake: ACK30fb598737
- thanks for following up jkczyz. Tree-SHA512: 4eec368a4e9c67e4e2a27bc05608a807c2892d50c60d06ed21490cd274c0369f9671bc05b3006acc2a193316caf4896454c9c299603bfed29bd488f1987ec446
This commit is contained in:
commit
76e777df83
3 changed files with 8 additions and 4 deletions
|
@ -9,4 +9,4 @@ export LC_ALL=C.UTF-8
|
||||||
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
|
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
|
||||||
export NO_DEPENDS=1
|
export NO_DEPENDS=1
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"
|
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"
|
||||||
|
|
|
@ -10,4 +10,4 @@ export DOCKER_NAME_TAG=ubuntu:16.04
|
||||||
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
|
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
|
||||||
export NO_DEPENDS=1
|
export NO_DEPENDS=1
|
||||||
export GOAL="install"
|
export GOAL="install"
|
||||||
export BITCOIN_CONFIG="--enable-zmq --disable-wallet --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"
|
export BITCOIN_CONFIG="--enable-zmq --disable-wallet --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"
|
||||||
|
|
|
@ -23,6 +23,10 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#ifdef ARENA_DEBUG
|
||||||
|
#include <iomanip>
|
||||||
|
#include <iostream>
|
||||||
|
#endif
|
||||||
|
|
||||||
LockedPoolManager* LockedPoolManager::_instance = nullptr;
|
LockedPoolManager* LockedPoolManager::_instance = nullptr;
|
||||||
std::once_flag LockedPoolManager::init_flag;
|
std::once_flag LockedPoolManager::init_flag;
|
||||||
|
@ -137,7 +141,7 @@ Arena::Stats Arena::stats() const
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ARENA_DEBUG
|
#ifdef ARENA_DEBUG
|
||||||
static void printchunk(char* base, size_t sz, bool used) {
|
static void printchunk(void* base, size_t sz, bool used) {
|
||||||
std::cout <<
|
std::cout <<
|
||||||
"0x" << std::hex << std::setw(16) << std::setfill('0') << base <<
|
"0x" << std::hex << std::setw(16) << std::setfill('0') << base <<
|
||||||
" 0x" << std::hex << std::setw(16) << std::setfill('0') << sz <<
|
" 0x" << std::hex << std::setw(16) << std::setfill('0') << sz <<
|
||||||
|
@ -149,7 +153,7 @@ void Arena::walk() const
|
||||||
printchunk(chunk.first, chunk.second, true);
|
printchunk(chunk.first, chunk.second, true);
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
for (const auto& chunk: chunks_free)
|
for (const auto& chunk: chunks_free)
|
||||||
printchunk(chunk.first, chunk.second, false);
|
printchunk(chunk.first, chunk.second->first, false);
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue