[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