[GRASS-dev] [GRASS GIS] #3429: g.gui.iclass: segfault when loading vector layer
GRASS GIS
trac at osgeo.org
Sat Nov 11 15:57:09 PST 2017
#3429: g.gui.iclass: segfault when loading vector layer
--------------------------+------------------------------------------
Reporter: mlennert | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.4.0
Component: wxGUI | Version: svn-trunk
Resolution: | Keywords: g.gui.iclass import segfault
CPU: Unspecified | Platform: Unspecified
--------------------------+------------------------------------------
Comment (by mlennert):
Replying to [comment:4 annakrat]:
> I have just been looking at this, but since I have to leave right now,
this is where I got. I don't understand how the temporary maps work, so
it's hard to say what consequences this has, but please test.
Martin: as you introduced the whole notion of temporary vector maps, maybe
you can explain ?
>
> {{{
> Index: Vlib/open.c
> ===================================================================
> --- Vlib/open.c (revision 71523)
> +++ Vlib/open.c (working copy)
> @@ -960,7 +960,7 @@
> }
> G_debug(1, "Vect_open_tmp_new(): name = '%s' with_z = %d", name,
with_z);
>
> - return open_new(Map, tmp_name, with_z, TEMPORARY_MAP); /* temporary
map */
> + return open_new(Map, tmp_name, with_z, TEMPORARY_MAP_ENV); /*
temporary map */
> }
>
> }}}
> {{{
> Index: gui/wxpython/iclass/frame.py
> ===================================================================
> --- gui/wxpython/iclass/frame.py (revision 71523)
> +++ gui/wxpython/iclass/frame.py (working copy)
> @@ -624,7 +624,8 @@
> return
>
> # copy features to the temporary map
> - vname = self._getTempVectorName()
> + #vname = self._getTempVectorName()
> + vname = self.trainingAreaVector
> # avoid deleting temporary map
> os.environ['GRASS_VECTOR_TEMPORARY'] = '1'
> if digitClass.CopyMap(vname, tmp=True) == -1:
> }}}
>
This allows me to open the vector file with the stored polygons. Thanks !
In the terminal, I get messages such as:
{{{
G__open(read): Unable to open
'/home/mlennert/GRASSDATA/nc_spm_08_grass7/user1/.tmp/moritz-
ulb/vector/trAreas325320/frmt': No such file or directory
}}}
> For the debugging, you need to (after attaching the process) press
Continue to release the gui, then do things in gui and it then jumps in
qtcreator to segfaults or breakpoints.
Thanks for the hint ! Now I can get the module to crash, but the debugger
indicates some completely different place in the code. But probably I
don't understand the debugging in qtcreator enough, yet.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3429#comment:5>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list