Python 2.3 이상 치명적인 gc/weakref 버그 발견

Python 2.3에 weakref와 gc에 관련된 치명적인 버그가 발견되어 방금 고쳐졌습니다. 발생하는 경우는 이렇게 그냥 간단한 코드에서도 볼 수 있습니다.

I -> I.wr -> I.acallback -(strong ref) -> I 이런 식으로 J와 II사이에 사이클릭 레퍼런스가 일어나는 데 중간에 몇개가 weakref로 되어있지만, 파이썬 2.3에서 완전히 도입된 new style class의 gc에서 weakref를 전혀 처리를 하지 않고 있어서 죽어버린다는군요.

[FreshPorts]lang/python 포트에는 이 패치를 넣기 위해서 portmgr에게 허락을 요청해 놓았습니다. (어제부터 프리즈 -.-;;) 그리고, [WWW]Tim Peters는 메일에서 올해 안에 2.3.3 릴리즈를 하자고 하고 있네요. 파이썬 개발자들은 세그폴트 정도는 신경 안 쓰는 줄 알았더니 -ㅁ-;;;

7 thoughts on “Python 2.3 이상 치명적인 gc/weakref 버그 발견”

  1. 첨에 저 미투 쓸때는 등비급수라는 말까지 썼다가 지웠는데… 편견이라는 측면도 있군요~.~ 역시 삽질도 몸통을 쳐야!!

Leave a Comment