[GRASS-dev] Re: [GRASS GIS] #775: r.terraflow:
file=/home/mlennert/STREAM/STREAM_tQhXkQ:cannot read!: Bad address
GRASS GIS
trac at osgeo.org
Tue Oct 6 09:08:50 EDT 2009
#775: r.terraflow: file=/home/mlennert/STREAM/STREAM_tQhXkQ:cannot read!: Bad
address
-----------------------+----------------------------------------------------
Reporter: mlennert | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: normal | Milestone: 6.4.0
Component: Raster | Version: svn-develbranch6
Resolution: | Keywords: terraflow bad address
Platform: Linux | Cpu: Unspecified
-----------------------+----------------------------------------------------
Comment (by glynn):
Replying to [ticket:775 mlennert]:
> In all three version (6.4, 6devel and 7), I get the following error
running r.terraflow in the North Carolina demo data set:
> file=/home/mlennert/STREAM/STREAM_lRe0NI:cannot read!: Bad address
The error message corresponds to fread() failing with EFAULT (invalid
buffer pointer) in either AMI_STREAM<T>::read_item() or
AMI_STREAM<T>::read_array(). I would suspect the latter, as the former
reads into the read_tmp member of the AMI_STREAM<T> object
The assert() failure:
>
{{{
r.terraflow: /home/mlennert/SRC/GRASS/grass6_devel/dist.i486-pc-linux-
gnu/include/grass/iostream/ami_sort_impl.h:91: size_t
makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T =
plateauType, Compare = ijCmpPlateauType]: Assertion `err ==
AMI_ERROR_NO_ERROR || err == AMI_ERROR_END_OF_STREAM' failed.
}}}
also suggests the read_array() method, and indicates that a bogus pointer
is passed as the "data" parameter to makeRun_Block().
Beyond that, I can only suggest running it under gdb and printing a full
backtrace ("bt full") when it aborts.
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/775#comment:1>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list