Skip to content

diagnostic: parity probe for the macOS shard 1 wedge (not for merge) - #4839

Closed
lidge-jun wants to merge 2 commits into
devfrom
codex/2580-macos-shard-parity-probe
Closed

lidge-jun wants to merge 2 commits into
devfrom
codex/2580-macos-shard-parity-probe

Conversation

@lidge-jun

Copy link
Copy Markdown
Owner

Summary

Diagnostic probe. Not for merge; will be closed once it has answered its question.

PR #4837 makes macos 1/2 wedge: it completes 149 of ~663 test files and then emits nothing for 17 minutes until the 20-minute job wall cancels it. This branch is current dev plus a single test file at the same sorted position as that PR's new file, containing one trivial assertion.

Bun assigns --shard round-robin over the sorted file list, so adding any one file before tests/codex-integration/ flips the shard of every file after it. If macos 1/2 wedges here too, the cause is the shard reshuffle exposing a pre-existing order-dependent hang, not the content of the new test.

Verification

No local suite, typecheck, or build was run. The hosted macos 1/2 job on this head is the entire experiment.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 52 / 80

이 PR은 머지용이 아닙니다. 제목과 본문이 말하는 대로, #4837에서 보이는 macos 1/2 쐐기(약 149/663 파일까지 돌다가 십수 분 침묵 후 20분 wall에 끊김)가 “새 테스트 내용 때문인지, 아니면 파일 하나만 끼워 넣어서 생긴 샤드 재배치 때문인지”를 가르기 위한 진단 프로브입니다. 지금 dev HEAD 6ed8986c64afb2e37b1055e1afeb7e12d32ca8e4 위에, #4837이 넣는 새 파일과 같은 정렬 위치에 이름만 같은 tests/ci-workflows/ci-crash-disposition.test.ts를 두고, 내용은 expect(1).toBe(1) 한 줄짜리입니다. layout.json과 tests/fixtures/test-layout-expected.json에도 같은 키를 ci-workflows로 한 줄씩 넣었습니다.

Bun의 --shard는 정렬된 테스트 파일 목록을 라운드로빈으로 나눕니다. 그래서 tests/codex-integration/ 앞에 파일이 하나라도 생기면, 그 뒤 파일들의 샤드 번호가 전부 한 칸씩 밀립니다. #4837이 진짜로 새 테스트 로직 때문에 멈추는 거라면, 내용이 없는 이 프로브에서는 macos 1/2가 통과해야 합니다. 반대로 이 프로브에서도 같은 쐐기가 나면, 원인은 새 assert가 아니라 샤드 재배치가 드러낸 기존 순서 의존 hang 쪽이 됩니다. 실험 설계 자체는 깔끔하고, draft + “not for merge” 표시도 맞습니다.

현재 dev 방향은 #4835로 Worker teardown·Windows restore-busy 계열을 다시 켜고, #4834로 스폰 예산을 되돌린 뒤, #4837로 CI가 타임아웃/Bun 크래시를 재시도로 초록 위장하지 않게 만드는 중입니다. 이 프로브는 그 #4837 디버깅을 돕는 일회성 도구라서, 제품 우선순위 점수는 낮게 잡았습니다. 머지 큐에 올리면 안 되고, 답이 나오는 즉시 닫는 게 맞습니다. 레이아웃 fixture까지 손댄 건 레이아웃 게이트가 새 파일을 거부하지 않게 하려는 최소 조치로 보입니다.

라인 - 프로브 파일이 #4837과 같은 경로·같은 정렬 키를 쓰므로, 둘을 동시에 열린 채로 오래 두면 리뷰어가 “어느 쪽이 진짜 패치인지” 헷갈릴 수 있습니다

tests/ci-workflows/ci-crash-disposition.test.ts - 주석에 목적이 잘 적혀 있고, assert는 의도적으로 무의미합니다. 머지하면 안 됩니다

scripts/test-layout/layout.json / tests/fixtures/test-layout-expected.json - 진단용 한 줄 추가는 실험에 필요해 보입니다. 실험 끝나면 브랜치와 함께 버려야 합니다

draft PR - 호스티드 macos 1/2 결과가 나오기 전에는 결론을 단정할 수 없습니다. 지금 체크롤업은 리눅스 테스트 일부가 아직 진행 중이었습니다

메인테이너의 판단이 필요한 지점

  • macos 1/2가 여기서도 쐐이면 #4837을 “내용 버그”가 아니라 “샤드 재배치/순서 hang” 가설로 재작성할지
  • 프로브가 통과하면 #4837의 새 테스트·워크플로 변경 쪽으로 원인을 좁힐지
  • 답이 나온 뒤 이 PR을 닫을 때, 결론 한 줄을 #4837 댓글로 남길지 (추천: 남기기)

너의 추천
머지하지 마세요. draft로 두고 호스티드 macos 1/2만 보세요. 쐐이면 샤드 재배치 hang 가설을 #4837에 반영하고, 통과하면 #4837 쪽 변경을 의심하세요. 어느 쪽이든 답이 나오는 즉시 이 PR은 close(완료/실험 종료) 하세요. types/config 분할 무효 대상도 아닙니다.

이 댓글은 grok-bot이 작성했습니다

@lidge-jun

Copy link
Copy Markdown
Owner Author

Diagnostic probe complete. Result recorded in the forensics table on #4837; closing.

@lidge-jun lidge-jun closed this Sep 16, 2026
@lidge-jun
lidge-jun deleted the codex/2580-macos-shard-parity-probe branch September 16, 2026 22:34
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