Skip to content

Conduit json corruption fix#797

Merged
tokusanya merged 3 commits intosandialabs:masterfrom
jeffmauldin:conduit_json_corruption_fix
Apr 9, 2026
Merged

Conduit json corruption fix#797
tokusanya merged 3 commits intosandialabs:masterfrom
jeffmauldin:conduit_json_corruption_fix

Conversation

@jeffmauldin
Copy link
Copy Markdown
Contributor

In Iocatalyst_CatalystManager.C, when multiple inputs are being sent to the same catalyst script, there is a loop through the saved conduit nodes to transfer them (via set_external, not set) to catalyst. The loop had an incorrect iterator which was causing the copying and deletion of a conduit node rather than using a reference. This pull request fixes that issue, refactors the method so that we could expose the issue to testing, and adds a test to make sure the corruption does not occur (and the test fails correctly and the corruption occurs when the iterator is incorrect).

Jeffrey A. Mauldin and others added 3 commits March 6, 2026 00:10
refactored to expose conduit json node creation to test
added test which fails on incorrect loop iterator (without &)
and succeeds on correct loop iterator (with &)
issue was that conduit node was copied by auto iterator instance
so when result node was given "set_external()" that node then
went away at end of loop; fix was to change to an auto address node,
i.e. "auto cp" got changed to "auto& cp"
@tokusanya tokusanya merged commit df76bc3 into sandialabs:master Apr 9, 2026
59 of 61 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants