Skip to content

Fix stack overflow in AutoLayoutAlgorithm with beta.13 update#41

Merged
Malcolmnixon merged 1 commit into
mainfrom
feature/rendering-beta13
Jul 16, 2026
Merged

Fix stack overflow in AutoLayoutAlgorithm with beta.13 update#41
Malcolmnixon merged 1 commit into
mainfrom
feature/rendering-beta13

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

This pull request updates the DemaConsulting.Rendering package dependencies across the core library, tool, and test projects to the latest beta version (0.1.0-beta.13). This ensures that all components use the most recent features and fixes from the rendering libraries.

Dependency updates:

  • Updated DemaConsulting.Rendering.Layout to version 0.1.0-beta.13 in DemaConsulting.SysML2Tools.Core.csproj
  • Updated DemaConsulting.Rendering.Svg and DemaConsulting.Rendering.Skia to version 0.1.0-beta.13 in DemaConsulting.SysML2Tools.Tool.csproj
  • Updated DemaConsulting.Rendering.Svg and DemaConsulting.Rendering.Skia to version 0.1.0-beta.13 in DemaConsulting.SysML2Tools.Tests.csproj

Beta.13 fixes a critical stack-overflow bug: AutoLayoutAlgorithm's
empty-graph (count == 0) fast path unconditionally delegated to
HierarchicalLayoutAlgorithm, whose leaf-algorithm resolution only
guards against resolving back to itself (not back to auto) - so a
graph explicitly declaring CoreOptions.Algorithm = auto (as
LayeredPlacement.PlaceWithPorts does) recursed into itself forever
once it hit an empty graph, crashing the process with an uncatchable
native stack overflow.

Reproduced and confirmed in complete isolation from SysML2Tools with
a standalone unit test against the Rendering library alone (crashed
the test process with STATUS_STACK_OVERFLOW). Confirmed fixed after
bumping to beta.13 - both minimal repro models (unconnected and
connected parts under an asInterconnectionDiagram view) now render
without crashing.

Full build/test suite green: 499 Tests x3 TFMs + 355 Tool.Tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant