chore(build): cut debug info to fix link OOM#33
Conversation
Linking dpp-node integration binaries with full DWARF exhausts memory on a 16 GB machine, failing the last CI stage as LNK1102 or a bare rustc abort that both read as code failures.
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Pull Request Overview
This PR adjusts the Cargo development profile to use line-tables-only for debug information. This is a targeted fix to resolve LNK1102 out of memory errors and stack buffer overruns encountered on Windows environments with limited RAM during the linking phase of the workspace binaries. Codacy analysis indicates the PR is up to standards with no new issues or complexity increases. The primary trade-off is the loss of variable-level DWARF information in the dev profile, though basic backtraces (file and line numbers) are expected to remain intact.
Test suggestions
- Verify workspace binaries (dpp-node, dpp-vault, etc.) link successfully on a 16 GB Windows environment without OOM errors.
- Verify that backtraces produced from a dev build panic still contain file and line number information.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify workspace binaries (dpp-node, dpp-vault, etc.) link successfully on a 16 GB Windows environment without OOM errors.
2. Verify that backtraces produced from a dev build panic still contain file and line number information.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
|
Duplicate of #26, which has carried the same one-line |
Cherry-picks
a9fdddefromfeat/continuity-snapshotsontomain.The fix is entirely general — it sets
profile.dev debug = "line-tables-only"for the workspace — but it currently exists only on a feature branch.
maintherefore cannot link its binaries on Windows, and the failure does not look
like a build-configuration problem.
Before
On
main,cargo build --workspacedies linking the binaries:Both signatures read as code failures. Neither is one.
After
Same command, same machine, no environment overrides:
All six binaries link:
dpp-node,dpp-vault,dpp-resolver,dpp-identity,dpp-integrator,odal.Why it belongs on main separately
It is a build-infrastructure fix with nothing to do with continuity snapshots.
Leaving it stranded means anyone building
mainon Windows hits a failure thatlooks like broken code, and the natural response — debugging the crate that
"failed" — leads nowhere. It should land independently of the feature work that
happened to discover it.
Duplicate content with
feat/continuity-snapshotsis expected; git will resolvethe overlap when that branch merges.