[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
  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 ==

 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