어제 모 P2P 서비스를 사용하다가 우연찮게 버그를 찾았다. 찾아야 할 파일이 있어서 검색을 하고 있었다. 그러던 와중에 특정 검색어를 사용하니, 이상하게도 크기가 0으로 표시되는 파일이 상당히 많이 제시됐다. 처음에는 폴더가 검색됐나 싶었지만, 다시 확인해 봐도 파일이었다. 한 두개가 그렇다면 누군가 다운로드 받다가 실패한 흔적이라고 생각할 수도 있었다. 그러나 그 순간 나의 버그 탐지 본능이 ‘번뜩!’ 작동하기 시작했다. 0 바이트짜리 파일 하나를 골라서 클릭해보니 역시나 재밌는 일이 일어났다. 예상 완료시간이 음수로 표시되고, 다운로드가 시작됐다. 다운로드 받을 수 있는 포인트가 0 이었는데도 말이다.
이것은 32비트 정수로 파일크기를 주고 받기 때문일 것이다. 32비트 정수의 최대값은 2의 31승 정도이므로 바이트 단위로 환산했을 때, 약 2기가까지만 표현할 수 있다. 그러므로 3.5기가 정도의 파일을 제대로 처리할 수 없었던 것이다. 실제로 다운로드 받지 않은 파일의 크기가 2기가 이하로 내려갔을 때, 포인트가 없다며 다운로드가 중지됐다. 주기적으로 서버와 통신해서 포인트를 확인하기 때문에 그 정도에서 버그로 인한 피해를 막을 수 있었다.
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
KAISTIZEN님 블로그의 버그
달력의 날짜를 클릭하면 글이 없군요.
전에는 그렇게 해서 예전글을 봤었는데 ^^
혹시 그게 F사의 Fxxxxxxi 라는 서비스 아닌가요? -_-;;;
to sukwoo4: 버그 리포팅 감사합니다. 이번에 베타 테스트 중인 키워드(태그) 모듈을 설치하는 과정에서 실수가 있었네요. 문서가 약간 허접해서 저지른 실수라고 말하곤 싶지만, 제 잘못입니다. ㅠ.ㅠ
to 손님: 노코멘트입니다. 하하.