#2583: v.net: crash on Windows
-------------------------+--------------------------------------------------
Reporter: mlennert | Owner: grass-dev@…
Type: defect | Status: new
Priority: blocker | Milestone: 7.0.0
Component: LibVector | Version: svn-releasebranch70
Keywords: v.net | Platform: MSWindows 8
Cpu: Unspecified |
-------------------------+--------------------------------------------------
Comment(by neteler):
Probably it is a memory issue on Windows 32bit? --> "possibly lost:
15,516,703 bytes".
Also an "Uninitialised value was created by a stack allocation" - see
below:
{{{
CMD="v.net streets_wake points=schools_wake operation=connect thresh=1000
output=network"
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes $CMD --o
...
==27244== 795,176 bytes in 41,775 blocks are indirectly lost in loss
record 626 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E9708F: G__realloc (alloc.c:124)
==27244== by 0x57432A4: dig_node_alloc_line (struct_alloc.c:83)
==27244== by 0x574CA1B: dig_Rd_P_node (plus_struct.c:69)
==27244== by 0x5741F01: dig_load_plus (plus.c:226)
==27244== by 0x4C2CE79: Vect_open_topo (open.c:1152)
==27244== by 0x4C2D6DC: Vect__open_old (open.c:333)
==27244== by 0x4C2DFCE: Vect_open_old (open.c:566)
==27244== by 0x402C9F: main (main.c:65)
==27244==
==27244== 936,576 bytes in 19,512 blocks are possibly lost in loss record
627 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E96F38: G__malloc (alloc.c:39)
==27244== by 0x5743200: dig_alloc_node (struct_alloc.c:34)
==27244== by 0x5742B68: dig_add_node (plus_node.c:120)
==27244== by 0x574534C: add_line (plus_line.c:60)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244== by 0x4C344D7: Vect_build_partial (build.c:882)
==27244== by 0x4C3459A: Vect_build (build.c:577)
==27244== by 0x402FC1: main (main.c:157)
==27244==
==27244== 1,085,808 bytes in 22,621 blocks are possibly lost in loss
record 628 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E96F38: G__malloc (alloc.c:39)
==27244== by 0x5743200: dig_alloc_node (struct_alloc.c:34)
==27244== by 0x5742B68: dig_add_node (plus_node.c:120)
==27244== by 0x574549A: add_line (plus_line.c:95)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244== by 0x4C344D7: Vect_build_partial (build.c:882)
==27244== by 0x4C3459A: Vect_build (build.c:577)
==27244== by 0x402FC1: main (main.c:157)
==27244==
==27244== 1,193,808 bytes in 49,742 blocks are indirectly lost in loss
record 629 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E96F38: G__malloc (alloc.c:39)
==27244== by 0x5743339: dig_alloc_line (struct_alloc.c:128)
==27244== by 0x574CD0C: dig_Rd_P_line (plus_struct.c:165)
==27244== by 0x5741F9A: dig_load_plus (plus.c:236)
==27244== by 0x4C2CE79: Vect_open_topo (open.c:1152)
==27244== by 0x4C2D6DC: Vect__open_old (open.c:333)
==27244== by 0x4C2DFCE: Vect_open_old (open.c:566)
==27244== by 0x402C9F: main (main.c:65)
==27244==
==27244== 1,205,904 bytes in 50,246 blocks are possibly lost in loss
record 630 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E96F38: G__malloc (alloc.c:39)
==27244== by 0x5743339: dig_alloc_line (struct_alloc.c:128)
==27244== by 0x5745252: add_line (plus_line.c:27)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244== by 0x4C344D7: Vect_build_partial (build.c:882)
==27244== by 0x4C3459A: Vect_build (build.c:577)
==27244== by 0x402FC1: main (main.c:157)
==27244==
==27244== 1,256,112 bytes in 8,723 blocks are possibly lost in loss record
631 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x5B5DA65: RTreeAllocNode (node.c:88)
==27244== by 0x5B5E87D: RTreeAddBranch (node.c:587)
==27244== by 0x5B5CF27: RTreeInsertRect2M (indexm.c:135)
==27244== by 0x5B5D488: RTreeInsertRectM (indexm.c:231)
==27244== by 0x5B6001A: RTreeInsertRect (index.c:324)
==27244== by 0x5747325: dig_spidx_add_line (spindex.c:339)
==27244== by 0x574527B: add_line (plus_line.c:33)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244== by 0x4C344D7: Vect_build_partial (build.c:882)
==27244== by 0x4C3459A: Vect_build (build.c:577)
==27244==
==27244== 1,412,160 bytes in 29,420 blocks are possibly lost in loss
record 632 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x5B5B14C: RTreeAllocBoundary (rect.c:86)
==27244== by 0x5B5DA7D: RTreeAllocNode (node.c:91)
==27244== by 0x5B5E87D: RTreeAddBranch (node.c:587)
==27244== by 0x5B5CF27: RTreeInsertRect2M (indexm.c:135)
==27244== by 0x5B5D488: RTreeInsertRectM (indexm.c:231)
==27244== by 0x5B6001A: RTreeInsertRect (index.c:324)
==27244== by 0x5747261: dig_spidx_add_node (spindex.c:305)
==27244== by 0x5742BAC: dig_add_node (plus_node.c:127)
==27244== by 0x574534C: add_line (plus_line.c:60)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244==
==27244== 1,807,056 bytes in 37,647 blocks are possibly lost in loss
record 633 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x5B5B14C: RTreeAllocBoundary (rect.c:86)
==27244== by 0x5B5DA7D: RTreeAllocNode (node.c:91)
==27244== by 0x5B5E87D: RTreeAddBranch (node.c:587)
==27244== by 0x5B5CF27: RTreeInsertRect2M (indexm.c:135)
==27244== by 0x5B5D488: RTreeInsertRectM (indexm.c:231)
==27244== by 0x5B6001A: RTreeInsertRect (index.c:324)
==27244== by 0x5747261: dig_spidx_add_node (spindex.c:305)
==27244== by 0x5742BAC: dig_add_node (plus_node.c:127)
==27244== by 0x574549A: add_line (plus_line.c:95)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244==
==27244== 2,005,680 bytes in 41,785 blocks are indirectly lost in loss
record 634 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E96F38: G__malloc (alloc.c:39)
==27244== by 0x5743200: dig_alloc_node (struct_alloc.c:34)
==27244== by 0x574CA09: dig_Rd_P_node (plus_struct.c:66)
==27244== by 0x5741F01: dig_load_plus (plus.c:226)
==27244== by 0x4C2CE79: Vect_open_topo (open.c:1152)
==27244== by 0x4C2D6DC: Vect__open_old (open.c:333)
==27244== by 0x4C2DFCE: Vect_open_old (open.c:566)
==27244== by 0x402C9F: main (main.c:65)
==27244==
==27244== 3,768,288 bytes in 78,506 blocks are possibly lost in loss
record 635 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x5B5B14C: RTreeAllocBoundary (rect.c:86)
==27244== by 0x5B5DA7D: RTreeAllocNode (node.c:91)
==27244== by 0x5B5E87D: RTreeAddBranch (node.c:587)
==27244== by 0x5B5CF27: RTreeInsertRect2M (indexm.c:135)
==27244== by 0x5B5D488: RTreeInsertRectM (indexm.c:231)
==27244== by 0x5B6001A: RTreeInsertRect (index.c:324)
==27244== by 0x5747325: dig_spidx_add_line (spindex.c:339)
==27244== by 0x574527B: add_line (plus_line.c:33)
==27244== by 0x574559A: dig_add_line (plus_line.c:147)
==27244== by 0x4C31DB0: Vect_build_nat (build_nat.c:99)
==27244== by 0x4C344D7: Vect_build_partial (build.c:882)
==27244==
==27244== 8,094,124 (2,032 direct, 8,092,092 indirect) bytes in 1 blocks
are definitely lost in loss record 636 of 636
==27244== at 0x4A06BCF: malloc (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==27244== by 0x4E96F38: G__malloc (alloc.c:39)
==27244== by 0x402C7C: main (main.c:63)
==27244==
==27244== LEAK SUMMARY:
==27244== definitely lost: 11,139 bytes in 95 blocks
==27244== indirectly lost: 8,126,364 bytes in 250,982 blocks
==27244== possibly lost: 15,516,703 bytes in 405,314 blocks
==27244== still reachable: 99,070 bytes in 192 blocks
==27244== suppressed: 0 bytes in 0 blocks
==27244==
==27244== For counts of detected and suppressed errors, rerun with: -v
==27244== Use --track-origins=yes to see where uninitialised values come
from
==27244== ERROR SUMMARY: 2466 errors from 258 contexts (suppressed: 1 from
1)
}}}
I also see using --track-origins=yes some other issue:
{{{
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --track-
origins=yes $CMD --o
...
==27437== Conditional jump or move depends on uninitialised value(s)
==27437== at 0x4C4CB22: Vect_line_prune (line.c:290)
==27437== by 0x4033D2: connect_arcs (connect.c:96)
==27437== by 0x402F18: main (main.c:141)
==27437== Uninitialised value was created by a stack allocation
==27437== at 0x4030C2: connect_arcs (connect.c:23)
==27437==
==27437== Conditional jump or move depends on uninitialised value(s)
==27437== at 0x4C4CB24: Vect_line_prune (line.c:290)
==27437== by 0x4033D2: connect_arcs (connect.c:96)
==27437== by 0x402F18: main (main.c:141)
==27437== Uninitialised value was created by a stack allocation
==27437== at 0x4030C2: connect_arcs (connect.c:23)
==27437==
==27437== Conditional jump or move depends on uninitialised value(s)
==27437== at 0x4C4CB22: Vect_line_prune (line.c:290)
==27437== by 0x403325: connect_arcs (connect.c:85)
==27437== by 0x402F18: main (main.c:141)
==27437== Uninitialised value was created by a stack allocation
==27437== at 0x4030C2: connect_arcs (connect.c:23)
==27437==
...
Copying attributes...
...
}}}
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2583#comment:19>
GRASS GIS <http://grass.osgeo.org>