Showing posts with label memory leak. Show all posts
Showing posts with label memory leak. Show all posts

2016/10/09

Memory leak problem with OpenCV 3.1 custom build

OpenCV 빌드 후 라이브러리를 테스트 하는 도중 Debug 빌드 라이브러리의 메모리 누스가 포착 되었다.
오래전 2.2 버전을 빌드하여 테스트 할 때에도 비슷한 문제가 있었는데 동일하지는 않지만 유사한 것 같다.
Release 버전으로 테스트한 결과 문제가 없었다. 혹시나 해서 OpenCV.org에서 배포하는 배포(Release 버전 밖에 없는) 버전으로 테스트 해 보았는데 문제가 없었다.
공식 배포 버전은 Release 버전밖에 없어 Debug 모드에서의 테스트는 할 수 없었고 공식배포건 빌드한 버전이던 Release 버전에는 문제가 없었다.

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 사용시에는 문제가 발생하지 않았다.

일단은 Release 용으로 사용을 해야 할 것 같다.<

Original Post : http://neodreamer-dev.tistory.com/488