#2814: digitizer crashes, leaves vector broken
--------------------------+-------------------------------
Reporter: harrikoo | Owner: grass-dev@…
Type: defect | Status: new
Priority: blocker | Milestone: 7.0.3
Component: wxGUI | Version: 7.0.2
Resolution: | Keywords: digitizer, vector
CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------------
Changes (by harrikoo):
* priority: critical => blocker
Comment:
Now it just happened again! I was drawing a test vector and crossing lines
and boundaries, breaking them and merging them, and then in the end,
deleting extra lines; immediately after the deletion of one line (select
with left, confirm with right) the digitizer crashed. This was not the
first line I deleted, perhaps the 20th, so it was something particular
about that line.
V.build reports errors in the file:
{{{
GRASS 7.0.2RC2 (Nemi):~/grass/Nemi/terracewall > v.build test
WARNING: Coor file of vector map <test@terracewall> is larger than it
should be (5326 bytes excess)
Building topology for vector map <test@terracewall>...
Registering primitives...
35 primitives registered
80 vertices registered
Building areas...
100%
4 areas built
2 isles built
Attaching islands...
100%
Attaching centroids...
100%
Number of nodes: 25
Number of primitives: 35
Number of points: 0
Number of lines: 8
Number of boundaries: 20
Number of centroids: 7
Number of areas: 4
Number of isles: 2
WARNING: Number of centroids exceeds number of areas: 7 > 4
WARNING: Number of incorrect boundaries: 14
WARNING: Number of centroids outside area: 3
WARNING: Number of duplicate centroids: 1
}}}
Especially the number of incorrect boundaries is way too high. Otherwise
the figures seem ok.
The line I was deleting was at one end sharing a vertex with an area.
And then, `g.gui.vdigit` crashes with this message:
{{{
Coor file of vector map <test@terracewall> is larger than it should be
(5326 bytes excess)
Current region rows: 300, cols: 450
G_malloc: unable to allocate 18446744073709551608 bytes of memory at
lib/vector/vedit/render.c:312
}}}
Looking at the file with `v.info` shows wrong extents:
{{{
WARNING: Coor file of vector map <test@terracewall> is larger than it
should be (5326 bytes excess)
+----------------------------------------------------------------------------+
| Name: test
|
| Mapset: terracewall
|
| Location: Nemi
|
| Database: /home/harri/grass
|
| Title:
|
| Map scale: 1:1
|
| Name of creator: harri
|
| Organization:
|
| Source date: Thu Jan 7 20:58:54 2016
|
| Timestamp (first layer): none
|
|----------------------------------------------------------------------------|
| Map format: native
|
|----------------------------------------------------------------------------|
| Type of map: vector (level: 1)
|
|
|
| Number of points: 0 Number of centroids: 7
|
| Number of lines: 8 Number of boundaries: 20
|
| Number of areas: 0 Number of islands: 0
|
|
|
| Map is 3D: No
|
| Number of dblinks: 0
|
|
|
| Projection: Oblique Mercator
|
|
|
| N: 5075.53088803 S: 0
|
| E: 5174.83237245 W: 0
|
|
|
| Digitization threshold: 0
|
| Comment:
|
|
|
+----------------------------------------------------------------------------+
}}}
I have not drawn anything near (0,0), all the coordinates should be well
above (4800,4800).
I can try to run some debugging commands, if someone just lets me know a
suitable command line...
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2814#comment:18>
GRASS GIS <https://grass.osgeo.org>