From 2e255812ae8fcd8b0da6acf0281c5f286c2827ed Mon Sep 17 00:00:00 2001 From: Bronek Kozicki Date: Fri, 22 Aug 2025 15:58:36 +0100 Subject: [PATCH 1/2] chore: Workaround for CI build errors on arm64 (#5717) CI builds with `clang-20` on `linux/arm64` are failing due to boost 1.86. This is hopefully fixed in version 1.88. --- .github/scripts/strategy-matrix/generate.py | 4 ++++ .gitignore | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/scripts/strategy-matrix/generate.py b/.github/scripts/strategy-matrix/generate.py index 0acdca8d4f..652cb8871f 100644 --- a/.github/scripts/strategy-matrix/generate.py +++ b/.github/scripts/strategy-matrix/generate.py @@ -123,6 +123,10 @@ def generate_strategy_matrix(all: bool, architecture: list[dict], os: list[dict] if os['distro_name'] == 'rhel' and architecture['platform'] == 'linux/arm64': continue + # We skip all clang-20 on arm64 due to boost 1.86 build error + if f'{os['compiler_name']}-{os['compiler_version']}' == 'clang-20' and architecture['platform'] == 'linux/arm64': + continue + # Generate a unique name for the configuration, e.g. macos-arm64-debug # or debian-bookworm-gcc-12-amd64-release-unity. config_name = os['distro_name'] diff --git a/.gitignore b/.gitignore index ab54adba74..5476f21a41 100644 --- a/.gitignore +++ b/.gitignore @@ -110,4 +110,4 @@ bld.rippled/ .vscode # Suggested in-tree build directory -/.build/ +/.build*/ From 095dc4d9cc89f96aaf82940e822a753bff4b96af Mon Sep 17 00:00:00 2001 From: Mayukha Vadari Date: Fri, 22 Aug 2025 12:15:03 -0400 Subject: [PATCH 2/2] fix(test): handle null metadata for unvalidated tx in Env::meta (#5715) This change handles errors better when calling `env.meta`. It prints some debug help and throws an error if `env.meta` is going to return a `nullptr`. --- src/test/jtx/impl/Env.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/test/jtx/impl/Env.cpp b/src/test/jtx/impl/Env.cpp index 46558a188a..d6956b30c7 100644 --- a/src/test/jtx/impl/Env.cpp +++ b/src/test/jtx/impl/Env.cpp @@ -499,7 +499,16 @@ Env::meta() close(); } auto const item = closed()->txRead(txid_); - return item.second; + auto const result = item.second; + if (result == nullptr) + { + test.log << "Env::meta: no metadata for txid: " << txid_ << std::endl; + test.log << "This is probably because the transaction failed with a " + "non-tec error." + << std::endl; + Throw("Env::meta: no metadata for txid"); + } + return result; } std::shared_ptr