[GRASS-dev] Error reading null row 2725 for <MASK>

Paulo van Breugel p.vanbreugel at gmail.com
Wed Aug 27 22:34:11 PDT 2014


On Wed, Aug 27, 2014 at 8:20 PM, Markus Neteler <neteler at osgeo.org> wrote:

> On Wed, Aug 27, 2014 at 3:25 PM, Paulo van Breugel
> <p.vanbreugel at gmail.com> wrote:
> > I forgot to mention that I am using GRASS 7.1 (rev 61757, had it before
> with
> > rev 61413, but I think I had a similar problem about a year ago).
> >
> > On Wed, Aug 27, 2014 at 10:13 AM, Paulo van Breugel <
> p.vanbreugel at gmail.com>
> > wrote:
> >>
> >> When running several r.mapcalc in a loop (via R) the function stops with
> >> an error:
> >>
> >> ERROR: Error reading null row 2725 for <MASK>
>
> The error comes from read_null_bits() in
> lib/raster/get_row.c
>
> around
> http://trac.osgeo.org/grass/browser/grass/trunk/lib/raster/get_row.c#L827
>
> Maybe some off_t definition is missing?
>

I don't know what that means; indication of something being wrong with the
data, or in the code?


>
> >> The row number varies. This seems to happen at random, and when I repeat
> >> the same r.mapcalc calculation that stopped with the error before,
> things
> >> run without problem.
>
>
> Please tell us also
> - how many raster cells are involved
> - how many files are opened in the loop?
>


Last time the error occured in the r.mapcalc below:

  The command:
r.mapcalc --overwrite expression="OUTPUT = if(MESSC==0, 100000* 100.0 *
(MESSB-12300000)/(382900000-12300000), if(MESSC<=5000000, 2*MESSC,
if(MESSC<=10000000, 2*(10000000-MESSC),100000 * 100.0 * (382900000-
MESSB)/(382900000-12300000))))"
produced an error (1) during execution:
ERROR: Error reading null row 2725 for <MASK>

These layers have 6515140 raster cells, with 3366825 total null cells. The
command is part of a sequence of commands that is run in a loop, but these
are run in sequence so at the time of the error I guess two layers were
open. As I mentioned, running the command again and it will normally run
without problems with the given input layers, and it may go wrong with
other input layers again, without any discernible logic to me.


> >> I tried after removing the mask, and this time no problem so it may have
> >> to do something with the MASK? (as these error messages only occur once
> in a
> >> while, I can't be completely sure it only happens when a MASK is
> defined).
> >>
> >> I ran it through R, using the execGRASS() function of the spgrass6
> >> package. I ran the same, but using the system call instead of execGRASS.
> >> Still got the same error messages. I therefore guess this has nothing
> to do
> >> with R?
>
> Could you "simulate" the loops in a GRASS script outside of R to see
> if it the same?
>

I'll have to figure out how to do that. Perhaps running the r.mapcalc above
several times will do the trick.

>
> Markus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20140828/f8ef4390/attachment.html>


More information about the grass-dev mailing list