[gdal-dev] QGIS hanging when opening a FileGDB on 64 bit Linux

Even Rouault even.rouault at mines-paris.org
Tue Aug 13 12:57:00 PDT 2013


Le mardi 13 août 2013 21:10:40, Jeremy Palmer a écrit :
> Hi Even.
> 
> I found the problem. I needed to do a make clean before rebuilding gdal.
> Now everything is working and QGIS can load FIleGDBs!
> 
> Any chance to get this change back-ported to 1.10 so QGIS 2.0 will work
> with FIleGDBs?

I've just done that (although the changeset is a bit more substantial/risky 
than the usual fixes done in stable branch).

> 
> Thanks again for your help.
> 
> Cheers
> Jeremy
> ________________________________________
> From: Jeremy Palmer
> Sent: Tuesday, 13 August 2013 9:50 p.m.
> To: Even Rouault
> Cc: 'gdal-dev at lists.osgeo.org'; 'qgis-developer at lists.osgeo.org'
> Subject: RE: [gdal-dev] QGIS hanging when opening a FileGDB on 64 bit Linux
> 
> Nope I get a crash when opening now via OGRSFDriverRegistrar::Open.
> 
> back trace is here: https://gist.github.com/palmerj/6219582
> 
> called from here in QGIS:
> https://github.com/qgis/Quantum-GIS/blob/master/src/providers/ogr/qgsogrpr
> ovider.cpp#L305
> 
> ________________________________________
> From: Even Rouault [even.rouault at mines-paris.org]
> Sent: Tuesday, 13 August 2013 7:23 p.m.
> To: Jeremy Palmer
> Cc: 'Even Rouault'; 'gdal-dev at lists.osgeo.org';
> 'qgis-developer at lists.osgeo.org' Subject: RE: [gdal-dev] QGIS hanging when
> opening a FileGDB on 64 bit Linux
> 
> Selon Jeremy Palmer <JPalmer at linz.govt.nz>:
> > Wow Even - just amazing as always.
> > 
> > Have you confirmed that you can no open a FileGDB in QGIS?
> 
> No, I didn't. I've tested with the OGR API that it solved the issue with
> the following access pattern :
> 
> ds1 = ogr.Open(datasetname)
> ds2 = ogr.Open(datasetname)
> ds2 = None
> ds1 = None
> 
> > I still get the
> > freeze when using GDAL trunk, but maybe that now a QGIS problem.
> 
> Just to be sure that you are using the version with the fix, if you break
> with gdb when it hangs, does it display FGdbDriver::Release() in the stack
> trace ?
> 
> > -----Original Message-----
> > From: Even Rouault [mailto:even.rouault at mines-paris.org]
> > Sent: Tuesday, 13 August 2013 11:29 a.m.
> > To: gdal-dev at lists.osgeo.org
> > Cc: Jeremy Palmer; 'qgis-developer at lists.osgeo.org'
> > Subject: Re: [gdal-dev] QGIS hanging when opening a FileGDB on 64 bit
> > Linux
> > 
> > Le lundi 12 août 2013 22:12:11, Jeremy Palmer a écrit :
> > > Further to this I see that when you open a FIleGDB in QGIS 3 OGROpen
> > > calls made to the same database before any OGR_DS_Destroy calls are
> > > made. These open calls occur during the layer selection dialog, the
> > > OGR provider construction, and the initialisation of the
> > 
> > QgsOgrFeatureIterator.
> > 
> > > I'm guessing the fix for this should really be done at the Esri
> > > library level, but because we have no control over this maybe
> > > something can be done in the OGR library to reuse FileGDBAPI
> > > Geodatabase
> > 
> > handles?
> > 
> > Jeremy,
> > 
> > I do think this is exactly the issue of
> > http://forums.arcgis.com/threads/76527-CloseDatabase-hanging-on-64-bit-Li
> > n ux- when-same-File-Geodatabase-opened-twice
> > 
> > At least I reproduced it on my own PC. I've implemented a workaround in
> > GDAL trunk for that issue that implements ref-counting of the FileGDBAPI
> > Geodabase handle at OGR side :
> > http://trac.osgeo.org/gdal/changeset/26307.
> > 
> > Even
> > 
> > > Cheers,
> > > Jeremy
> > > 
> > > -----Original Message-----
> > > From: Jeremy Palmer
> > > Sent: Sunday, 11 August 2013 9:08 a.m.
> > > To: qgis-developer at lists.osgeo.org
> > > Subject: QGIS hanging when opening a FileGDB on 64 bit Linux
> > > 
> > > Hi QGIS devs!
> > > 
> > > Since the latest round of code changes (maybe over the last 2 months)
> > > I can no longer open Esri FileGDB in QGIS. I can read the database and
> > > QGIS prompts me from the FileGDB layers to add to the map, but when I
> > > select the layer from this dialog QGIS just hangs. I did some
> > > debugging and it seems to hang on the OGR_DS_Destroy call within
> > > QgsOgrFeatureIterator::close(). Does anyone else have this problem?
> > > 
> > > I'm running FileGDB SDK 1.3 and Ubuntu 12.04 64bit with QGIS master.
> > > I've tested this with the OSGeo4W win32 qgis-dev package and I don't
> > > get the problem.
> > > 
> > > Could this be related to this issue:
> > > http://forums.arcgis.com/threads/76527-CloseDatabase-hanging-on-64-bit
> > > -Lin ux-when-same-File-Geodatabase-opened-twice
> > > 
> > > ??
> > > 
> > > Cheers,
> > > Jeremy
> > > 
> > > This message contains information, which is confidential and may be
> > > subject to legal privilege. If you are not the intended recipient, you
> > > must not peruse, use, disseminate, distribute or copy this message. If
> > > you have received this message in error, please notify us immediately
> > > (Phone 0800
> > > 665 463 or info at linz.govt.nz) and destroy the original message. LINZ
> > > accepts no responsibility for changes to this email, or for any
> > > attachments, after its transmission from LINZ. Thank You.
> > > _______________________________________________
> > > gdal-dev mailing list
> > > gdal-dev at lists.osgeo.org
> > > http://lists.osgeo.org/mailman/listinfo/gdal-dev
> > 
> > --
> > Geospatial professional services
> > http://even.rouault.free.fr/services.html
> > 
> > This message contains information, which is confidential and may be
> > subject to legal privilege. If you are not the intended recipient, you
> > must not peruse, use, disseminate, distribute or copy this message. If
> > you have received this message in error, please notify us immediately
> > (Phone 0800 665 463 or info at linz.govt.nz) and destroy the original
> > message. LINZ accepts no responsibility for changes to this email, or
> > for any attachments, after its transmission from LINZ. Thank You.
> 
> This message contains information, which is confidential and may be subject
> to legal privilege. If you are not the intended recipient, you must not
> peruse, use, disseminate, distribute or copy this message. If you have
> received this message in error, please notify us immediately (Phone 0800
> 665 463 or info at linz.govt.nz) and destroy the original message. LINZ
> accepts no responsibility for changes to this email, or for any
> attachments, after its transmission from LINZ. Thank You.

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html


More information about the gdal-dev mailing list