fix(analysis): 프레임별 검출 실패로 인한 전체 분석 중단 방어#40
Merged
Conversation
테플 실기기 테스트에서 "분석 중 문제가 발생했어요" 실패 리포트 발생, 크래시 리포팅 도구 미연동으로 정확한 원인 특정 불가한 상태에서 구조적 방어 조치. 프레임 단위 검출 실패를 null로 격하시켜 나머지 파이프라인(release/impact/ speed estimator 전부 null 검출 이미 처리 가능)이 계속 진행되게 함. 진단용 debugPrint(프레임 인덱스+예외)는 향후 Xcode 콘솔 연결 시 원인 특정에 사용.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
테플 실기기 테스트 중 "분석 중 문제가 발생했어요" 리포트 발생(로딩화면 중간 실패). 크래시 리포팅 도구 미연동이라 정확한 예외 특정은 아직 불가능하지만, 구조적으로 확실히 틀린 지점 발견해 방어 조치:
AnalysisPipeline.run()의 프레임별 YOLO 검출 루프(frames.map((f) => ballDetector.detect(f)).toList())에 프레임 단위 예외처리가 전혀 없었음 — 150프레임 중 단 1개라도 검출에서 예외 던지면 전체 분석이 그 자리에서 죽음한계
코드 리딩 기반 진단이지 실제 크래시 재현은 아님 — 만약 실패 원인이 프레임별 detect() 예외가 아니라면 이걸로 안 잡힐 수 있음. 다음 테스트 때 폰 USB 연결해서 Xcode 디바이스 콘솔 로그 확인하면 원인 확정 가능.
Test plan
flutter test test/features/analysis/ test/golden_reference/— 58/58 통과flutter analyze— 0 errors