[GRASS-dev] [GRASS GIS] #3897: d.mon errors when closing

#3897: d.mon errors when closing
-------------------------+---------------------------------
Reporter: veroandreo | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Keywords: d.mon | CPU: Unspecified
Platform: Unspecified |
-------------------------+---------------------------------
When I close the wx monitor after displaying a raster and trying to
display a raster legend, or only after displaying a raster or vector map,
I get:

{{{
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this"
failed at ../src/common/wincmn.cpp(477) in ~wxWindowBase(): any pushed
event handlers must have been removed

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
   File "/home/veroandreo/software/grass78_git/dist.x86_64-pc-linux-
gnu/gui/wxpython/mapdisp/main.py", line 565, in OnExit
     for f in six.itervalues(monFile):
   File "/usr/lib/python3.7/site-packages/six.py", line 584, in itervalues
     return iter(d.values(**kw))
SystemError: <built-in method values of dict object at 0x7f730b192a00>
returned a result with an error set
}}}

System info
{{{
GRASS version: 7.8.dev
Code revision: 223821e28
Build date: 2019-08-31
Build platform: x86_64-pc-linux-gnu
GDAL: 2.3.2
PROJ.4: 5.2.0
GEOS: 3.7.1
SQLite: 3.26.0
Python: 3.7.4
wxPython: 4.0.4
Platform: Linux-5.2.8-200.fc30.x86_64-x86_64-with-fedora-30-Thirty
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897&gt;
GRASS GIS <https://grass.osgeo.org>

#3897: d.mon errors when closing
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Resolution: | Keywords: d.mon
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by annakrat):

Should be fixed in master. Please test, needs backport.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3897: d.mon errors when closing
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Resolution: | Keywords: d.mon
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by neteler):

Yes, GH 383650806c3505fb677cc2d5474cd1325ac17cc9 solved it.

Still I see this bug when entering a wrong map name (just happened when
testing, here I just a fun name):

{{{
GRASS 7.9.dev (nc_spm_08):~/software/grass_master > d.rast blabla
ERROR: Raster map <blabla> not found
Traceback (most recent call last):
   File
"/home/mneteler/grassdata/nc_spm_08/landsat/.tmp/oboe/MONITORS/wx0/render.py",
line 41, in render
     grass.run_command(cmd[0], env=env, **cmd[1])
   File "/home/mneteler/software/grass_master/dist.x86_64-pc-linux-
gnu/etc/python/grass/script/core.py", line 441, in run_command
     return handle_errors(returncode, returncode, args, kwargs)
   File "/home/mneteler/software/grass_master/dist.x86_64-pc-linux-
gnu/etc/python/grass/script/core.py", line 343, in handle_errors
     returncode=returncode)
grass.exceptions.CalledModuleError: Module run None d.rast map=blabla
bgcolor=white ended with error
Process ended with non-zero return code 1. See errors in the (error)
output.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
   File
"/home/mneteler/grassdata/nc_spm_08/landsat/.tmp/oboe/MONITORS/wx0/render.py",
line 141, in <module>
     render(cmd, mapfile)
   File
"/home/mneteler/grassdata/nc_spm_08/landsat/.tmp/oboe/MONITORS/wx0/render.py",
line 43, in render
     grass.debug(1, "Unable to render: {0}".format(e))
   File "/home/mneteler/software/grass_master/dist.x86_64-pc-linux-
gnu/etc/python/grass/script/core.py", line 628, in debug
     if debug_level() >= debug:
TypeError: '>=' not supported between instances of 'int' and 'str'
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897#comment:2&gt;
GRASS GIS <https://grass.osgeo.org>

#3897: d.mon errors when closing
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Resolution: | Keywords: d.mon
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by neteler):

I have backported GH 383650806c3505fb677cc2d5474cd1325ac17cc9

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897#comment:3&gt;
GRASS GIS <https://grass.osgeo.org>

#3897: d.mon errors when closing
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Resolution: | Keywords: d.mon
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by veroandreo):

d.mon error at closing is gone, but I get the same error reported by
Markus if the map does not exist.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897#comment:4&gt;
GRASS GIS <https://grass.osgeo.org>

#3897: d.mon errors when closing
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Resolution: | Keywords: d.mon
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by annakrat):

Fix is in master now.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897#comment:5&gt;
GRASS GIS <https://grass.osgeo.org>

#3897: d.mon errors when closing
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 7.8.0
Component: Display | Version: git-releasebranch78
Resolution: fixed | Keywords: d.mon
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------
Changes (by neteler):

* status: new => closed
* resolution: => fixed

Comment:

Replying to [comment:5 annakrat]:
> Fix is in master now.

Your fixes solve the remaining issue. I have backported it, works fine now
in 7.8 (so it is for 7.8.1 then).

Thanks! & closing.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3897#comment:6&gt;
GRASS GIS <https://grass.osgeo.org>