Skip to content

fix(diagrams): initialize PlantUML operand IDs - #2829

Closed
pcristin wants to merge 1 commit into
DeusData:mainfrom
pcristin:fix/2818-plantuml-operands
Closed

pcristin wants to merge 1 commit into
DeusData:mainfrom
pcristin:fix/2818-plantuml-operands

Conversation

@pcristin

@pcristin pcristin commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Closed in favor of the earlier #2827, which contains the identical production fix. Additional regression coverage and completed validation results were shared there.

Fixes #2818.

Initialize the PlantUML operand ID before any early return, preventing empty or unterminated operands from reaching callers as an uninitialized slice. Two regression tests cover the three reported edge messages and 16 unterminated operand cases, including include-token retention and preservation of subsequent valid content.

Final local validation on Linux x86_64, Clang 20.1.2:

  • Complete canonical scripts/test.sh entry exited 0: 10,025 passed, 0 failed, 10 Windows-only skips across all 191 suites, plus all enabled production guards. All 164 incremental tests ran.
  • All 20 diagram tests passed under ASan/UBSan with stack pattern initialization, without sanitizer warnings. Both new tests reproduced the original crash before the fix.
  • The current contribution lint gate from fix(hooks): scope pre-commit clang-tidy to staged changes (#1264) #1310 passed: full CI-mode lint with pinned cppcheck 2.20.0 and clang-format 20, plus clang-tidy on the exact committed diff.
  • Canonical security audit passed: 32 robustness cases and 1,083 vendored files.
  • Real C4-PlantUML validation indexed all 103 tracked PlantUML files.

Limits remain explicit in the linked report: UBSan warnings in unchanged Perl/signature/RST code, existing full-tree tidy findings (manual sweep stopped at 40/242), one partial upstream Markdown parse, and an initial unchanged selector-fixture SIGPIPE followed by a successful full retry. CI was not wholly green: its UI dependency installation timed out, and the account lacks repository-admin permission to retry that job.

Written with Codex on behalf of Pcristin.

Signed-off-by: Pcristin <xxxokzxxx@protonmail.com>
@pcristin
pcristin requested a review from DeusData as a code owner October 29, 2026 08:23
@github-actions

Copy link
Copy Markdown

Thanks for opening this — it has been seen, and it is queued.

This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence.

Current review status: working through a backlog. 0.9.1-rc.1 is out, so the release freeze that held reviews is over — but it left a large queue of open pull requests behind it, and we are reading through them oldest-first. The background is in discussion #1144.

What that means for this PR, concretely:

  • It will not be closed for inactivity. No stale bot touches pull requests here.
  • It may still sit a while before a human reads it. That is on us, not on you.
  • Older PRs are read first, so a recent one is not being skipped — it is behind a queue.

Things that will genuinely speed it up whenever review does happen:

  • Keep it rebased on main — the tree is moving quickly right now, and a conflicting branch cannot be reviewed as the diff you intended.
  • Get CI green, or say which failures you believe are pre-existing.
  • Keep the change to one claim. Bundled features and refactors get split before they get merged, which costs you a round trip.
  • Every commit needs a sign-off (git commit -s) — CI enforces DCO.

If this fixes a bug, a reproduction we can run is worth more than a description of the symptom.

Thanks for contributing, and sorry in advance for the wait.

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.

Index worker segfaults on PlantUML edge messages: dg_puml_operand leaves *id uninitialized

1 participant