Skip to content

test(iOS): diagnose #244 production-seam timeouts - #248

Draft
limeimetw wants to merge 1 commit into
masterfrom
fix/244-ios-production-seam-reliability
Draft

limeimetw wants to merge 1 commit into
masterfrom
fix/244-ios-production-seam-reliability

Conversation

@limeimetw

@limeimetw limeimetw commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Scope

First diagnostic slice for #244. This keeps the production cold/hot learning contract unchanged and makes the two production-seam test failures identify their last completed phase.

Changes

  • add a thread-safe test trace for bootstrap, learning submission, finish enqueue, completion callback, and database inspection
  • use XCTWaiter so timeout failures include the phase trace and stop before misleading downstream database assertions
  • record the exact local reproduction evidence in docs/#244_ISSUE.md

Evidence

  • Historical controlled RED: Xcode Cloud run 52 timed out at 10 seconds across multiple destinations
  • Exact origin/master 8724ffb97d8eb8f85b9c688b3328dd00cb675905: 19 relaunch iterations completed with both tests passing, then Xcode failed to launch the cloned simulator test host before iteration 20
  • This branch: both tests passed 20 of 20 repetitions in one iOS 26.5 simulator test process using Xcode 26.6
  • Exact diagnostic test file: full DBServerTest passed 101 of 101 tests on the same simulator
  • Linux issue-209 production-seam source contract: 10 of 10 tests passed
  • Independent architecture-aware review: APPROVE with no blockers
  • git diff --check: pass

Current status

This draft does not claim the historical Xcode Cloud root cause is fixed. The local run did not reproduce that timeout. The diagnostic slice is intended to distinguish queue non-execution from bootstrap or inspection delay on the next failing Cloud run.

Production code, queue QoS, assertions, and the 60-second deadlock guard are unchanged. Issue #242, PR #243, and the unrelated pinyin.zip fixture defect remain out of scope.

Refs #244

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