development
황당버그 - 튜브 때문에 다운되다
주먹불끈
2023. 6. 4. 14:09
개요
한 번쯤 들어보았던 황당한 버그들 모음이 있어 시간 날 때마다 하나씩 정리해본다
- 전체 링크: https://beza1e1.tuxen.de/lore/
- 원문 링크: Down by Tubes https://beza1e1.tuxen.de/lore/tubes.html
내용
영화관 티켓 판매 및 관리 시스템. DOS 버전으로 북미에서 잘 나가가고 있었는데, Windows 95 버전을 출시하였다.
어느날 아침, “The Cleaner”라 불리는, 하지만 사실상 온갖 잡일 다 해주는 개발자인 제임스에게 매니저가 급하게 캐나다 노바스코샤 아나폴리스(대략, 캐나다의 동쪽 끝)로 출장을 가야 한다고 말한다. 시스템을 켜면 몇 분 잘 동작하다가 다운되어 버린다는 것.
디버깅
아나 폴리스 극장에 가서 서버를 점검해보니 아무 이상없이 잘 동작함. 그러다가 10분 지나니 또 문제가 발생한다. 다시 서버 재부팅하면 한동안 정상동작! 또 한 번 문제가 발생했을 때에 제임스가 모니터에서 발견한 것은 파이프 스크린 세이버였다.
원인과 해법
파이프 스크린 세이버는 OpenGL을 사용하는데 이게 활성화되면 서버 CPU 자원을 100% 사용해버린다. 따라서 CPU자원을 사용하려는 다른 프로세스는 요청에 응답을 받지 못해서 타임아웃이 걸리고 만다.
제임스는 스크린세이버를 텅 빈 화면으로 바꾸었다. 제임스는 스크린세이버를 바꿔주려고 500마일(대략 804km)를 날아온 것이다.
반응형