Commit Graph

13792 Commits

Author SHA1 Message Date
Pratik Mankawde
a8ee7ef316 Merge branch 'develop' into pratik/Fix_asan_lsan_flagged_issues 2026-02-16 15:53:44 +00:00
Pratik Mankawde
e75ffc7c25 only run asan 2026-02-15 13:46:51 +00:00
Pratik Mankawde
ea2ab17b95 supp. coro releated asan errors
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-13 16:53:08 +00:00
Pratik Mankawde
358c6d95bf run sanitizer tests in parallel
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-13 16:07:11 +00:00
Jingchen
ac0ad3627f refactor: Modularize HashRouter, Conditions, and OrderBookDB (#6226)
This change modularizes additional components by moving code to `libxrpl`.
2026-02-13 10:34:37 -05:00
Pratik Mankawde
f8fcccd684 Merge remote-tracking branch 'origin/develop' into pratik/Fix_asan_lsan_flagged_issues 2026-02-13 13:11:22 +00:00
Pratik Mankawde
484fc4ce9a increase timeout for sanitizer jobs
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-13 12:32:38 +00:00
nuxtreact
cd218346ff chore: Fix minor issues in comments (#6346) 2026-02-12 14:55:27 -05:00
Jingchen
5edd3566f7 refactor: Modularize the NetworkOPs interface (#6225)
This change moves the NetworkOPs interface into `libxrpl` and it leaves its implementation in `xrpld`.
2026-02-12 13:15:03 -05:00
Pratik Mankawde
81a18efb9e removing timeout changes
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 18:10:37 +00:00
Pratik Mankawde
d70ac27f0c increase timeout for sanitizer builds, since we are seeing timeouts
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 18:03:13 +00:00
Pratik Mankawde
496354f1c9 increase stack size of coroutine
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 16:38:57 +00:00
Pratik Mankawde
eb2b421cd6 unreachable return
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 15:21:20 +00:00
Pratik Mankawde
1a737ebb49 remove recursion from the ApplyStateTable::read and add flat call ApplyStateTable::readLocal
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 14:46:32 +00:00
Pratik Mankawde
d6e9986502 Silent uninitialized warning in gcc-14
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 12:42:35 +00:00
Pratik Mankawde
253fbf6e83 removed -flarge-source-files flag
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 12:30:44 +00:00
Pratik Mankawde
e6455035d5 Merge branch 'develop' into pratik/Fix_asan_lsan_flagged_issues 2026-02-12 12:23:38 +00:00
Pratik Mankawde
6029c65aa1 revert the LocalValue change
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-12 12:18:05 +00:00
Pratik Mankawde
11e8d1f8a2 chore: Fix gcov lib coverage build failure on macOS (#6350)
For coverage builds, we try to link against the `gcov` library (specific to the environment). But as macOS doesn't have this library and thus doesn't have the coverage tools to generate reports, the coverage builds on that platform were failing on linking.

We actually don't need to explicitly force this linking, as the `CodeCoverage` file already has correct detection logic (currently on lines 177-193), which is invoked when the `--coverage` flag is provided:
* AppleClang: Uses `xcrun -f llvm-cov` to set `GCOV_TOOL="llvm-cov gcov"`.
* Clang: Finds `llvm-cov` to set `GCOV_TOOL="llvm-cov gcov"`.
* GCC: Finds `gcov` to set `GCOV_TOOL="gcov"`.
The `GCOV_TOOL` is then passed to `gcovr` on line 416, so the correct tool is used for processing coverage data.

This change therefore removes the `gcov` suffix from lines 473 and 475 in the `CodeCoverage.cmake` file.
2026-02-12 06:11:26 -05:00
Jingchen
9f17d10348 refactor: Modularize RelationalDB (#6224)
The rdb module was not properly designed, which is fixed in this change. The module had three classes:
1) The abstract class `RelationalDB`.
2) The abstract class `SQLiteDatabase`, which inherited from `RelationalDB` and added some pure virtual methods.
3) The concrete class `SQLiteDatabaseImp`, which inherited from `SQLiteDatabase` and implemented all methods.

The updated code simplifies this as follows:
* The `SQLiteDatabaseImp` has become `SQLiteDatabase`, and
* The former `SQLiteDatabase `has merged with `RelationalDatabase`.
2026-02-11 16:22:01 +00:00
Pratik Mankawde
52c7d980d4 fix to the list issue
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-11 15:00:12 +00:00
Pratik Mankawde
5982519fe0 minor correction
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-11 14:39:01 +00:00
Pratik Mankawde
8dd147d5e8 set defines
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-11 14:00:33 +00:00
Jingchen
ef284692db refactor: Modularize WalletDB and Manifest (#6223)
This change modularizes the `WalletDB` and `Manifest`. Note that the wallet db has nothing to do with account wallets and it stores node configuration, which is why it depends on the manifest code.
2026-02-11 13:42:31 +00:00
Pratik Mankawde
7b36580552 Merge branch 'develop' into pratik/Fix_asan_lsan_flagged_issues 2026-02-11 11:48:28 +00:00
Olek
e11f6190b7 fix: Update invariant checks for Permissioned Domains (#6134) 2026-02-10 14:02:53 -05:00
Pratik Mankawde
5b4c49f47b remove coroutine2 from cmake dependency since it is a header lib
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-10 16:19:11 +00:00
Pratik Mankawde
d5a4f36632 ucontext, coroutine2 and for boost asan build
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-10 15:31:13 +00:00
Pratik Mankawde
011f0a6320 Merge branch 'develop' into pratik/Fix_asan_lsan_flagged_issues 2026-02-10 13:34:52 +00:00
Pratik Mankawde
654829294e moved settings to profle
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-10 13:34:29 +00:00
Pratik Mankawde
68c9b20f2d Force build boost with asan
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-10 12:46:23 +00:00
Valentin Balaschenko
db2734cbc9 refactor: Change main thread name to xrpld-main (#6336)
This change builds on the thread-renaming PR (#6212), by renaming the main thread name to reduce ambiguity in performance monitoring tools.
2026-02-06 16:33:42 -05:00
Mayukha Vadari
bf4674f42b refactor: Fix spelling issues in tests (#6199)
This change removes the `src/tests` exception from the `cspell` config and fixes all the issues that arise as a result. No functionality/test change.
2026-02-06 20:30:22 +00:00
Mayukha Vadari
f5208fc850 test: Add file and line location to Env (#6276)
This change uses `std::source_location` to output the file and line location of the call that triggered a failed transaction.
2026-02-06 18:37:01 +00:00
Ayaz Salikhov
2305bc98a4 chore: Remove CODEOWNERS (#6337) 2026-02-06 11:39:23 -05:00
Bart
677758b1cc perf: Remove unnecessary caches (#5439)
This change removes the cache in `DatabaseNodeImp` and simplifies the caching logic in `SHAMapStoreImp`. As NuDB and RocksDB internally already use caches, additional caches in the code are not very valuable or may even be unnecessary, as also confirmed during preliminary performance analyses.
2026-02-06 09:42:35 -05:00
Bart
25d7c2c4ec chore: Restore unity builds (#6328)
In certain cases, such as when modifying headers used by many compilation units, performing a unity build is slower than when performing a regular build with `ccache` enabled. There is also a benefit to a unity build in that it can detect things such as macro redefinitions within the group of files that are compiled together as a unit. This change therefore restores the ability to perform unity builds. However, instead of running every configuration with and without unity enabled, it is now only enabled for a single configuration to maintain lower computational use.

As part of restoring the code, it became clear that currently two configurations have coverage enabled, since the check doesn't focus specifically on Debian Bookworm so it also applies to Debian Trixie. This has been fixed too in this change.
2026-02-06 14:12:45 +00:00
Pratik Mankawde
69597e4b3b switch to coroutine2 and remove string caching
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-06 13:46:04 +00:00
Pratik Mankawde
65ba439117 cache strings to solve stack-use-after-scope
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-06 12:30:17 +00:00
Pratik Mankawde
14e3e098d5 change coroutine stack size to 4MB.
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-06 11:57:52 +00:00
Pratik Mankawde
1a14b813b8 removed malloc_context_size=30, fast_unwind_on_malloc=0 because they were slowing down the runs
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 19:08:34 +00:00
Pratik Mankawde
95c9851146 Merge branch 'develop' into pratik/Fix_asan_lsan_flagged_issues 2026-02-05 18:33:24 +00:00
Pratik Mankawde
127f44a40b fix stack-use-after-scope issue
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 18:19:32 +00:00
Pratik Mankawde
acca1c73cf reset verbosity back to 0
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 17:24:01 +00:00
Pratik Mankawde
567433d272 removing comments from the asan options
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 16:47:20 +00:00
Bart
0a626d95f4 refactor: Update secp256k1 to 0.7.1 (#6331)
The latest secp256k1 release, 0.7.1, contains bug fixes that we may benefit from, see https://github.com/bitcoin-core/secp256k1/blob/master/CHANGELOG.md.
2026-02-05 16:45:57 +00:00
Pratik Mankawde
4600c381b9 stack-buffer-overflow in coroutines.
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 16:34:45 +00:00
Pratik Mankawde
be28f4d489 fixing issue with ScopedStream stack-use-after-scope
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 16:14:43 +00:00
Niq Dudfield
6006c281e2 fix: Increment sequence when accepting new manifests (#6059)
The `ManifestCache::applyManifest` function was returning early without incrementing `seq_`. `OverlayImpl `uses this sequence to identify/invalidate a cached `TMManifests` message, which is exchanged with peers on connection. Depending on network size, startup sequencing, and topology, this can cause syncing issues. This change therefore increments `seq_` when a new manifest is accepted.
2026-02-05 10:40:27 -05:00
Pratik Mankawde
413aee0752 silence stack-buffer-overflow
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-02-05 15:10:36 +00:00