[GRASS-dev] Re: [GRASS GIS] #565: r.colors: glibc double free or corruption with -ae

GRASS GIS trac at osgeo.org
Wed Apr 22 02:33:54 EDT 2009


#565: r.colors: glibc double free or corruption with -ae
---------------------+------------------------------------------------------
  Reporter:  hamish  |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect  |      Status:  closed                   
  Priority:  minor   |   Milestone:  6.5.0                    
 Component:  Raster  |     Version:  svn-develbranch6         
Resolution:  fixed   |    Keywords:  r.colors                 
  Platform:  Linux   |         Cpu:  x86-32                   
---------------------+------------------------------------------------------
Comment (by hamish):

 fwiw, valgrind still reports an error, but now it is slightly different:

 {{{
 ...
 --3098-- REDIR: 0x4141680 (memset) redirected to 0x401E4F0 (memset)
 ==3098== Invalid read of size 4
 ==3098==    at 0x804B344: get_fp_stats (stats.c:132)
 ==3098==    by 0x804A654: main (main.c:385)
 ==3098==  Address 0x4224FA8 is 0 bytes after a block of size 4,000 alloc'd
 ==3098==    at 0x401C6CA: calloc (vg_replace_malloc.c:279)
 ==3098==    by 0x402EC00: G__calloc (alloc.c:74)
 ==3098==    by 0x804B1DA: get_fp_stats (stats.c:104)
 ==3098==    by 0x804A654: main (main.c:385)
 ==3098==
 ==3098== Invalid write of size 4
 ==3098==    at 0x804B349: get_fp_stats (stats.c:132)
 ==3098==    by 0x804A654: main (main.c:385)
 ==3098==  Address 0x4224FA8 is 0 bytes after a block of size 4,000 alloc'd
 ==3098==    at 0x401C6CA: calloc (vg_replace_malloc.c:279)
 ==3098==    by 0x402EC00: G__calloc (alloc.c:74)
 ==3098==    by 0x804B1DA: get_fp_stats (stats.c:104)
 ==3098==    by 0x804A654: main (main.c:385)
  100%
 Color table for raster map <map1> set to 'bcyr'
 ==3098==
 ==3098== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 21 from 1)
 ==3098==
 ==3098== 1 errors in context 1 of 2:
 ==3098== Invalid write of size 4
 ==3098==    at 0x804B349: get_fp_stats (stats.c:132)
 ==3098==    by 0x804A654: main (main.c:385)
 ==3098==  Address 0x4224FA8 is 0 bytes after a block of size 4,000 alloc'd
 ==3098==    at 0x401C6CA: calloc (vg_replace_malloc.c:279)
 ==3098==    by 0x402EC00: G__calloc (alloc.c:74)
 ==3098==    by 0x804B1DA: get_fp_stats (stats.c:104)
 ==3098==    by 0x804A654: main (main.c:385)
 ==3098==
 ==3098== 1 errors in context 2 of 2:
 ==3098== Invalid read of size 4
 ==3098==    at 0x804B344: get_fp_stats (stats.c:132)
 ==3098==    by 0x804A654: main (main.c:385)
 ==3098==  Address 0x4224FA8 is 0 bytes after a block of size 4,000 alloc'd
 ==3098==    at 0x401C6CA: calloc (vg_replace_malloc.c:279)
 ==3098==    by 0x402EC00: G__calloc (alloc.c:74)
 ==3098==    by 0x804B1DA: get_fp_stats (stats.c:104)
 ==3098==    by 0x804A654: main (main.c:385)
 --3098--
 --3098-- supp:   21 Debian libc6 (2.3.x) stripped dynamic linker
 ==3098==
 ==3098== IN SUMMARY: 2 errors from 2 contexts (suppressed: 21 from 1)
 ==3098==
 ==3098== malloc/free: in use at exit: 84,827 bytes in 1,460 blocks.
 ==3098== malloc/free: 3,367 allocs, 1,907 frees, 7,063,699 bytes
 allocated.
 ==3098==
 ==3098== searching for pointers to 1,460 not-freed blocks.
 ==3098== checked 164,128 bytes.
 ==3098==
 ...
 }}}


 ie before it read
 {{{
 Address 0x4223EDC is 12 bytes before a block of size 4,000 alloc'd
 }}}

 now it reads {{{... is 0 bytes after a block of size 4,000 alloc'd}}}.


 ?
 Hamish

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/565#comment:6>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list