[GRASS-stats] Re: address (nil), cause 'memory not mapped'
Roger Bivand
Roger.Bivand at nhh.no
Wed Aug 20 07:23:26 EDT 2008
On Tue, 19 Aug 2008, Juan Manuel Barreneche wrote:
> just to mention that the loop was already running for about 20 hours...
This question was also posted to the r-help list, where it does not
belong. The thread will continue here (cross-posting is not a good idea).
The messages so far do not contain information about what is happening,
other than that a system() call from the R side, provoking an issue in
running a GRASS module, should not bring R down.
I feel that the general workflow is not adequate, and that very possibly
the same instance of R should not be left running (script the other way
round from the shell or similar). Think of a shell or Python script
issuing commands to GRASS and R in turn, accumulating intermediate results
in RData files.
If you have to stay with your current workflow design, start R with -d gdb
to get a backtrack of the problem in the compiled code. Make sure that
ignore.stderror is FALSE so that error messages from GRASS modules are
visible.
Roger
>
> Juan
>
> On Tue, Aug 19, 2008 at 6:31 PM, Juan Manuel Barreneche
> <jumanbar at gmail.com>wrote:
>
>> Dear users,
>> I got this problem and i don't have a clue of what it could be happening...
>>
>> The context: i'm running a loop in which i extract information from a
>> raster map (I work with GRASS and R, using spgrass6 package), and rearrange
>> it to create a matrix. I've tried it with small maps and it works smoothly,
>> but in large maps I have to resort to saving data in the hard disk regularly
>> in order to avoid the "cannot allocate vector of size..." problem (builted
>> in the loop itself).
>>
>> Even so, the message "address (nil), cause 'memory not mapped'" appeared,
>> and i really don't have a clue of what it means.
>>
>> I run R 2.7.0 on openSUSE 10.2
>>
>> If anyone can be of any help, it'll be greatly appreciated... below I'm
>> writing the output i got (and the R.Version() output...)
>>
>> thank you,
>>
>> Juan
>>
>> <grass output>
>> Null cells excluded from cost evaluation.
>> Source map is: Floating point (double) cell type
>> 189 rows, 178 cols
>> Creating some temporary files
>> Reading riosypondas3000
>> 100%
>> Initializing output
>> 100%
>> Finding cost path
>> Writing nombre
>> Double cell type.
>> Writing...
>> 100%
>> Peak cost value: 13.614127
>> Creating BIL support files...
>> Header File =
>> /home/mastermind/GRASSDATA//yacare1/jmb/.tmp/SpongeBob/nombre.hdr
>> World File =
>> /home/mastermind/GRASSDATA//yacare1/jmb/.tmp/SpongeBob/nombre.wld
>> Exporting raster as double values (bytes=8)
>> Using the current region settings...
>> north=6681799.617727
>> south=6115500.667945
>> east=756812.903880
>> west=223200.856418
>> r=189
>> c=178
>> 100%
>> <end of grass output>
>>
>> *** caught segfault ***
>> address (nil), cause 'memory not mapped'
>>
>> Traceback:
>> 1: system("g.proj -j -f", intern = TRUE, ignore.stderr = ignore.stderr)
>> 2: ifelse(.Platform$OS.type == "windows", projstr <- system("g.proj -j
>> -f", intern = TRUE), projstr <- system("g.proj -j -f", intern =
>> TRUE, ignore.stderr = ignore.stderr))
>> 3: getLocationProj()
>> 4: nchar(projargs)
>> 5: CRS(getLocationProj())
>> 6: readRAST6("nombre")
>> 7: dist.grass(matrizPaisaje.riosypondas3000, "riosypondas3000", direct
>> = "/home/mastermind/r/distancias", division = 17)
>> 8: eval(expr, envir, enclos)
>> 9: eval(parse(text = sprintf("dist.%s <<- dist.grass(matrizPaisaje.%s,
>> '%s', direct='%s', division=%s)", i, i, i, direct, division)))
>> 10: dist.grass.loop(c("riosypondas3000", "maxent3000",
>> "alturas3000.2"), direct = "/home/mastermind/r/distancias", division =
>> 17)
>> 11: eval(expr, envir, enclos)
>> 12: eval(expr, envir = loc.frame)
>> 13: system.time(dist.grass.loop(c("riosypondas3000", "maxent3000",
>> "alturas3000.2"), direct = "/home/mastermind/r/distancias", division =
>> 17))
>>
>> Possible actions:
>> 1: abort (with core dump, if enabled)
>> 2: normal R exit
>> 3: exit R without saving workspace
>> 4: exit R saving workspace
>>
>>> R.Version()
>> $platform
>> [1] "i686-pc-linux-gnu"
>>
>> $arch
>> [1] "i686"
>>
>> $os
>> [1] "linux-gnu"
>>
>> $system
>> [1] "i686, linux-gnu"
>>
>> $status
>> [1] ""
>>
>> $major
>> [1] "2"
>>
>> $minor
>> [1] "7.0"
>>
>> $year
>> [1] "2008"
>>
>> $month
>> [1] "04"
>>
>> $day
>> [1] "22"
>>
>> $`svn rev`
>> [1] "45424"
>>
>> $language
>> [1] "R"
>>
>> $version.string
>> [1] "R version 2.7.0 (2008-04-22)"
>>
>>
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the grass-stats
mailing list