[GRASS-dev] Re: [GRASS GIS] #1184: "d.vect display=attr" imply
grass open process but doesn't close them.
GRASS GIS
trac at osgeo.org
Thu Sep 29 07:36:58 EDT 2011
#1184: "d.vect display=attr" imply grass open process but doesn't close them.
------------------------------+---------------------------------------------
Reporter: met | Owner: grass-dev@…
Type: defect | Status: new
Priority: critical | Milestone: 6.4.2
Component: wxGUI | Version: 6.4.0
Keywords: wingrass, d.vect | Platform: MSWindows XP
Cpu: Unspecified |
------------------------------+---------------------------------------------
Comment(by mmetz):
Replying to [comment:5 hamish]:
> `dbf.exe`s still piling up in the process manager with latest 6.4.svn
native wingrass nightly build. what's more if you select disp=attr
attrcol=label the wxGUI locks up with an endless hourglass. the "this
program is not responding" dialog helps you kill it and get back to the
working msys prompt where you can restart it with g.gui. (but the
`dbf.exe`s remain running)
Non-display commands that do very similar things to `d.vect
disp=shape,attr attrcol=col` run just fine through the wxGUI, finish
successfully and do not leave stray `dbf.exe` processes behind.
Display commands are run through gcmd.!RunCommand() which in turn calls
grass.script.core.start_command() which in turn calls
grass.script.core.Popen(). Non-display commands invoked through wxGUI are
run through gcmd.Popen().
The endless hourglass goes away if ps.communicate() is replaced with
ps.wait() in gcmd.!RunCommand(), d.vect finishes successfully and labels
are drawn. But it leaves a stray `dbf.exe` process behind.
Interestingly, the grass.script.core.*_command() functions and thus
grass.script.core.Popen() are successfully used very often by the wxGUI,
e.g. every time a column option field is populated. That does not leave
stray `dbf.exe` processes behind.
It seems that gcmd.!RunCommand() is doing something that prevents
`dbf.exe` from finishing, or prevents G_wait() from properly waiting for
`dbf.exe` to finish, whereas gcmd.Popen() runs fine.
This affects all branches.
Markus M
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1184#comment:7>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list