#111: r.los fails in WinGRASS with high values for max_dis parameter ---------------------------+------------------------------------------------ Reporter: gsancho | Owner: grass-dev@lists.osgeo.org Type: defect | Status: new Priority: major | Milestone: 6.4.0 Component: Raster | Version: svn-develbranch6 Resolution: | Keywords: wingrass r.los Platform: MSWindows XP | Cpu: x86-32 ---------------------------+------------------------------------------------ Changes (by neteler):
* version: 6.3.0 => svn-develbranch6 Comment: I have tried r.los with valgrind on Linux 64bit (GRASS 7): {{{ # Spearfish60 g.region -dp CMD="r.los in=elevation.dem output=tr_vis coordinate=599490,4920855 max_dist=10000" valgrind --tool=memcheck --leak-check=yes --show-reachable=yes $CMD --o ... Using maximum distance from the viewing point (meters): 10000.000000 ==15765== Invalid read of size 8 ==15765== at 0x403616: hidden_point_elimination (pts_elim.c:107) ==15765== by 0x403B0E: segment (segment.c:81) ==15765== by 0x402B41: main (main.c:330) ==15765== Address 0xb062d90 is 24 bytes inside a block of size 40 free'd ==15765== at 0x4C2006F: free (vg_replace_malloc.c:323) ==15765== by 0x503A4A9: G_free (alloc.c:129) ==15765== by 0x401D5B: delete (delete.c:39) ==15765== by 0x40357E: hidden_point_elimination (pts_elim.c:166) ==15765== by 0x403B0E: segment (segment.c:81) ==15765== by 0x402B41: main (main.c:330) ==15765== ==15765== Invalid read of size 1 ==15765== at 0x4C21FC0: memcpy (mc_replace_strmem.c:402) ==15765== by 0x4E2619E: segment_get (get.c:49) ==15765== by 0x403885: find_inclination (pts_elim.c:291) ==15765== by 0x40336E: hidden_point_elimination (pts_elim.c:94) ==15765== by 0x403B0E: segment (segment.c:81) ==15765== by 0x402B41: main (main.c:330) ==15765== Address 0xafdcc77 is 1 bytes before a block of size 76,320 alloc'd ==15765== at 0x4C2136E: malloc (vg_replace_malloc.c:207) ==15765== by 0x503A34E: G__malloc (alloc.c:41) ==15765== by 0x4E26E71: segment_setup (setup.c:64) ==15765== by 0x4E26431: segment_init (init.c:75) ==15765== by 0x40264E: main (main.c:257) ... ==15765== Invalid read of size 1 ==15765== at 0x4C21FDC: memcpy (mc_replace_strmem.c:402) ==15765== by 0x4E2619E: segment_get (get.c:49) ==15765== by 0x403885: find_inclination (pts_elim.c:291) ==15765== by 0x4033B2: hidden_point_elimination (pts_elim.c:99) ==15765== by 0x403B0E: segment (segment.c:81) ==15765== by 0x402B41: main (main.c:330) ==15765== Address 0xafdcc74 is 4 bytes before a block of size 76,320 alloc'd ==15765== at 0x4C2136E: malloc (vg_replace_malloc.c:207) ==15765== by 0x503A34E: G__malloc (alloc.c:41) ==15765== by 0x4E26E71: segment_setup (setup.c:64) ==15765== by 0x4E26431: segment_init (init.c:75) ==15765== by 0x40264E: main (main.c:257) 100% ==15765== ==15765== Conditional jump or move depends on uninitialised value(s) ==15765== at 0x5498B4E: (within /lib64/libz.so.1.2.3) ==15765== by 0x549949C: (within /lib64/libz.so.1.2.3) ==15765== by 0x549A06F: deflate (in /lib64/libz.so.1.2.3) ==15765== by 0x504A97C: G_zlib_compress (flate.c:339) ==15765== by 0x504A650: G_zlib_write (flate.c:213) ==15765== by 0x5064BC9: write_data_compressed (put_row.c:217) ==15765== by 0x5064FC9: put_fp_data (put_row.c:333) ==15765== by 0x50659AB: put_raster_data (put_row.c:633) ==15765== by 0x50662E0: put_raster_row (put_row.c:848) ==15765== by 0x5064907: G_put_raster_row (put_row.c:144) ==15765== by 0x402D5E: main (main.c:381) ==15765== ==15765== Conditional jump or move depends on uninitialised value(s) ==15765== at 0x5498B5B: (within /lib64/libz.so.1.2.3) ==15765== by 0x549949C: (within /lib64/libz.so.1.2.3) ==15765== by 0x549A06F: deflate (in /lib64/libz.so.1.2.3) ==15765== by 0x504A97C: G_zlib_compress (flate.c:339) ==15765== by 0x504A650: G_zlib_write (flate.c:213) ... ==15765== ==15765== ERROR SUMMARY: 284197 errors from 21 contexts (suppressed: 3 from 1) ==15765== malloc/free: in use at exit: 448,984 bytes in 10,702 blocks. ==15765== malloc/free: 291,268 allocs, 280,566 frees, 142,519,073 bytes allocated. ==15765== For counts of detected errors, rerun with: -v ==15765== searching for pointers to 10,702 not-freed blocks. ==15765== checked 2,792,248 bytes. ==15765== ==15765== ==15765== 795 bytes in 72 blocks are definitely lost in loss record 1 of 5 ==15765== at 0x4C2136E: malloc (vg_replace_malloc.c:207) ==15765== by 0x503A34E: G__malloc (alloc.c:41) ==15765== by 0x505633B: G__location_path (location.c:77) ==15765== by 0x50562A6: G_location_path (location.c:57) ==15765== by 0x5051ECB: G__gisinit (gisinit.c:57) ==15765== by 0x401E14: main (main.c:87) ==15765== ==15765== ==15765== 1,024 bytes in 1 blocks are definitely lost in loss record 2 of 5 ==15765== at 0x4C1F144: calloc (vg_replace_malloc.c:397) ==15765== by 0x503A3CC: G__calloc (alloc.c:74) ==15765== by 0x50609B6: G_recreate_command (parser.c:2468) ==15765== by 0x505339D: G_command_history (history.c:257) ==15765== by 0x402EF7: main (main.c:414) ==15765== ==15765== ==15765== 6,380 bytes in 3 blocks are still reachable in loss record 3 of 5 ==15765== at 0x4C1F144: calloc (vg_replace_malloc.c:397) ==15765== by 0x503A3CC: G__calloc (alloc.c:74) ==15765== by 0x505BFF6: G_parser (parser.c:795) ==15765== by 0x401FEE: main (main.c:133) ==15765== ==15765== ==15765== 16,016 bytes in 3 blocks are still reachable in loss record 4 of 5 ==15765== at 0x4C2136E: malloc (vg_replace_malloc.c:207) ==15765== by 0x503A445: G__realloc (alloc.c:109) ==15765== by 0x5048375: set_env (env.c:172) ==15765== by 0x5048136: read_env (env.c:114) ==15765== by 0x504882F: G__getenv (env.c:337) ==15765== by 0x5048771: G_getenv (env.c:289) ==15765== by 0x5056297: G_location (location.c:37) ==15765== by 0x5056300: G__location_path (location.c:75) ==15765== by 0x50562A6: G_location_path (location.c:57) ==15765== by 0x5051ECB: G__gisinit (gisinit.c:57) ==15765== by 0x401E14: main (main.c:87) ==15765== ==15765== ==15765== 424,769 bytes in 10,623 blocks are still reachable in loss record 5 of 5 ==15765== at 0x4C2136E: malloc (vg_replace_malloc.c:207) ==15765== by 0x503A34E: G__malloc (alloc.c:41) ==15765== by 0x506FDE0: G_store (strings.c:83) ==15765== by 0x506402D: G_set_program_name (progrm_nme.c:52) ==15765== by 0x5051E92: G__gisinit (gisinit.c:51) ==15765== by 0x401E14: main (main.c:87) ==15765== ==15765== LEAK SUMMARY: ==15765== definitely lost: 1,819 bytes in 73 blocks. ==15765== possibly lost: 0 bytes in 0 blocks. ==15765== still reachable: 447,165 bytes in 10,629 blocks. ==15765== suppressed: 0 bytes in 0 blocks. }}} I have no idea if that's acceptable or not. Markus -- Ticket URL: <http://trac.osgeo.org/grass/ticket/111#comment:7> GRASS GIS <http://grass.osgeo.org>
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev