[gdal-dev] OGR: memory leak in OCI driver

Ivan Lucena lucena_ivan at hotmail.com
Fri Aug 8 08:08:06 PDT 2014


Your patch was committed to trunk, backported to 1.11 and 1.10. Ticked #5590 close.

Please verify.

Regards,

Ivan

From: nicolas.simon at spw.wallonie.be
To: gdal-dev at lists.osgeo.org
Date: Fri, 1 Aug 2014 14:49:35 +0000
Subject: Re: [gdal-dev] OGR: memory leak in OCI driver









Hi list,
 
                We tested the suggestion of Ivan and it’s better.
                Fortunately, my problem to create ticket was solved

The ticket is  http://trac.osgeo.org/gdal/ticket/5599 with a patch file.
 
Best regards
 
Nicolas
 


De : Ivan Lucena [mailto:lucena_ivan at hotmail.com]


Envoyé : mardi 6 mai 2014 17:48

À : SIMON Nicolas; gdal-dev at lists.osgeo.org

Cc : SANDRI Christophe; NGUYEN Thi Xuan Truc

Objet : RE: [gdal-dev] OGR: memory leak in OCI driver


 

Hi Nicolas,



I received that report a month ago:



"we have found the OGROCISession is never released, causing a large memory leak whenever a connection is closed.


As workaround, we added in OGROCISession::~OGROCISession()



    if( hEnv )

           OCIHandleFree((dvoid *) hEnv, (ub4) OCI_HTYPE_ENV);"



But they also mention some other memory leaks without an specific location on the code.



Can you try to see if that fix the problem?



Thanks,



Ivan








From:
nicolas.simon at spw.wallonie.be

To: gdal-dev at lists.osgeo.org

Date: Tue, 6 May 2014 15:32:09 +0000

CC: christophe.sandri at spw.wallonie.be;
xuan.nguyen at spw.wallonie.be

Subject: [gdal-dev] OGR: memory leak in OCI driver

Dear developers,
 
                I suspect that there is a memory leak in OCI driver for OGR
               

                My simplified test case is :
 
…          

// point A
OGRRegisterAll();
 
// point B
pDS = OGRSFDriverRegistrar::Open("OCI:USER/PWD at INSTANCE:TABLE", true);
if(pDS)
     {
          OGRDataSource::DestroyDataSource(pDS);
          pDS = NULL;
     }
     else
     {
          fprintf(fOut,"Erreur Open\n");
     }
     // point C
     
OGRCleanupAll();
// point D
 
It appears that I lose memory between points B and C, and between point A and D  

 
                B = A + 4 MB
                C = A + 20 MB ( 16 MB lost)
               D = A +19 MB ( 3 more MB lost)

 
Test was done with GDAL 1.9 under windows (with Oracle 11g)
 
Can some one have an idea to find and fix this ?
 
Thank you
 
By the way,  I received « TICKET_CREATE privileges are required to perform this operation » when I tried to make a ticket (UID nicsim)
 
Nicolas
 
 



_______________________________________________ gdal-dev mailing list 
gdal-dev at lists.osgeo.org 
http://lists.osgeo.org/mailman/listinfo/gdal-dev






_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20140808/72b4d51a/attachment-0001.html>


More information about the gdal-dev mailing list