[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:24:10 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
---------------------+------------------------------------------------------
Changes (by hamish):
* status: new => closed
* resolution: => fixed
Comment:
{{{
G> r.univar -g map1
...
min=-23.8941449919674
max=1999.8932486971
...
}}}
{{{
...
#7 0x0804b386 in get_fp_stats (name=0x9b72640 "map1", mapset=0x9b72030
"user7",
statf=0xbfd05f94, min=3.2146326349358647, max=7.601348984183665,
geometric=0,
geom_abs=1) at stats.c:136
}}}
Glynn:
> If any of the raster values lie outside of the range specified
> by the min/max parameters, memory corruption will occur due to
> modifying an out-of-range array element.
> FWIW, I have noticed a bug in get_fp_stats(...,geom_abs=1):
> if the range is signed, values which are closer to zero than
> both min and max will also modify an out-of-range array element.
> I'll fix that one shortly, but it won't help if the min/max
> parameters are bogus.
thanks, that solved the problem. backported to 6.4.0 and devbr6.
are the min/max values really bogus? r.univar and 'r.info -r' both give
(-23,1999) for those values. The 'max' value seen in gdb frame # 7 (ie
7.60) is simply the natural log of the max value in the map (1999). The
min value in frame # 7 (3.2146) is a bit weirder. AFAICT it comes from
ln(abs(min)+1). But hopefully that weirdness was just product of this bug.
closing ticket, "thanks heaps"
Hamish
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/565#comment:5>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list