Skip to content

fix(#310): ShapeAnalysis_FreeBounds no longer crashes on disjoint free-boundary components#316

Merged
gsdali merged 3 commits into
mainfrom
fix/310-freebounds-owires-uninit
Jul 19, 2026
Merged

fix(#310): ShapeAnalysis_FreeBounds no longer crashes on disjoint free-boundary components#316
gsdali merged 3 commits into
mainfrom
fix/310-freebounds-owires-uninit

Conversation

@gsdali

@gsdali gsdali commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Test plan

🤖 Generated with Claude Code

gsdali and others added 3 commits July 19, 2026 13:46
…onnectWiresToWiresImpl

WIP: carried patch + docs/test written; xcframework rebuild + Package.swift
checksum still pending (placeholder checksum, will amend once the build
completes).

Root-caused via AddressSanitizer: ShapeAnalysis_FreeBounds's
connectWiresToWiresImpl returned without assigning its owires out-parameter
on empty input, leaving a null handle that later crashed
NCollection_HSequence::Append with an uncatchable SIGSEGV. Minimally
reproducible with two disjoint planar faces in one compound; not a
data-volume threshold (150+ free-boundary loops can be fine, 2 can crash).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…h; correct test assertion

Package.swift now points at the v1.12.6 release asset with the real checksum.
Fixed the new regression test's freeBoundsOpenWires assertion — a valid empty
compound (0 wires) is the correct post-fix result, not nil.

Verified: swift build clean; OCCTShapeHealingTests (213 tests, 77 suites) and
OCCTModelingTests (414 tests, 134 suites) pass, including the #263 crash-guard
regression suite. The new issue310DisjointFacesFreeBounds test passes without
the previous SIGSEGV.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@gsdali
gsdali merged commit 38a746e into main Jul 19, 2026
@gsdali
gsdali deleted the fix/310-freebounds-owires-uninit branch July 19, 2026 04:22
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.

1 participant