블로그 방명록 사전 갤러리 게시판 인클봇 인클챗 웹 IRC 위즈 인클플
(동접: 0명/0명) [?]
 


33년 묵은 버그, 마침내 패치

yacc에 있었던 33년 묵은 스택 오버플로(stack overflow) 버그가 마침내 발견되어 패치되었습니다. 이 버그는 malloc()의 잘못된 동작 때문에 발생한 것이었습니다.

Lex와 Yacc 책 표지

OpenBSD 개발자 Otto Moerbeek는 yacc에 새로운 malloc() 구현을 적용하려고 시도하고 있었습니다. 그러던 중, Nikolay Sturm이 sparc64 플랫폼에서 거대한 C++ 프로젝트를 컴파일하는 도중에 오류가 발생하는 것을 확인했습니다.

이에 조사를 해본 결과, 1975년에 발표된 UNIX 6th Edition에서 문제의 코드가 발견되었다고 합니다.

yypv =- yyr2[n];
yyval=yypv[1];

이 버그는 sparc64 프로세서에서만 재현이 가능합니다. sparc64는 페이지 크기로 8kB를 사용하는데, yacc의 C++용 기본 스택 크기는 4800바이트(24*200)였기 때문에 문제가 발생하는 것이지요.

재밌는 것은, sparc64 프로세서는 1995년에 탄생했다는 점입니다. 즉, 버그 자체는 33살이지만, 이 버그가 실제로 문제를 일으킬 수 있었던 것은 13년밖에 되지 않았습니다. Y2K 버그와 비슷하게, 개발 시 생각을 못 한 부분이 나중에 밝혀진 경우지요.

어떤 버그가 이토록 오래 방치되는 이유는 무엇일까요? 대충 다음과 같은 이유가 있지 않을까요.

1. 아무도 사용하지 않는 기능이었다.
2. 유명하지 않은 프로그램이었다.
3. 다들 기능인 줄 알았다.

아무튼, 한 코더의 집념이 이루어낸 결과군요.

패치 안내문
새로운 malloc() 구현
자세한 버그 설명


Daum 블로거뉴스
에서 이 포스트를 추천해주세요. [추천]

Posted by 랜덤여신

2008/07/14 20:23 2008/07/14 20:23
, , , , , ,
Response
No Trackback , 7 Comments
RSS :
http://barosl.com/blog/rss/response/768

Trackback URL : http://barosl.com/blog/trackback/768

Comments List

  1. Draco 2008/07/14 20:45 # M/D Reply Permalink

    요즘 푸욱 묵은것들에 대한 뉴스를 소개하시는 군요. ^^

  2. 심플리스트 2008/07/14 23:14 # M/D Reply Permalink

    저는 이런 패치일 줄 알았어요.

    1. 어떤 Solo hardware 가 33년간 lone, histery, melancoly 등의 오류를 자주 일으켰다.

    2. 보다 못한 주변의 C.P. (couple) hardware 가 Solo hardware 에게 G.F. (girl Friend) 패치를 설치하기에 이른다.

    3. Solo hardware 는 무사히 패치되고.. 오작동은 모두 사라지고... 오래오래 행복하게 살았다는..(?)

    뭐 그런 낚시성 글일 줄 알았는데...



    암튼 뭔가 패치가 발견되고 수정되었다니 다행이네요.

    ㄱㅅ

    1. 랜덤여신 2008/07/15 22:17 # M/D Permalink

      오오. 이제 솔로 부대가 조심해야 할 목록에 '패치'도 추가되겠군요.

  3. Dangson 2008/07/15 01:53 # M/D Reply Permalink

    Geek의 세계군요. ㅎㅎ

  4. 너른호수 2008/07/15 08:51 # M/D Reply Permalink

    3. 다들 기능인 줄 알았다.

    가 가장 유력할듯,. 33년, 아니 13년된 버그는 기능으로 인식하고 있었겠죠~

  5. 맥퓨처 2008/07/15 15:08 # M/D Reply Permalink

    그 버그 입장에선 자신을 발견할 개발자를 만나기까지 33년이란 시간을 기다린 셈이군요.. :)

  6. Snooey 2008/07/18 16:24 # M/D Reply Permalink

    3. 다들 기능인 줄 알았다.

    오픈오피스에서 맑은 고딕을 사용할 때 윗간격이 더 벌어져보이는 버그를 정말 기능인 줄 알고있었죠.
    근데.,.. 이 버그는 지금 오픈오피스의 다른 기능과 제대로 맞물려있어서 해결되기까지 적지 않은 시일이 소요될 것 같으며... 심각한 경우 9월에 나올 새 버전인 3.0에도 수정되지 않은 채 나올 가능성이 있습니다...^^;

Leave a comment
« Previous : 1 : ... 124 : 125 : 126 : 127 : 128 : 129 : 130 : 131 : 132 : ... 804 : Next »

블로그 이미지

랜덤여신이 살아가는 이야기입니다. / 국내 점유율이 1%도 안 되는 리눅스 관련 글을 주로 씁니다. 관심 좀... ㅠㅠ / 컴퓨터쪽 이야기도 씁니다.

- 랜덤여신

Archives

Recent Posts

  1. 안드로이드 시장 점유율, 빠르게 상승 ... (2)
  2. OpenSSH 5.4 출시 - SSH1 비활성화
  3. 아이폰 개발자 프로그램, 약관 전문 폭로 (5)
  4. 스팀 및 밸브 게임, 맥 지원 시작
  5. 유비소프트, 인증 서버 다운으로 게임 ... (2)
  6. MS, 윈도 폰과 엑스박스 동시 지원 게...
  7. MS, IE6 장례식에 조화 보내 (2)
  8. 북한 리눅스 배포판 '붉은 별' (3)
  9. 우분투, 새 디자인 공개 - '빛' 테마 (7)
  10. 미국 토피카 시, '구글 시'로 이름 변경 (4)
  11. 애플, 아이폰 특허 침해로 HTC 고소 - ... (7)
  12. PS3 구형, 달력 버그로 게임 실행 불가능 (2)
  13. EU, 구글 스트리트 뷰에 사생활 침해 경고
  14. 2ch 공격이 무의미한 이유 (61)
  15. 동영상 포맷 화질 비교 - H.264, Ogg T... (7)
  16. 아이튠즈 스토어, 음악 다운로드 100억...
  17. 고 대디, 암호화 없이 비밀번호 저장하... (2)
  18. 페도라 쓴다고 말해! (7)
  19. 유튜브, 3월 13일에 IE6 지원 중단 (2)
  20. 애플, 앱 스토어에서 성인 앱 6000개 제거 (3)
  21. 구글 기어스, HTML5로 대체
  22. 모바일 리눅스에는 인라이튼먼트가 제격? (2)
  23. MS, 유럽 윈도에 '웹 브라우저 선택' ... (10)
  24. 파이어폭스 부가 기능 사이트 차단과 S... (13)
  25. SKT 주최 '안드로이드 개발자 컨퍼런스... (2)
  26. 구글, 위키미디어 재단에 200만 달러 기부 (5)
  27. 오픈 소스 모델은 정말 효율적인가? MS... (10)
  28. 노키아와 인텔, 모바일 플랫폼 '미고' ... (1)
  29. 아이작 아시모프의 '파운데이션', 3D ... (2)
  30. 아이폰용 오페라 미니 발표 - 앱 스토... (7)