[GRASS-dev] Re: [GRASS GIS] #775: r.terraflow:
file=/home/mlennert/STREAM/STREAM_tQhXkQ:cannot read!: Bad address
GRASS GIS
trac at osgeo.org
Fri Oct 9 04:34:32 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 mlennert):
Replying to [comment:1 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.
Any ideas based on the backtrace ?
Moritz
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/775#comment:3>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list