Skip to content

fix(analysis): 프레임별 검출 실패로 인한 전체 분석 중단 방어#40

Merged
devpark435 merged 1 commit into
mainfrom
worktree-idempotent-crunching-beacon
Jul 8, 2026
Merged

fix(analysis): 프레임별 검출 실패로 인한 전체 분석 중단 방어#40
devpark435 merged 1 commit into
mainfrom
worktree-idempotent-crunching-beacon

Conversation

@devpark435

Copy link
Copy Markdown
Owner

Summary

테플 실기기 테스트 중 "분석 중 문제가 발생했어요" 리포트 발생(로딩화면 중간 실패). 크래시 리포팅 도구 미연동이라 정확한 예외 특정은 아직 불가능하지만, 구조적으로 확실히 틀린 지점 발견해 방어 조치:

  • AnalysisPipeline.run()의 프레임별 YOLO 검출 루프(frames.map((f) => ballDetector.detect(f)).toList())에 프레임 단위 예외처리가 전혀 없었음 — 150프레임 중 단 1개라도 검출에서 예외 던지면 전체 분석이 그 자리에서 죽음
  • 근데 이 시스템은 애초에 검출 실패(null)를 감내하게 설계돼있음 — release detector/FSM/speed estimator 전부 null 검출 스킵 처리 이미 함
  • 프레임 단위 실패를 null로 격하시켜 나머지 파이프라인이 계속 진행되게 수정. 진단용 debugPrint(프레임 인덱스+예외)는 추후 Xcode 콘솔 연결 시 원인 특정용

한계

코드 리딩 기반 진단이지 실제 크래시 재현은 아님 — 만약 실패 원인이 프레임별 detect() 예외가 아니라면 이걸로 안 잡힐 수 있음. 다음 테스트 때 폰 USB 연결해서 Xcode 디바이스 콘솔 로그 확인하면 원인 확정 가능.

Test plan

  • flutter test test/features/analysis/ test/golden_reference/ — 58/58 통과
  • flutter analyze — 0 errors
  • 실기기 재QA

테플 실기기 테스트에서 "분석 중 문제가 발생했어요" 실패 리포트 발생, 크래시
리포팅 도구 미연동으로 정확한 원인 특정 불가한 상태에서 구조적 방어 조치.
프레임 단위 검출 실패를 null로 격하시켜 나머지 파이프라인(release/impact/
speed estimator 전부 null 검출 이미 처리 가능)이 계속 진행되게 함. 진단용
debugPrint(프레임 인덱스+예외)는 향후 Xcode 콘솔 연결 시 원인 특정에 사용.
@devpark435 devpark435 merged commit 3f6b716 into main Jul 8, 2026
1 check passed
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