[GRASS5] v.in.ascii updates

Radim Blazek blazek at itc.it
Mon Mar 21 03:37:52 EST 2005


Can you do the same for the driver?

Radim

Hamish wrote:
>>>>I'm looking to do some v.in.ascii updates, I thought I'd trawl for
>>>>comments first.. most deal with format=point mode.
> 
> ..
> 
>>Please report if the massive input points memory leak is fixed/same/
>>worse. (e.g. LIDAR)
> 
> 
> Still there...
> 
> 
> I finally got around to installing valgrind to check where the memory
> leaks are.
> 
> 
> quick analysis:
> 
> just by watching "top" (hit "M" to sort by memory use) in another term,
> the v.in.ascii program seems ok; it's the $GISBASE/driver/db/dbf process
> which has the leak in it.
> 
> 
> valgrind analysis results:
>   http://bambi.otago.ac.nz/hamish/grass/memleak/
> 
> 
> 
> The main offenders are:
> 
> dig_alloc_node (struct_alloc.c:46)
> RTreeNewNode (node.c:47)
> dig_alloc_line (struct_alloc.c:112)
> 
> 
> 
> Left over allocated memory over 1mb at program end:
> 
> ==880==
> ==880== 1951960 bytes in 48799 blocks are still reachable in loss record 32 of 34
> ==880==    at 0x1B906EDD: malloc (vg_replace_malloc.c:131)
> ==880==    by 0x1B950DB9: dig_alloc_node (struct_alloc.c:46)
> ==880==    by 0x1B94B1CE: dig_add_node (plus_node.c:114)
> ==880==    by 0x1B94A641: dig_add_line (plus_line.c:54)
> ==880==
> ==880==
> ==880== 3513528 bytes in 48799 blocks are still reachable in loss record 33 of 34
> ==880==    at 0x1B906EDD: malloc (vg_replace_malloc.c:131)
> ==880==    by 0x1B950F65: dig_alloc_line (struct_alloc.c:112)
> ==880==    by 0x1B94A556: dig_add_line (plus_line.c:45)
> ==880==    by 0x1B91A922: Vect_build_nat (build_nat.c:481)
> ==880==
> ==880==
> ==880== 9137296 bytes in 19196 blocks are still reachable in loss record 34 of 34
> ==880==    at 0x1B906EDD: malloc (vg_replace_malloc.c:131)
> ==880==    by 0x1B972EBE: RTreeNewNode (node.c:47)
> ==880==    by 0x1B975076: RTreeSplitNode (split_q.c:326)
> ==880==    by 0x1B97368A: RTreeAddBranch (node.c:205)
> ==880==
> ==880== LEAK SUMMARY:
> ==880==    definitely lost: 4639 bytes in 54 blocks.
> ==880==    possibly lost:   0 bytes in 0 blocks.
> ==880==    still reachable: 15994816 bytes in 214537 blocks.
> ==880==         suppressed: 200 bytes in 1 blocks.
> 
> 
> Note for the first two, number of blocks = number of imported points. 
> 
> 
> no clue what needs to be freed to fix these..
> 
> 
> 
> Hamish




More information about the grass-dev mailing list