E,AHRSS

리그베다 위키 오류 제목 속출 사건

최종 변경일자: 2015-01-12 14:17:52 Contributors

목차

1. 개요
2. 사건 경과
3. 원인
4. 기타
5. 패치
6. 아직 완전히 고쳐지지 않았다.


1. 개요

2014년 2월 26일 23만고지를 눈앞에 둔 상황에서 일어난 사건.

22만 9900개를 넘기고 23만 고지를 앞두고 있던 2014년 2월 26일 밤 %a가 붙은 버그성 항목에 대한 개별 삭제 처리가 시작되었다. 해당 현상은 이전에도 간간히 발생하고 있던 것으로, 버그의 내용은 베다 위키에 있는 서로 다른 두 문서의 제목이 %a로 이어진 문서가 빈 내용으로 생긴 것. [1]

이 상황이 처음 발견되었을 때는 별로 많지 않다고 생각해서 27일에 23만 고지가 달성될 것으로 생각되었으나, 27일 아침 기준으로 그런 버그성 항목이 최소 4천개는 넘는 것으로 드러났다. 그 때문에 사상 초유의 역고지달성 저지달성 고지추락 사태가 벌어질 위기에 놓이게 되었다.

2. 사건 경과

enter의 퍼센트 인코딩이 %0A인 것과 연관이 있는 것으로 추정되고 있으며, 2014년 2월 27일에는 추가로 �(U+FFFD, replacement character)가 제목에 들어가는 버그성 항목이 발견되었다.

이후 유저들이 손수 지우면 해결될 것으로 여겨 2월 26일 밤부터 27일 오후 6시 즈음까지 최근 변경 내역에 삭제된 오류 항목들이 가득 채우고 있었으나, 곧 지워져도 자동으로 다시 생성되고 있는 경우가 발견되어 위키 메커니즘 자체에 문제가 있는 것으로 판명되어 관리자가 개별삭제를 중단시켰다. 중단 시점에서 거의 23만 달성 직전이었던 문서 갯수가 229260 정도까지 감소했으며, 이후 위키니트들의 항목 생성이 계속되어 문서 수가 다시 늘어나고 있다.

관리자에 의해 버그성 문서 삭제 및 시스템 일괄 정리가 있을 예정이라고 하니, 이후 고지달성 항목에 변동점이 생길 것으로 보인다. 2014년 4월 4일에서야 패치가 적용 되었다.

3. 원인

2014년 2월 28일, 모니위키의 개발자 wkpark가 이 사태의 원인을 이렇게 설명했다.

PageIndexer의 버그입니다.
1. 페이지 이름에 "\n" 문자 (%0a)가 들어가는 경우 PageIndexer가 오류를 일으킵니다.
2. 또한 페이지이름에 "\n" 문자가 들어있는 경우는 페이지 검색에 오류가 발생합니다.
3. 페이지 검색에 오류가 발생하면서 이상한 페이지 이름(잘린 페이지 이름)을 검색 결과로 종종 알려줍니다.
4. 이 잘못된 문서를 있어야할 문서로 착각하고 종종 페이지를 생성하는 것으로 생각됩니다.
5. 존재하지 않는 문서를 지우려고 하면 로그에 기록이 남는 버그가 있습니다. 실제로 문서는 존재하지도 않고, 지워지지도 않았으나 로그에 남아서 마치 지워진 것처럼 보이는 현상입니다.

일단 임시방편으로 data/cache/pageindex/ 디렉토리를 지워주면 페이지 인덱서는 재생성되고 일부 오류는 바로잡힐 것입니다.

4. 기타

  1. 이런 버그이기 때문에 실제로 수천페이지가 "%0a" 문자가 포함되어있다고 잘못 검색 결과를 보여주지만 실제로는 그렇지 않다.
  2. PageIndexer는 문서 개수를 엉터리로 보고하고 있는 것일 수 있다.

5. 패치


  1. 패치를 적용한다.
  2. data/cache/pageindex/ 디렉토리를 통채로 지운다. (=> RecentChanges 문서를 브라우저에서 보면 재 갱신됨)
  3. "%0a" 문자가 "%1a" 문자로 대신 보이게 된다. (주소창에) \n 문자 대신에 ^Z 문자로 대치시키는 것. 실제로 ^Z는 안보임.

6. 아직 완전히 고쳐지지 않았다.

2014년 9월부터 2015년 1월까지 관측한 결과 일반적인 위키 운영을 한다면, %0A 항목이 새로 생기는 일은 없었다.(4786개로 고정) 2015년 1월 12일 기준으로, 여전히 4748개의 오류 항목이 뜨는 것으로 나오며, 이를 수동삭제하는 경우에는 예전과 마찬가지로 %0A 항목이 생기게 된다.
----