[GRASS-dev] [GRASS GIS] #2623: GRASS won't start after creating addons

#2623: GRASS won't start after creating addons
-------------------------+--------------------------------------------------
Reporter: ewcgrass | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.0.1
Component: Default | Version: unspecified
Keywords: | Platform: Unspecified
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
Having forced addons to install as per Ticket #2598 (still with
grass7.0.1svn-x86_64-unknown-linux-gnu-21_02_2015), GRASS fails to start,
due to what appears to be an issue when creating menu items for the
addons.

The terminal output is as follows:

{{{
Cleaning up temporary files...
Starting GRASS GIS...

           __________ ___ __________ _______________
          / ____/ __ \/ | / ___/ ___/ / ____/ _/ ___/
         / / __/ /_/ / /| | \__ \\_ \ / / __ / / \__ \
        / /_/ / _, _/ ___ |___/ /__/ / / /_/ // / ___/ /
        \____/_/ |_/_/ |_/____/____/ \____/___//____/

Welcome to GRASS GIS 7.0.1svn (r64713)
GRASS GIS homepage: http://grass.osgeo.org
This version running through: Bash Shell (/bin/bash)
Help is available with the command: g.manual -i
See the licence terms with: g.version -c
If required, restart the GUI with: g.gui wxpython
When ready to quit enter: exit

Launching <wxpython> GUI in the background, please wait...
GRASS 7.0.1svn (ns-nad83-utm-25m-10m):~ > Traceback (most recent call
last):
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/wxgui.py", line 142, in <module>
     sys.exit(main())
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/wxgui.py", line 134, in main
     app = GMApp(workspaceFile)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/wxgui.py", line 49, in __init__
     wx.App.__init__(self, False)
   File "/usr/lib64/python2.7/site-
packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7981, in __init__
     self._BootstrapApp()
   File "/usr/lib64/python2.7/site-
packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7555, in _BootstrapApp
     return _core_.PyApp__BootstrapApp(*args, **kwargs)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/wxgui.py", line 83, in OnInit
     workspace = self.workspaceFile)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/lmgr/frame.py", line 121, in __init__
     self._moduleTreeBuilder = LayerManagerModuleTree()
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/lmgr/menudata.py", line 62, in __init__
     MenuTreeModelBuilder.__init__(self, filename,
expandAddons=expandAddons)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/core/menutree.py", line 66, in __init__
     expAddons(xmlTree)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/core/toolboxes.py", line 280, in expandAddons
     _expandRuntimeModules(root, loadMetadata=True)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/core/toolboxes.py", line 525, in
_expandRuntimeModules
     desc, keywords = _loadMetadata(name)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/gui/wxpython/core/toolboxes.py", line 558, in _loadMetadata
     task = gtask.parse_interface(module)
   File "/usr/local/grass7.0.1svn-x86_64-unknown-linux-
gnu-21_02_2015/etc/python/grass/script/task.py", line 509, in
parse_interface
     tree = etree.fromstring(get_interface_description(name))
   File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1281, in XML
     parser.feed(text)
   File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1623, in feed
     self._raiseerror(v)
   File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1487, in
_raiseerror
     raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line
17, column 19
}}}

Changing the name of the ~/.grass7/addons/modules.xml file allows GRASS to
start fine (but obviously with no addon menu items) and the addons appear
to start fine also (i.e. their gui's are created when calling up addons at
the terminal).

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

#2623: GRASS won't start after creating addons
---------------------------------------------+------------------------------
Reporter: ewcgrass | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.0.1
Component: Default | Version: unspecified
Keywords: menu, toolboxes, addon, loading | Platform: Unspecified
      Cpu: Unspecified |
---------------------------------------------+------------------------------
Changes (by wenzeslaus):

  * keywords: => menu, toolboxes, addon, loading

Comment:

I don't understand what is the environment? Do you have different non-
English locale? Which addons you have installed? What if you uninstall all
addons and install them again? How `~/.grass7/addons/modules.xml` looks
like? I don't know how to reproduce this error (it works fine for me in
both trunk and release branch).

My `~/.grass7/addons/modules.xml` looks like:

{{{
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task SYSTEM "grass-addons.dtd">
<addons version="7">
     <task name="r.geomorphon">
         <description>Calculate geomorphons (terrain forms)and associated
geometry using machine vision approach</description>
         <keywords>Geomorphons,Terrain patterns,Machine vision
geomorphometry</keywords>
         <binary>
             <file>...</file>
             ...
         </binary>
         <libgis revision="64733" />
     </task>
     <task name="v.in.proj">
         <description>Import vector data using OGR library and reproject on
the fly.</description>
         <keywords>vector,import,projection</keywords>
         <binary>
             <file>...</file>
             ...
         </binary>
         <libgis revision="64733" />
     </task>
</addons>
}}}

Can you please attach your `~/.grass7/addons/modules.xml`?

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

#2623: GRASS won't start after creating addons
---------------------------------------------+------------------------------
Reporter: ewcgrass | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.0.1
Component: Default | Version: unspecified
Keywords: menu, toolboxes, addon, loading | Platform: Unspecified
      Cpu: Unspecified |
---------------------------------------------+------------------------------

Comment(by ewcgrass):

This is from Help-->about system:

{{{
GRASS version: 7.0.1svn
GRASS SVN Revision: 64713
Build Date: 2015-01-21
Build Platform: x86_64-unknown-linux-gnu
GDAL/OGR: 1.6.3
PROJ.4: 4.7.0
GEOS: 3.2.0
SQLite: 3.7.13
Python: 2.7.0
wxPython: 2.8.12.0
Platform: Linux-2.6.35.14-106.fc14.x86_64-x86_64-with-fedora-14-Laughlin
}}}

(please note that the build date shown above is incorrect and should read
2015-02-21)

I have by process of elimination determined that it is the section of the
$HOME/.grass7/addons/modules.xml file for "r.to.vect.lines" addon that is
causing grass to not start:

{{{
     <task name="r.to.vect.lines">
         <description>None</description>
         <keywords>None</keywords>
         <binary>
             <file>/home/rick/.grass7/addons/scripts/r.to.vect.lines</file>
<file>/home/rick/.grass7/addons/docs/man/man1/r.to.vect.lines.1</file>
<file>/home/rick/.grass7/addons/docs/html/r_to_vect_lines_example.png</file>
<file>/home/rick/.grass7/addons/docs/html/r.to.vect.lines.html</file>
         </binary>
         <libgis revision="64007" />
     </task>
}}}

Removing this section from the file now allows grass to start. However, I
see no menu items for any of the installed addons. Should there be menu
items for the addons? And if so, where in the gui would I find them?

I have attached the $HOME/.grass7/modules.xml file that now allows grass
to start.

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