mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
fix: Address code review findings for TSAN/ASAN PR
- Fix BasicApp::startIOThreads() member corruption: replace while(numberOfThreads_--) with a for loop to preserve the member value. - Fix Coro.ipp non-sanitizer stack size: increase default from 1MB to 2MB to match yield_to.h and prevent stack overflows in deep call chains. - Remove stale "TSAN deactivated" comment and dead activate_tsan variable from CI matrix generator. - Clarify Application.cpp setup() comment to distinguish io_context threads from subsystem-specific threads. - Use explicit load(std::memory_order_relaxed) at all SHAMap::ledgerSeq_ read sites for consistency with the atomic store. - Extract sanitizer detection into XRPL_SANITIZER_ACTIVE macro in sanitizers.h, replacing duplicated preprocessor blocks in Coro.ipp and yield_to.h. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
28
.github/scripts/strategy-matrix/generate.py
vendored
28
.github/scripts/strategy-matrix/generate.py
vendored
@@ -255,21 +255,19 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
|
||||
"sanitizers": "address,undefinedbehavior",
|
||||
}
|
||||
)
|
||||
# TSAN is deactivated due to seg faults with latest compilers.
|
||||
activate_tsan = True
|
||||
if activate_tsan:
|
||||
configurations.append(
|
||||
{
|
||||
"config_name": config_name + "-tsan-ubsan",
|
||||
"cmake_args": cmake_args,
|
||||
"cmake_target": cmake_target,
|
||||
"build_only": build_only,
|
||||
"build_type": build_type,
|
||||
"os": os,
|
||||
"architecture": architecture,
|
||||
"sanitizers": "thread,undefinedbehavior",
|
||||
}
|
||||
)
|
||||
# Add TSAN + UBSAN configuration.
|
||||
configurations.append(
|
||||
{
|
||||
"config_name": config_name + "-tsan-ubsan",
|
||||
"cmake_args": cmake_args,
|
||||
"cmake_target": cmake_target,
|
||||
"build_only": build_only,
|
||||
"build_type": build_type,
|
||||
"os": os,
|
||||
"architecture": architecture,
|
||||
"sanitizers": "thread,undefinedbehavior",
|
||||
}
|
||||
)
|
||||
else:
|
||||
configurations.append(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user