Repository navigation
Checkout swift headers - #12
Merged
Merged
Conversation
…ly write CMakeConfig.h # Conflicts: # .github/actions/build-swift-project-macos/action.yml
harryzz
added a commit
to harryzz/Compute
that referenced
this pull request
Jun 30, 2026
…y — fix jcmosc#14 + #383 Headline win this session: two genuine, independent AttributeGraph defects found + fixed (both measurement/ASAN-proven, both faithful — no masks). Also captures accumulated wasm-port work (jcmosc#12 subgraph liveness, size-safe HashTable, compare double-offset, faithful subgraph storage refcount). jcmosc#14 IndirectNode immutable ctor left _mutable uninitialized -> is_mutable() lies on a recycled wasm page -> immutable node cast to MutableIndirectNode -> output_edges() OOB write (corrupts an adjacent global -> render_frame jcmosc#14 "unknown handle" crash). Fix: _mutable(false). #383 IAG::vector inline->heap realloc memcpy'd elements to the heap but left the T _inline_buffer[] MEMBER ARRAY intact -> the compiler auto-destructs it -> double ~cf_ptr -> double CFRelease -> subgraph-storage double-finalize -> abort (render_frame #383). Fix: memset the inline source to 0 after relocation (isolated ASAN repro in the superproject). Result: 2048 renders the live board to frame 6600+, 0 crashes; oag-baseline 15/15 on wasm. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BLSARQMqYkUyHmKk6bUSwr
harryzz
added a commit
to harryzz/Compute
that referenced
this pull request
Jul 15, 2026
…AF derefs IAGTupleWithBuffer: the @_silgen_name swiftcc-closure binding lowered to a 6-arg wasm import that disagreed with the real 4-arg C symbol (signature_mismatch trap the first time a complex view — List/Section — built its child tuple via PropertyList.merge; surfaced as the Settings/About crash). Route wasm32 through a new plain-C IAGTupleWithBufferC + a non-capturing @convention(c) thunk, mirroring IAGGraphInternAttributeTypeC. Non-wasm keeps the @_silgen_name fast path. Graph.cpp UAF guards (defensive, mirror the existing [jcmosc#12] liveness rule): - value_set_internal: on a recycled/dangling node the type-metadata mismatch path demangled the type name for its message, hitting the wasm demangler abort() that poisons the whole component. Make it non-fatal + skip + log pointers (no demangle). - propagate_dirty: guard the INITIAL node (range + contains_subgraph) like the output edges; and fix a hole in the [jcmosc#12] loop guard — it only continued for an in-range offset with a deleted subgraph, so a WILD offset (>= ptr_max_offset) fell through to an OOB deref. Skip wild offsets first, then the deleted-subgraph case. These reduce hard "cannot enter component instance" deaths but do NOT fix the root pervasive graph-memory corruption (multiple deref surfaces, wild pointers past the region). See .claude/memory/reference-openswiftui-immortal-fix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdiHfr6WfarqFgPMf9kKzm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.