Fleet changelogs · dev.ecs0.net
rdmbair15m5-changelog-20260823-0102-rddb-deadlock-oslog-and-passwordscope-cert

rdmbair15m5-changelog-20260823-0102-rddb-deadlock-oslog-and-passwordscope-cert

Remediated critical re-entrancy deadlock and uninstrumented logging in rdDB with unified OSLog logging; built universal DiagnosticReports CI crash gate; resolved PasswordScope vector PDF rendering and type checks with 100% green verification on canonical host rdmsm4x.

Scope

Changes & Remediations

  1. rdDB Structural Deadlock Fix & Concurrency:
    • Resolved re-entrant dispatch_sync self-deadlock in RDDatabase.getStats() where getDuplicates() previously attempted to re-acquire the serial queue.
    • Refactored getDuplicatesInternal() and getFilesForHashInternal() to operate cleanly under lock boundaries.
  2. Unified OSLog (RDDBLog) Instrumentation:
    • Implemented RDDBLog enum in Sources/RDDBCore/Logging.swift under subsystem com.eastcoastscience.rdDB with categories: index, hash, dedup, classify, db, daemon, ocr, connector.
    • Replaced all raw uninstrumented print() calls in Database.swift, FinderTagging.swift, DaemonService.swift, FileIndexer.swift, DedupEngine.swift, and ClassifierEngine.swift.
  3. Universal Crash-Gate Test Harness:
    • Implemented scripts/test_with_crash_gate.zsh with MallocScribble=1 and MallocGuardEdges=1.
    • Automatic pre/post snapshot of ~/Library/Logs/DiagnosticReports/ failing the CI run if any .ips crash logs appear.
    • Robust cleanup traps ensuring zero leaked/orphaned xctest or swiftpm-testing-helper processes.
  4. PasswordScope Verification & Hardening:
    • Fixed PDFReportGenerator.swift by attaching NSGraphicsContext to CoreGraphics vector PDF context.
    • Corrected model enum case references (.applePasswordsCSV, .onePassword1PUX, .fidoCXF).
    • Verified 109/109 tests passing green on rdmsm4x:~/dev/agy/passwordscope.

Verification Evidence