Opened 7 years ago

Closed 7 years ago

#1690 closed defect (fixed)

r.to.vect: `dbf` proc segfaults if MAPSET/dbf/ dir is missing

Reported by: hamish Owned by: grass-dev@…
Priority: minor Milestone: 6.4.3
Component: Database Version: 6.4.2
Keywords: r.to.vect, dbf Cc:
CPU: x86-32 Platform: Linux

Description

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

Change History (3)

comment:1 Changed 7 years ago 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

comment:2 Changed 7 years ago by neteler

Hamish, please backport to relbr64.

comment:3 Changed 7 years ago by neteler

Resolution: fixed
Status: newclosed

Tsted in 6.4, backported in r52849. Closing.

Note: See TracTickets for help on using tickets.