[GRASS-dev] [GRASS GIS] #1690: r.to.vect: `dbf` proc segfaults if MAPSET/dbf/ dir is missing

#1690: r.to.vect: `dbf` proc segfaults if MAPSET/dbf/ dir is missing
----------------------------+-----------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: minor | Milestone: 6.4.3
Component: Database | Version: 6.4.2
Keywords: r.to.vect, dbf | Platform: Linux
      Cpu: x86-32 |
----------------------------+-----------------------------------------------
Hi,

I'm just testing out the live dvd quickstart,
http://adhoc.osgeo.osuosl.org/livedvd/docs/en/quickstart/grass_quickstart.html

using spearfish location and elevation.10m as the input map, the dbf
process crashes during the r.to.vect step. but if you immediately run it
again it's fine. this is in a fresh mapset, there is a VAR file (which
looks ok), but there was not a dbf/ dir yet. (I've now fixed the live dvd
install script to force creation of that dir when it makes the mapset)

when you run r.to.vect you get a segfault in the `dbf` program. if you
allow overwrite, then click on [Run] again it works! so it seems that
r.to.vect is recovering from there being no dbf/ dir and making it, but
only too later after it was already fatal to the spawned dbf process.
programs should never segfault, so maybe the first thing to do is add more
error checking to dbf.c, then try to figure out how to get the dependency
checks in the correct order, or block until they are finished.

thanks,
Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1690&gt;
GRASS GIS <http://grass.osgeo.org>

#1690: r.to.vect: `dbf` proc segfaults if MAPSET/dbf/ dir is missing
----------------------------+-----------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: minor | Milestone: 6.4.3
Component: Database | Version: 6.4.2
Keywords: r.to.vect, dbf | Platform: Linux
      Cpu: x86-32 |
----------------------------+-----------------------------------------------

Comment(by hamish):

It wasn't actually segfauling, just giving a dbmi protocol error and
fatally exiting.

hopefully fixed in devbr6 and trunk with r52455,6. once tested can be
backported to relbr64.

Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1690#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#1690: r.to.vect: `dbf` proc segfaults if MAPSET/dbf/ dir is missing
----------------------------+-----------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: minor | Milestone: 6.4.3
Component: Database | Version: 6.4.2
Keywords: r.to.vect, dbf | Platform: Linux
      Cpu: x86-32 |
----------------------------+-----------------------------------------------

Comment(by neteler):

Hamish, please backport to relbr64.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1690#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#1690: r.to.vect: `dbf` proc segfaults if MAPSET/dbf/ dir is missing
-----------------------+----------------------------------------------------
  Reporter: hamish | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: minor | Milestone: 6.4.3
Component: Database | Version: 6.4.2
Resolution: fixed | Keywords: r.to.vect, dbf
  Platform: Linux | Cpu: x86-32
-----------------------+----------------------------------------------------
Changes (by neteler):

  * status: new => closed
  * resolution: => fixed

Comment:

Tsted in 6.4, backported in r52849. Closing.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1690#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>