-
맥북 Self-hosted GitHub Actions Runner 설정 후 오류 수습..🧨 | (모든 파일 손상/인식 불가, iCloud 동기화 이상 문제)Dev🚀 2025. 9. 16. 00:03
참고글:https://jungheeho.tistory.com/103
Alo 재입고 알림봇 개발_5(Self-hosted runner)
이전글:https://jungheeho.tistory.com/102 Alo 재입고 알림봇 개발_4(HTML fallback 보강)이전글:https://jungheeho.tistory.com/101 Alo 재입고 알림봇 개발_3이전글:https://jungheeho.tistory.com/100 Alo 재입고 알림봇 개발_2이전
jungheeho.tistory.com
맥북을 로컬 self-hosted runner로 돌리면서 20분마다 워크플로우가 실행되도록 설정했습니다. 처음에는 잘 돌아가는 듯했는데, 어느 순간 VS Code가 폴더 열기에서 멈추고,
- VS Code에서 폴더 선택 → 열기가 안 되고 바로 닫힘
- Finder에서 파일을 더블클릭하면 “손상되었거나 인식할 수 없는 포맷” 오류
- iCloud Drive는 모든 파일이 ‘업로드 대기 중’에서 멈춤
이라는 대참사가 발생했습니다 😂
이번 글에서는 원인 분석부터 복구까지 제가 실제로 한 과정을 기록해 두려고 합니다.
비슷한 상황에 부딪힌 분들께 도움이 되길 바랍니다.


🧩 원인 분석
- VS Code 캐시 손상 + GPU 가속 충돌
→ 창이 뜨자마자 꺼지며 폴더 열기가 불가능. - LaunchServices/Finder 캐시 꼬임
→ 파일 열기 전반이 실패하고 손상된 파일처럼 보임. - iCloud Drive 동기화 데몬(bird) 루프
→ CPU 90% 이상 점유, 업로드/다운로드가 모두 정지.
→ 로컬에 파일이 없으니 Preview에서 "손상" 메시지가 뜬 것. - First Aid 검사 결과
→ 디스크 자체 손상은 없음. 즉 OS/스토리지 문제는 아니었음.
🛠️ 복구 단계
1) VS Code 안전 모드 & 캐시 정리
# VS Code 완전 종료 osascript -e 'tell application "Visual Studio Code" to quit' 2>/dev/null killall "Visual Studio Code" 2>/dev/null || true killall "Code Helper" 2>/dev/null || true # 손상된 캐시 제거 rm -rf "$HOME/Library/Application Support/Code/Service Worker" \ "$HOME/Library/Application Support/Code/Cache" \ "$HOME/Library/Application Support/Code/Code Cache" \ "$HOME/Library/Application Support/Code/GPUCache" \ "$HOME/Library/Application Support/Code/User/workspaceStorage" # 확장/가속 끄고 실행 code -n --disable-extensions --disable-gpu --verbose2) LaunchServices DB 재빌드 + Finder 재시작
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister \ -kill -r -domain local -domain system -domain user killall Finder3) 디스크/파일시스템 검사 (First Aid)
- 디스크 유틸리티 → Macintosh HD 선택 → 검사/복구 실행
- 결과: “문제 없음 / 작업 성공” → 하드웨어/파일시스템 손상 아님 확인.
4) iCloud 동기화 프로세스 재시작
# iCloud 동기화 담당 프로세스 재시작 killall bird killall cloudd5) launchd & Runner 점검
# 자동 실행된 job 확인 launchctl list | grep -i -E 'code|runner|github|actions' # self-hosted runner 상태 확인 ps aux | grep Runner.Listener- 불필요한 자동 실행(launchd job) 제거
- Runner는 iCloud 폴더 밖 전용 경로(~/work)에서 실행 추천
- 워크플로우 주기를 무조건 짧게(20분) 잡는 건 피하는 게 좋음
✅ 교훈 & 재발 방지
- VS Code 캐시 꼬임은 캐시 디렉터리 삭제로 대부분 해결 가능.
- macOS에서 파일이 전부 “손상”처럼 보이면, iCloud 동기화 상태부터 확인할 것.
- bird 프로세스가 CPU를 장시간 90% 이상 잡아먹는다면 → 동기화 루프에 빠진 것.
- Runner는 가능하면 클라우드/서버 VM으로 이전하는 게 안정적.
# VS Code 캐시 초기화 osascript -e 'tell application "Visual Studio Code" to quit' 2>/dev/null killall "Visual Studio Code" 2>/dev/null || true killall "Code Helper" 2>/dev/null || true rm -rf "$HOME/Library/Application Support/Code/Service Worker" \ "$HOME/Library/Application Support/Code/Cache" \ "$HOME/Library/Application Support/Code/Code Cache" \ "$HOME/Library/Application Support/Code/GPUCache" \ "$HOME/Library/Application Support/Code/User/workspaceStorage" code -n --disable-extensions --disable-gpu --verbose # LaunchServices DB 재빌드 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister \ -kill -r -domain local -domain system -domain user killall Finder # iCloud 동기화 프로세스 재시작 killall bird killall cloudd
✍️ 마무리
이 경험으로 “로컬 맥북을 self-hosted runner로 돌리는 게 얼마나 리스크가 큰지” 뼈저리게 느꼈습니다..🥹
클라우드 VM이나 서버 환경을 runner로 쓰는 게 정신 건강에도, 생산성에도 훨씬 낫습니다..반응형'Dev🚀' 카테고리의 다른 글
NVIDIA RTX 50 시리즈 (5080·5090) 유저 필독: 2026년 PyTorch·CUDA·FlashAttention 최종 정리(Blackwell) (0) 2026.01.30 Alo 재입고 알림봇 개발_5(Self-hosted runner) (0) 2025.09.13 Alo 재입고 알림봇 개발_4(HTML fallback 보강) (0) 2025.09.13 Alo 재입고 알림봇 개발_3 (0) 2025.09.13 Alo 재입고 알림봇 개발_2 (0) 2025.09.13