Bug report #16370
regression: processing's checkGrass7IsInstalled's v.voronoi algorithm check broken
|Affected QGIS version:||master||Regression?:||No|
|Operating System:||Easy fix?:||No|
|Pull Request or Patch supplied:||No||Resolution:|
|Crashes QGIS or corrupts data:||No||Copied to github as #:||24280|
On my master build, processing's GRASS7 algorithms are broken as the checkGrass7IsInstalled() function fails due to an error while executing v.voronoi's algorithm.
v.voronoi's algorithm itself runs OK, but its vector output path is wrong, which triggers a checkGrass7IsInstalled() conditional failure on line 376:
if not os.path.exists(cmdpath)
On my machine, running result = runalg('v.voronoi',...) via python console results in the follow directory structure:
processing2aae94e381c0447b831b20b2b2c25480 |- 11dda694d55d4b528baa2ce3ee4e722d (empty) |- 3301d2a3be3c42428f204740714cce3c (contains the output shapefile) |- grassdata (empty)
However, the result object's output value refers to the empty directory as the one with OUTPUT.SHP.
I'm on Ubuntu 17.04 with GRASS 7.2.0 distro packages.
#1 Updated by Mathieu Pellerin - nIRV almost 6 years ago
After further investigation, the problem might be a regression in GRASS 7.2 itself. The problem appears when v.in.ogr's output value (currently set to self.getTempFilename()) has a non-letter as its first character. For e.g., the following output value "123" will fail, while output value ="a123" will work just fine.
#2 Updated by Mathieu Pellerin - nIRV almost 6 years ago
Some more information. Tryign to do a v.in.ogr import through GRASS's own GUI throws the following error:
WARNING: Illegal vector map name <123>. Must start with a letter. ERROR: Unable to create vector map: <123> is not SQL compliant ERROR: Unable to import OGR datasource </tmp/processinga2f9351a584b4a0188e08e9bf676af9a/855f01f411c44aa1aeb669060039c07e/points.shp>