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

Paulo van Breugel p.vanbreugel at gmail.com
Mon Sep 1 01:45:15 PDT 2014


On Thu, Aug 28, 2014 at 7:34 AM, Paulo van Breugel <p.vanbreugel at gmail.com>
wrote:

>
>
>
> 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.
>

I ran the same calculations, but this time as a list of grass commands in a
text file, which I subsequently ran from the command line
(./runMyscript.txt). Same error, so this does not seem to be related to R.

Perhaps totally coincidence, but in all cases I remember I encountered this
problem, I was running r.mapcalc expressions with an 'if' function


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


More information about the grass-dev mailing list