Pratik Mankawde
2b57171069
Merge remote-tracking branch 'origin/pratik/ubsan-suppression-cleanup' into pratik/ubsan-suppression-cleanup
2026-06-11 18:28:58 +01:00
Pratik Mankawde
0475e64a77
ci: Factor out sanitizer suppressions dir into a variable
...
Address review feedback: the Set sanitizer options step repeated
${GITHUB_WORKSPACE}/sanitizers/suppressions/ for every sanitizer.
Extract it into a SUPP shell variable for readability. No behavior change.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-11 18:28:32 +01:00
Pratik Mankawde
8920fef3cd
Merge branch 'develop' into pratik/ubsan-suppression-cleanup
2026-06-11 17:47:24 +01:00
Pratik Mankawde
8287324da4
clang-tidy fix
2026-06-11 17:46:44 +01:00
Pratik Mankawde
db79925e17
ci: Key rippled UBSan suppressions by source file
...
The function-name suppressions for rippled's own code never matched: this
UBSan build runs without symbol information, so the runtime only reports
the file:line of each diagnostic, not the enclosing function. The CI log
still showed ~486 unsuppressed `runtime error:` lines, all from own-code
files whose entries were written as function-name globs.
Re-key every rippled own-code entry by source file (the only granularity
the runtime can match here), covering all files flagged by the ubsan job:
amount/number arithmetic, hashing and PRNG, counter/sentinel wraparound
guarded by explicit checks, codec index math, and intentional test
arithmetic. Each entry keeps a comment naming the construct.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-11 17:03:16 +01:00
Pratik Mankawde
e6a9cc7255
comment cleanup
2026-06-11 16:50:52 +01:00
Pratik Mankawde
ecfb570ea4
ci: Silence UBSan diagnostics in the ubsan build config
...
The debian-trixie-clang-22-amd64-debug-ubsan job logs many non-fatal
UBSan `runtime error:` lines (it passes because halt_on_error=false).
These come from two places that needed different fixes.
Build-time: the protocol code-gen and build steps run instrumented
dependency tools (protoc, grpc) before the "Set sanitizer options" step
exported UBSAN_OPTIONS, so the suppression list never applied to them.
Move that step to run right after "Configure CMake" — before code-gen
and build — reusing the existing ${GITHUB_WORKSPACE}/$GITHUB_ENV
mechanism so the path resolves correctly inside the container job.
Test-time: extend ubsan.supp. unsigned-integer-overflow and
float-divide-by-zero are separate checks, not part of the `undefined`
group, so undefined:<x> keys do not cover them. Add broad
unsigned-integer-overflow keys for absl and protobuf (matching the
existing boost handling), a few libstdc++ headers, and narrowly
function-scoped entries for rippled's intentional wraparound (hashing,
PRNG, counters guarded by explicit overflow checks) plus test
arithmetic, each with a rationale comment.
Fix the one genuine issue in code: a diagnostic JLOG line in
doLedgerGrpc divided the extract time by the object / transaction
counts, which are zero for an empty ledger. Guard the per-item rates.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-11 16:42:14 +01:00
Ayaz Salikhov
cee157485e
ci: Run sanitizers on release builds too ( #7527 )
2026-06-11 12:59:22 +00:00
Zhiyuan Wang
09c36d066e
fix: Correct hybrid offer deletion on credential expiry ( #6843 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-06-10 20:42:41 +00:00
Ayaz Salikhov
2f6b466feb
ci: Make sanitizer flags lists in the profile, not a string ( #7449 )
2026-06-10 18:24:34 +00:00
Ayaz Salikhov
8000adfa79
ci: Make configurations launch on certain event types ( #7447 )
2026-06-10 18:08:34 +00:00
Shi Cheng
1f359f719c
fix: Add [[maybe_unused]] to fix320Enabled for assert=OFF builds ( #7446 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 17:24:44 +00:00
Ayaz Salikhov
dd0b6754d4
ci: Add gh and file to nix packages ( #7444 )
2026-06-10 14:45:51 +00:00
Vito Tumas
83cc5df72e
fix: Disable transaction invariants ( #7409 )
2026-06-10 12:05:53 +00:00
Vito Tumas
97ca7d57bc
perf: Dispatch "hasInvalidAmount()" on type tag instead of dynamic_cast ( #7402 )
2026-06-10 11:44:57 +00:00
Pratik Mankawde
8a4bf2dee6
refactor: Retire fixUniversalNumber amendment ( #5962 )
...
Signed-off-by: Pratik Mankawde <pmankawde@ripple.com >
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-10 10:16:03 +00:00
Bart
742aa0878b
test: Do not create data directory for memory databases ( #7323 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-10 09:16:53 +00:00
Ayaz Salikhov
8617eaeb26
ci: Launch upload-conan-deps on profile change ( #7442 )
2026-06-10 00:00:19 +00:00
Ed Hennis
2cbc3c139e
fix: Fix Number comparison operator ( #7406 )
2026-06-09 17:46:56 +00:00
Ayaz Salikhov
fccb109e48
feat: Use C++ 23 standard ( #7431 )
2026-06-09 17:36:17 +00:00
Vito Tumas
0fb1aca461
refactor: Introduce XRPL_ASSERT_IF for amendment-gated assertions ( #7378 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-06-09 17:02:06 +00:00
Bart
c552eb333f
refactor: Change config section and key string literals into constants ( #7095 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-09 14:58:21 +00:00
Bart
c9769d1add
refactor: Use std::move and std::string_view where possible ( #7424 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-09 13:56:32 +00:00
Bart
ee9fbc4e08
refactor: Use const function arguments where possible ( #7423 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-09 10:04:09 +00:00
Ayaz Salikhov
577d7457f1
ci: Use XRPLF/actions build-multiarch-image workflow ( #7428 )
2026-06-08 17:10:05 +00:00
Ayaz Salikhov
a389f922dd
ci: Use new packaging images and don't cancel develop builds ( #7417 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-06-08 13:41:08 +00:00
dependabot[bot]
79f4ddc4a6
ci: [DEPENDABOT] bump codecov/codecov-action from 6.0.1 to 7.0.0 ( #7426 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 09:37:50 +00:00
Ayaz Salikhov
949887feb9
build: Create single test binary xrpl_tests ( #7327 )
2026-06-05 19:24:32 +00:00
dependabot[bot]
fc57dab78b
ci: [DEPENDABOT] bump actions/checkout from 6.0.2 to 6.0.3 ( #7414 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-05 17:17:47 +00:00
Ayaz Salikhov
63ffdc39dc
ci: Refactor build-related nix / docker / workflows ( #7408 )
2026-06-05 17:05:19 +00:00
Ayaz Salikhov
6571f75d39
ci: Use multiple directories in dependabot config ( #7413 )
2026-06-05 14:36:05 +00:00
Ayaz Salikhov
2111bb4b95
ci: Update clang-tidy to nix-based v22 ( #7412 )
2026-06-05 14:11:47 +00:00
Ayaz Salikhov
8abe82eefa
ci: Redesign matrix configuration based on Nix images ( #7385 )
...
Co-authored-by: semgrep-companion-app[bot] <218312740+semgrep-companion-app[bot]@users.noreply.github.com>
2026-06-04 20:02:59 +00:00
Ayaz Salikhov
5b8e6cd1dd
test: Fix LCOV_EXCL_END -> LCOV_EXCL_STOP ( #7407 )
2026-06-04 19:35:36 +00:00
Ayaz Salikhov
12e81abef3
ci: Improve sanitizer-libs, add doxygen, dpkg, rpm in nix ( #7403 )
2026-06-04 14:52:42 +00:00
Ayaz Salikhov
6c543426c3
ci: Fix clang asan include dirs in nix images, add curl & gnupg ( #7400 )
2026-06-03 22:19:15 +00:00
yinyiqian1
e5cf1a0985
fix: Add zero NFT Offer ID check for NFTokenCancelOffer ( #7391 )
2026-06-03 19:30:20 +00:00
Ayaz Salikhov
023bdaeeed
ci: Install gcov, nettools, cacert in nix images ( #7398 )
2026-06-03 19:14:17 +00:00
Bart
96b2c0964f
refactor: Replace intr_ptr::SharedPtr<SHAMapTreeNode> by SHAMapTreeNodePtr ( #7396 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-03 15:34:19 +00:00
Ayaz Salikhov
1441d4690d
chore: Update flake.lock to allow conan with clang-22 support ( #7390 )
2026-06-03 00:16:02 +00:00
Vito Tumas
225ed204ad
test: Suppress invariant-failure logs in Vault and LoanBroker bug-regression tests ( #7379 )
2026-06-02 17:12:09 +00:00
Ayaz Salikhov
ad111bcc22
ci: Patch binaries in nix-based images and test in every distro ( #7376 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-02 13:51:20 +00:00
Ayaz Salikhov
d4cb68d5a1
ci: Check binaries separately from building them ( #7355 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-01 16:47:01 +00:00
dependabot[bot]
e209ee5371
ci: [DEPENDABOT] bump eps1lon/actions-label-merge-conflict from 3.0.3 to 3.1.0 ( #7375 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-01 15:29:12 +00:00
Vito Tumas
109b649106
refactor: Use STLedgerEntry type aliases instead of std::shared_ptr ( #7282 )
2026-06-01 15:27:13 +00:00
Michael Legleux
0fffe23abc
fix: Adjust xrpld systemd service and update timer ( #7374 )
2026-06-01 03:33:19 +00:00
Bart
7e15621e7b
release: Bump version to 3.2.0-rc3 ( #7371 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-05-31 22:55:18 +00:00
Vito Tumas
99431d7833
fix: Pin overpayment principal reduction to exact on-grid value ( #7360 )
2026-05-31 22:54:23 +00:00
Ed Hennis
47365f4220
fix: Improve upward rounding edge cases for Number::operator/= ( #7328 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-05-31 00:23:29 +00:00
Bart
1599c1a672
refactor: Revert "perf: Remove unnecessary caches ( #5439 )" ( #7359 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-05-30 18:48:59 +00:00