[GRASS-dev] [GRASS GIS] #2583: v.net: crash on Windows

GRASS GIS trac at osgeo.org
Sun Feb 15 01:50:24 PST 2015


#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>



More information about the grass-dev mailing list