[GRASS-dev] [GRASS GIS] #943: wxpython gui hangs after switching to cairo display driver
GRASS GIS
trac at osgeo.org
Wed Jun 5 17:24:14 PDT 2013
#943: wxpython gui hangs after switching to cairo display driver
------------------------------------------+---------------------------------
Reporter: epatton | Owner: grass-dev@…
Type: defect | Status: new
Priority: critical | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: cairo, driver, gui, wxpython | Platform: Linux
Cpu: All |
------------------------------------------+---------------------------------
Comment(by hamish):
Hi,
a little more debug (I had to log it to a file, since I couldn't switch
back to the output tab after the lock-up).
start g.gui, prefs -> map display -> display driver: cairo -> apply.
(blank map display)
{{{
g.pnmcomp opacity=1.0 mask=/tmp/tmprA1z8Q.pgm height=537 width=698 \
background=255:255:255 input=/tmp/tmprA1z8Q.ppm
output=/tmp/tmpxRSoaJ.ppm
}}}
(those .ppm,.pgm are the right size, but all pixels black)
Sometimes I get no rendered map, but do see this error on the layer
manager output tab: (the message is a G_fatal_error() from g.pnmcomp)
{{{
ERROR: Rendering failed. Details: Error reading PPM file
}}}
and sometimes this in the terminal:
{{{
.: Fatal IO error 0 (Success) on X server :0.0.
}}}
when it tries to run "`d.mon start=cairo select=cairo`" the GUI lockup
happens on this line of gui/wxpython/core/gcmd.py:
{{{
Debug.msg(3, "gcmd.RunCommand(): decoding string")
stdout, stderr = map(DecodeString, ps.communicate())
}}}
so something is holding the stderr pipe open?
it's a bit funny, the order of `RunCommand()`s has the driver not started
the first time:
{{{
d.mon -p
d.rast --q -o map=elevation.dem at PERMANENT
d.mon stop=cairo
g.pnmcomp opacity=1.0 mask=/tmp/tmpEdfEuF.pgm ...
ERROR: Rendering failed. Details: Error reading PPM file
[hit the eyeball redraw button]
d.mon -p
d.mon start=cairo select=cairo
[lockup]
}}}
... ah, the cairo driver was still running since the last crash, so it
didn't get started a second time before the "d.rast". ..nevermind.
adding quiet=True to the 'd.mon start=' command doesn't help, so I suspect
it is the stderr pipe which is holding things up?
Hamish
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/943#comment:14>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list