핵심 요약
- 데비안 LoongArch 포팅 중 수학 소프트웨어 빌드가 원인 불명의 무한 루프에 빠지는 현상이 발생했습니다.
- 반년 만에 AI를 활용해 최소 재현 코드를 만들어 분석한 결과, 룽손 CPU의 원자적 덧셈 명령어가 간헐적으로 원자성을 잃는 하드웨어 결함임이 확인되었습니다.
- 제조사인 룽손 측에 제보한 지 2주 만에 성능 저하 없는 펌웨어 패치가 개발되어 10월 정식 배포를 앞두고 있습니다.
요약 데비안(Debian) 배포판을 중국의 자체 개발 아키텍처인 룽아치(LoongArch) 서버로 포팅하던 개발팀이 기묘한 무한 루프 버그를 추적하다가 CPU 자체의 하드웨어 결함(에라타)을 찾아낸 일화입니다.
2026년 2월, LoongArch 환경에서 데비안 13을 빌드하던 유지 관리자 왕먀오(Wang Miao)는 수학 연산 패키지인 'normaliz'를 빌드 및 패키징하던 도중 자체 테스트가 무한 루프에 빠져 타임아웃되는 현상을 겪었습니다. OpenMP를 활용해 병렬 처리를 수행하면서 데이터를 처리할 때마다 공유 카운터를 증가시키는 단순한 구조였는데, 처리 완료 조건인 전체 개수와 카운터 숫자가 끝내 일치하지 않아 루프를 빠져나오지 못하는 문제가 발생했습니다.
초기에는 코드 규모가 방대하고 복잡해 최소 재현 예제(MRE)를 만들지 못해 조사가 보류되었으나, 반년 뒤인 8월에 AI 도구의 보조를 받아 이틀 만에 안정적인 최소 재현 코드를 만드는 데 성공했습니다. 분석 결과, 메모리 순서 문제나 컴파일러의 문제가 아니라 CPU가 원자적 덧셈 명령(`amadd.d`)을 수행할 때 간헐적으로 원자성(atomicity)을 보장하지 못해 연산 누락(Lost Update)이 발생하는 하드웨어 버그임이 밝혀졌습니다.
이 사실을 접한 룽손(Loongson) 측은 불과 2주 만에 성능 저하가 거의 없는 펌웨어 패치를 개발해 테스트용으로 제공했으며, 해당 버그가 완벽히 수정된 것을 확인했습니다. 정식 수정 펌웨어는 10월 1일 국경절 이전에 정식 배포될 예정입니다. 소프트웨어 디버깅으로 시작해 CPU 하드웨어의 미세 결함을 밝혀낸 흥미로운 기술 디버깅 사례입니다.
Sponsored · 광고