2011/01/20
OpenCV 2.2 라이브러리의 메모리 누수 문제 2
2011/01/19 - [Dev Story] - OpenCV 2.2 라이브러리의 메모리 누수 문제
바로 이전에 OpenCV 2.2 를 사용함에 있어 메모리 누수 문제가 발생한다는 글을 올렸었다. 이를 해결하려고 해봤지만 쉽지 않아 보였다.
메모리 누수 로그를 살펴 보면 그래픽 파일 라이브러리 때문인 것으로 보여진다. 실제로 로그 처음에 보이는 "JPEG-2000 Code S" 를 보고 JPEG-2000 관련 라이브러리(libjasper, WITH_JASPER) 를 포함하지 않고 빌드하여 보았더니 메모리 누수 패턴이 바뀌었다. JPEG-2000 관련 메시지를 찾을 수 없었고 "Portable Network" 부터 발생을 하였다. "Portable Network"로 유추해 보면 PNG 관련 라이브러리(libpng, WITH_PNG)일 것으로 보여지는데 로그를 모두 살펴 보니 3rd party library 중 이미지 관련라이브러리(libjasper, libjpeg, libpng, libtiff 등)과 관련이 있는 것 같은데 이 모든 이미지 라이브러리를 포함시키지 않는 것은 안될 것 같다.
이와 비슷한 경험을 하신 분의 경험담으로 Release 용 Library(.lib .dll) 파일을 사용하면 메모리 누수 문제가 발생하지 않는다 한다. 실제 테스트를 해 보니 Release 용 Library 사용시에는 문제가 발생하지 않았다.
바로 이전에 OpenCV 2.2 를 사용함에 있어 메모리 누수 문제가 발생한다는 글을 올렸었다. 이를 해결하려고 해봤지만 쉽지 않아 보였다.
메모리 누수 로그를 살펴 보면 그래픽 파일 라이브러리 때문인 것으로 보여진다. 실제로 로그 처음에 보이는 "JPEG-2000 Code S" 를 보고 JPEG-2000 관련 라이브러리(libjasper, WITH_JASPER) 를 포함하지 않고 빌드하여 보았더니 메모리 누수 패턴이 바뀌었다. JPEG-2000 관련 메시지를 찾을 수 없었고 "Portable Network" 부터 발생을 하였다. "Portable Network"로 유추해 보면 PNG 관련 라이브러리(libpng, WITH_PNG)일 것으로 보여지는데 로그를 모두 살펴 보니 3rd party library 중 이미지 관련라이브러리(libjasper, libjpeg, libpng, libtiff 등)과 관련이 있는 것 같은데 이 모든 이미지 라이브러리를 포함시키지 않는 것은 안될 것 같다.
이와 비슷한 경험을 하신 분의 경험담으로 Release 용 Library(.lib .dll) 파일을 사용하면 메모리 누수 문제가 발생하지 않는다 한다. 실제 테스트를 해 보니 Release 용 Library 사용시에는 문제가 발생하지 않았다.
Labels:
memory leak
,
OpenCV
,
OpenCV 2.2
,
TistoryOldPost
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment