Skip to content

DRAFT: Try 2^63-1 mantissa range refactoring on asan branch#6292

Draft
ximinez wants to merge 19 commits into
pratik/Fix_asan_lsan_flagged_issuesfrom
ximinez/number_asan
Draft

DRAFT: Try 2^63-1 mantissa range refactoring on asan branch#6292
ximinez wants to merge 19 commits into
pratik/Fix_asan_lsan_flagged_issuesfrom
ximinez/number_asan

Conversation

@ximinez

@ximinez ximinez commented Jan 29, 2026

Copy link
Copy Markdown
Collaborator

High Level Overview of Change

Combines #6150 and #6275.

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

API Impact

  • Public API: New feature (new methods and/or new fields)
  • Public API: Breaking change (in general, breaking changes should only impact the next api_version)
  • libxrpl change (any change that may affect libxrpl or dependents of libxrpl)
  • Peer protocol change (must be backward compatible or bump the peer protocol version)

- That makes minMantissa 2^63/10+1.
- Simplifies many of the existing operations, and removes the need for
  the accessors (mantissa() & exponent()) to do any math.
- Simplify shiftExponent().
- Clean up to_string() to prevent integers from including "e0".
- Fix root() and root2() computations by ensuring the mantissas have
  a consistent length.
- Steal changes from @pratik's #6150 to avoid UB
@ximinez ximinez added the DraftRunCI Normally CI does not run on draft PRs. This opts in. label Jan 29, 2026
@codecov

codecov Bot commented Jan 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.66667% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.8%. Comparing base (3d494ee) to head (6364e43).

Files with missing lines Patch % Lines
include/xrpl/basics/Number.h 95.8% 1 Missing ⚠️
src/libxrpl/basics/Number.cpp 99.2% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@                          Coverage Diff                          @@
##           pratik/Fix_asan_lsan_flagged_issues   #6292     +/-   ##
=====================================================================
- Coverage                                 79.8%   79.8%   -0.0%     
=====================================================================
  Files                                      846     846             
  Lines                                    67771   67781     +10     
  Branches                                  7557    7567     +10     
=====================================================================
- Hits                                     54072   54066      -6     
- Misses                                   13699   13715     +16     
Files with missing lines Coverage Δ
include/xrpl/protocol/Protocol.h 100.0% <ø> (ø)
include/xrpl/protocol/STAmount.h 95.6% <100.0%> (+<0.1%) ⬆️
include/xrpl/protocol/SystemParameters.h 100.0% <ø> (ø)
include/xrpl/protocol/detail/ledger_entries.macro 100.0% <ø> (ø)
include/xrpl/basics/Number.h 98.0% <95.8%> (-0.7%) ⬇️
src/libxrpl/basics/Number.cpp 98.6% <99.2%> (-0.2%) ⬇️

... and 6 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…es' into ximinez/number_asan

* XRPLF/pratik/Fix_asan_lsan_flagged_issues:
  fixed asan escape macro before return type
  added comments and haltonerror=false
  remove suppressions
  fix memory leak in LocalValue
  run parallel tests
  Don't copy the Json::StaticString
  fixes to static variable destruction issue.
  fix: Deletes expired NFToken offers from ledger (5707)
  chore: Add .zed editor config directory to .gitignore (6317)
  clang-format updates
  ssl context cleanup.
  docs: Update API changelog, add APIv2+APIv3 version documentation (6308)
  fix: Restore config changes that broke standalone mode (6301)
  chore: Add upper-case match for ARM64 in CompilationEnv (6315)
  ci: Update hashes of XRPLF/actions (6316)
  chore: Format all cmake files without comments (6294)
  chore: Add cmake-format pre-commit hook (6279)
  chore: Remove unnecessary `boost::system` requirement from conanfile (6290)
  chore: Set ColumnLimit to 120 in clang-format (6288)
  run tests in serial
…es' into ximinez/number_asan

* XRPLF/pratik/Fix_asan_lsan_flagged_issues: (61 commits)
  Apply suggestion from @pratikmankawde
  refactor: Modularize app/tx (6228)
  do not fix the stack size
  refactor: Decouple app/tx from `Application` and `Config` (6227)
  increase timeout
  chore: Update clang-format to 21.1.8 (6352)
  reverted change in Number
  halt on error  = 0
  remove printXXX from asan rt args
  remove symbolize option from asan
  only run asan
  supp. coro releated asan errors
  run sanitizer tests in parallel
  refactor: Modularize `HashRouter`, `Conditions`, and `OrderBookDB` (6226)
  increase timeout for sanitizer jobs
  chore: Fix minor issues in comments (6346)
  refactor: Modularize the NetworkOPs interface (6225)
  removing timeout changes
  increase timeout for sanitizer builds, since we are seeing timeouts
  increase stack size of coroutine
  ...
…number_asan

* commit '25cca465538a56cce501477f9e5e2c1c7ea2d84c':
  chore: Set clang-format width to 100 in config file (6387)
  chore: Set cmake-format width to 100 (6386)
  ci: Add clang tidy workflow to ci (6369)
* commit '2c1fad1023':
  chore: Apply clang-format width 100 (6387)
…number_asan

* commit 'd03d72bfd57a76b4f4ec9259a851ef52271618cf':
  ci: Add dependabot config (6379)
  Fix tautological assertion (6393)
…number_asan

* commit 'd9f54113b3c445c32e306ec6c895b469ca30ae77':
…es' into ximinez/number_asan

* XRPLF/pratik/Fix_asan_lsan_flagged_issues:
  add supp for gcc
  increase timeout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DraftRunCI Normally CI does not run on draft PRs. This opts in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant