Repository navigation
Conversation
The publisher's session drops its ref to a cross-exec subgroup filter on its own io thread right after endOfSubgroup(). When the relay runs the queued endOfSubgroup first, that drop destroys the filter on the io thread, and ~SubgroupWriteback unpins its group and pushes onto the cache LRU while the relay thread edits the same list. The corrupted list later crashes in pinGroup and evictGroup. The destructor now posts the release of downstream_ and keepAlive_ to targetExec_, as FetchCrossExecFilter already does. Fixes: #787 Fixes: #789 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthrough
ChangesSubgroup lifetime
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The change addresses the reported subgroup teardown crash, and no concrete remaining issue is established. Normal validation remains appropriate before merging. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change improves cleanup isolation and preserves the subgroup’s parent during release. No new external access or privilege is identified. The remaining uncertainty is whether deferred cleanup always finishes before its executor is destroyed. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
The publisher's session drops its ref to a cross-exec subgroup filter on its own io thread right after endOfSubgroup(). When the relay runs the queued endOfSubgroup first, that drop destroys the filter on the io thread, and ~SubgroupWriteback unpins its group and pushes onto the cache LRU while the relay thread edits the same list. The corrupted list later crashes in pinGroup and evictGroup.
The destructor now posts the release of downstream_ and keepAlive_ to targetExec_, as FetchCrossExecFilter already does.
Fixes: #787
Fixes: #789
This change is
Summary by CodeRabbit