|
최근 웹마의 잦은 비정상 종료에 대한 공지입니다.
웹마가 다음(daum) 사이트에서 종종 비정상 종료되는 문제가 보고되었습니다. 아마도 작년 말 부터 였던것 같습니다. 물론 저도 그런경우를 종종 겪었었지만, 올해 초 부터 리채라는 가계부 개발과 개인적으로 월4-5권의 독서에 매진하느라 문제를 정확히 파악하려는 시도를 하지 않았습니다. 그러나 최근 웹마 업데이트를 계획하면서 이 문제를 확실히 매듭지어야 겠다는 생각에 몇 주간 이 버그의 파악과 문제해결에 신경을 많이 썼습니다.
제가 몇 주간 테스트 해보니 제가 작성한 코드에서 엑세스 에러가 발생하는 것이 아니었습니다. 이해할 수 도 없는 오류였고, 전혀 오류가 날 수가 없는 곳에서 오류를 일으키고 있었습니다. 처음엔 MFC라는 개발 프레임웍의 버그가 아닐까 짐작만 하다가, 가장 무식한 방법인 코드 제거 기법도 사용했었습니다. 다시 말해서 의심이 되는 기능추가나 변경을 하나씩 제거해 가면서 테스트 하는 것입니다. 웹마의 업데이트중에 뭔가가 버그를 일으킬거라고 생각을 했기 때문이죠. 그러다가 문뜩 이런 생각이 들었습니다. 오류가 생긴 시점이 daum의 메일을 확인한 후인것 같다라는 막연한 추측이었죠. 여러가지 정황증거가 있었습니다. 일단 게시판에 보니 다음 사이트에서 종료가 잦다는 보고도 있었으니깐요. ( http://www.mdiwebma.com/webma/?doc=bbs/gnuboard.php&bo_table=tip&page=2&wr_id=336 )
결론을 말씀드리면, 다음의 엑티브엑스의 문제였습니다. 다음의 정책이 왜 이렇게 바뀌었는지는 모르겠으나 언제 부터인가 "다음 엑티브엑스 메니저"라는 하나의 액티브 엑스가 설치되면 이 놈이 daum 사이트에서 필요로 하는 " 메일 첨부 ActiveX"같은 다른 필요한 모듈을 다운받아서 설치하고 업데이트하는 것 같습니다. 문제는 이 액티브엑스가 페이지 내부에서 리소스를 생성시키고 나서, 페이지가 전환되거나 닫힐때 그 리소스를 제대로 해제하지 않고 있었다는 것입니다. 그 리소스(정학히는 설치 진행 다이얼로그)가 웹마의 다운을 일으키는 원인으로 파악되었습니다. 확신을 얻기 위해서 맥쏜1 버전으로 여러번 테스트해 보았는데 역시나 비정상 종료됨을 확인했습니다. jwBrowser에서는 확실하게 비정상종료를 유도할 수 있을 정도였습니다. 위 주소의 게시물의 해결책은 테스트 결과 제대로 동작하지 않았습니다. 확장 모듈을 사용안함으로 하는 것은 IE에서만 효과가 있지 웹마에서는 이렇게 해도 모듈을 실행하기 때문입니다. 확실한건 Activex필터로 차단하는 수 밖에 없었습니다.
증상은 이렇습니다.
웹마가 daum의 메일 쓰기나 읽기 페이지를 방문하고 나면 "Daum Activex Manager"라는 Activex를 실행되는데 그 이후에 불규칙적으로 비정상종료됩니다. 아마도 까페나 블로그같은 곳에서도 실행될 가능성이 높습니다. 확인은 못해봤습니다. 제가 겪었던 증상은 웹 페이지에서 아무것도 안 해도 종료됩니다. 가끔 다른 프로그램으로 전환하기 위해서 태스크바를 클릭할 경우도 종료되었으며, 탭전환이나 심지어 다른 페이지로 이동하기위해 링크 클릭시 종료되기도 했습니다.
해결책은 해당 ActiveX를 사용하지 않는 것입니다. 조금 귀찮기는 하지만 첨부하는 reg파일은 다운로드 받아서 실행하거나 도구-ActiveX필터로 B9B38E70-EEF6-4E3A-AE84-DDE59A053B7C 를 추가한 후에 체크한후 적용하여 웹마가 해당 Activex를 사용하지 않도록 하는 것입니다. 사용하지 않도록 할 경우에 IE에서도 사용할 수 없습니다.
첨부파일
kill_daum_manager.reg : 이 파일을 실행해서 레지스트리에 추가하면 해당 Activex를 사용하지 않도록 됩니다. 하지만 이렇게되면 다음 첨부메일 Activex나 다른 필요한 프로그램이 설치되지 않을 수 있습니다.
restore_daum_manager.reg : Activex를 실행가능하도록 하는 복구하는 레지스트리 파일입니다. 이 파일을 추가하면 실행가능해 집니다. 필요한 모듈을 설치하고자 한다면 이 파일을 레지스트리에 추가하여야 합니다.
레지스트리 변경후에는 웹마를 다시 시작하여야 합니다.
개인적으로 이 문제를 파악만 하는데도 웹마 코드의 상당부분을 변경하고, 제거하느라 시간낭비를 많이 했습니다. 작년 말 부터 있던 증상이었는데 저의 게으름으로 인해 문제해결이 너무 늦어진것 같아 죄송스럽습니다.
Download #1 : kill_daum_manager.reg (398 Byte), Hit : 2,377 Download #2 : restore_daum_manager.reg (372 Byte), Hit : 1,338 Download #3 : kill_daum_manager.reg (398 Byte), Hit : 1,127 Download #4 : restore_daum_manager.reg (372 Byte), Hit : 753 Download #5 : kill_daum_manager.reg (398 Byte), Hit : 1,141 Download #6 : restore_daum_manager.reg (372 Byte), Hit : 848
|