Python에서 같은 Exception의 traceback 이 다르게 출력되는 문제 ...
글쓴이: 그네고치기 / 작성시간: 화, 2009/05/19 - 11:28오전
안녕하세요. 동일한 버전의 파이썬에서 동일한 익셉션의 트레이스백이 서로 다르게 출력되는 황당한 문제를 겪고 있습니다. 도움을 청합니다.
머신 1 에서는 다음과 같은 익셉션이 발생합니다.
Traceback (most recent call last): File "/usr/lib/python2.5/doctest.py", line 1228, in __run compileflags, 1) in test.globs File "<doctest article_manager.txt[11]>", line 1, in <module> server.article_manager.write_article(session_key_sysop, u'garbages', article) File "/home/combacsa/arara/arara/trunk/arara/util.py", line 109, in wrapper return function(self, session_key, *args) File "/home/combacsa/arara/arara/trunk/arara/util.py", line 50, in wrapper ret = function(self, session_key, *args, **kwargs) File "/home/combacsa/arara/arara/trunk/arara/article_manager.py", line 658, in write_article raise InvalidOperation('READ_ONLY_BOARD') InvalidOperation
한편 머신 2 에서는 다음과 같은 익셉션이 발생합니다. (한 줄 차이입니다)
Traceback (most recent call last): File "/usr/lib/python2.5/doctest.py", line 1228, in __run compileflags, 1) in test.globs File "<doctest article_manager.txt[11]>", line 1, in <module> server.article_manager.write_article(session_key_sysop, u'garbages', article) File "/home/combacsa/arara/arara/trunk/arara/util.py", line 109, in wrapper return function(self, session_key, *args) File "/home/combacsa/arara/arara/trunk/arara/util.py", line 50, in wrapper ret = function(self, session_key, *args, **kwargs) File "/home/combacsa/arara/arara/trunk/arara/article_manager.py", line 658, in write_article raise InvalidOperation('READ_ONLY_BOARD') InvalidOperation: InvalidOperation(why='READ_ONLY_BOARD')
머신 1은 Ubuntu 배포판, 기본 패키지 Python 2.5.2 를 쓰고 있고,
머신 2는 Debian 배포판, 기본 패키지 Python 2.5.2 를 쓰고 있습니다.
InvaildOperation 은 User-defined Exception이고, 음 ... Thrift 를 써서 정의한 녀석입니다.
doctest 에서 일부러 발생시키는 익셉션의 출력 양식이 달라서 애를 먹고 있는데요 (즉 한 머신에서는 테스트가 깔끔하게 통과하고, 다른 머신에서는 ... ... gg 죠), doctest 모듈 설명을 보니 "IGNORE_EXCEPTION_DETAIL" 이라는 플래그를 설정하면 잘 될지도 모른다는 말이 있기에 #doctest: +IGNORE_EXCEPTION_DETAIL 이라는 말을 익셉션 발생시키는 해당 라인에다가 열심히 추가해봤지만 달라지는 게 없습니다.
대체 왜 이런 문제가 생기는 걸까요? ㅠㅠ
무엇을 어디부터 의심하면 좋을지 정말 모르겠습니다.
Forums:
댓글 달기