От Ильича до Ильича
by sonnet 2006 이글루스 TOP 100 2007 이글루스 TOP 100 2008 이글루스 TOP 100 2009 이글루스 TOP 100 2010 이글루스 TOP 100 2011 이글루스 TOP 100
rss

skin by 이글루스
태그 : rails
2009/07/22   ruby mysql gem 문제 [6]
ruby mysql gem 문제

영향을 받는 시스템
MySQL 5.1.x + ruby(win32) 조합


증상:
Rails 2.x에서 데이터베이스에 접근하려고 하면,

ArgumentError (NULL pointer given):
(eval):3:in `each_hash'
(eval):3:in `all_hashes'
...

과 같은 증상을 일으키며, 종종 웹서버가 죽어버림.


원인:
ruby gem mysql-2.7.3-mswin32 와 MySQL 5.1.x의 client DLL인 libmySQL.dll 사이에 모종의 문제가 있음.


대책(workaround):
mySQL 5.1.x 대신 구 버전인 5.0.x에 포함된 libmySQL.dll을 구해다 ruby/bin에 복사해 넣음.


비고:
알고 보니 작년 이맘 때부터 같은 증상을 호소한 사람이 적지 않게 있던데, 얘네(gem관리자)는 왜 해결을 안 하는지 모르겠음. 내 경우엔 문제의 mysql-2.7.3 gem과 mySQL 5.1.31 DLL 조합으로 지난 3개월간 잘 쓰다가 갑자기 그제 오전부터 돌연사를 개시하는 통에, 이런 이유일 거라고는 생각도 못하고, 최근 수정한 데만 눈빠지게 들여다 보면서 이리저리 헤집느라 시간만 낭비했음. 죽으려면 차라리 처음부터 죽던가...
by sonnet | 2009/07/22 10:17 | 과학기술 | 트랙백 | 덧글(6)
<< 이전 다음 >>