[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