Skip to content

fix(#349): kernel patch for PCDM_StorageDriver/PCDM_Reader reentrancy SIGSEGV (v1.15.9)#354

Merged
gsdali merged 1 commit into
mainfrom
fix/349-cdf-driver-reentrancy
Jul 22, 2026
Merged

fix(#349): kernel patch for PCDM_StorageDriver/PCDM_Reader reentrancy SIGSEGV (v1.15.9)#354
gsdali merged 1 commit into
mainfrom
fix/349-cdf-driver-reentrancy

Conversation

@gsdali

@gsdali gsdali commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

Test plan

  • TSan (minimal-module build): 136 race warnings + SIGSEGV on stock kernel → 0 races, clean exit, confirmed at both 8×25 and 10×200 stress configurations
  • Debug (-O0 -g) signal-handler reproducer (Scripts/repro/349-ocaf-driver-reentrancy/occt_349_barrier.cpp): reliable SIGSEGV on stock kernel, clean across repeated runs with the patch
  • swift test --filter OCAFSaveLoadBinaryTests / OCCTXCAFTests (339 tests) clean
  • 3× full swift test (4423 tests / 1282 suites) clean
  • Upstream OCCT PR #1394 CI green on all 3 platforms (Linux/macOS/Windows, build + GTest + regression tests)

🤖 Generated with Claude Code

… SIGSEGV (v1.15.9)

CDF_Application caches one storage/retrieval driver instance per format and
shares it across every Store()/Retrieve() call for that format, but the
driver's Write()/Read() mutate instance-level scratch state with no
synchronization — concurrent Save/SaveAs of the same format corrupts it
(SIGSEGV, confirmed by TSan: 136 races + crash on stock kernel, 0 after fix).

Fixes upstream via Open-Cascade-SAS/OCCT#1393 (repro) / #1394 (fix, CI green).
A separate, previously-masked race surfaced during validation
(CDM_Application::myMetaDataLookUpTable) is out of scope here, filed as #353.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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