[QGIS-trac] Re: [Quantum GIS] #3648: Qgis 1.6/trunk,
osgeo4w/standalone crashes when importing vectors in a GRASS mapset
or when adding them to the project
Quantum GIS
qgis at qgis.org
Wed Apr 6 06:36:30 EDT 2011
#3648: Qgis 1.6/trunk, osgeo4w/standalone crashes when importing vectors in a
GRASS mapset or when adding them to the project
---------------------------------------------------------+------------------
Reporter: lutra | Owner: rblazek
Type: bug | Status: new
Priority: critical: causes crash or data corruption | Milestone: Version 1.7.0
Component: GRASS | Version: 1.6.0
Keywords: | Platform_version:
Platform: Windows | Must_fix: Yes
Status_info: 0 |
---------------------------------------------------------+------------------
Comment(by hamish):
Replying to [comment:9 marisn]:
> > There where some cleanups in DBF area, that was a source of such
crashes.
> > Please test with current SVN.
Replying to [comment:12 lutra]:
> the fixes were backported to grass 6.4 or are just available in svn
(grass 6.5?)?
They've been backported to the 6.4 branch and are in 6.4.1rc2.
AFAICT there were two issues:
1) .dlls do not like to free() memory which was allocated by another
function in another dll. the result is a crash even if the alloc history
is kosher & correct. the work around seems to be to clone pass-through
wrappers around free() in each library, and to use the library-specific
free()-wrapper instead of the normal one. jef supplied a large patch
tending to many of those, and Martin applied that patch.
2) https://trac.osgeo.org/grass/changeset/45652
Smells like a work-around. I'm not sure what component is not robust
enough to deal with the altered dirsep. If it's a GRASS component I'd like
to fix it to be more "read sloppy, write exact", if it's a Microsoft
component, not much we can do about it. MS support for `/` as the dirsep
seems to be about 80% and dates back to first QD-DOS. I'm a bit fuzzy on
all the Windows voodoo, but I think system() was an important unsupported
fn for the alternate dirsep. But we've now replaced almost all of the
system() calls in GRASS with more robust alternatives. Maybe the dbf
driver in GRASS 6.x still uses one?
anyway, please try against GRASS 6.4.1rc2, and,
Replying to [comment:10 hamish]:
> to test that theory, try using db.connect to swap to SQLite as the DB
backend
> instead of DBF.
use the db.connect module to do that, see the man page for instructions.
Variable path names used by that command do not need to be expanded by the
user or the shell (so you can move the data without having to edit the
database path links).
Hamish
--
Ticket URL: <https://trac.osgeo.org/qgis/ticket/3648#comment:13>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats
More information about the QGIS-trac
mailing list