Dear all,
I got the feedback as below when processed plot(world). I have installed and activated sf package under Rstudio.
Could someone help. Thanks!
C stack usage 7971616 is too close to the limit
Dear all,
I got the feedback as below when processed plot(world). I have installed and activated sf package under Rstudio.
Could someone help. Thanks!
C stack usage 7971616 is too close to the limit
There is not that much that can be done about C stack usage from within R; you can monitor it via Cstack_info()
but that is about it.
I suspect that there is something wrong about the object you are plotting - what class is it, and what was its origin? It does not come from {sf}
.
In order to reduce the load on your session you may consider one of two things:
print(st_geometry(world))
= just the boundaries (without data)print(world, max.plot = 1)
= just the first data item from world dataframe (whatever that is)Hi jlacko,
Thanks for the response. I just gave it a try on print(st_geometry(world)) and got the result as below:
Geometry set for 177 features
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -180 ymin: -90 xmax: 180 ymax: 83.64513
Error: C stack usage 7971072 is too close to the limit
By the way, I did check Cstack_info() and got:
Cstack_info()
size current direction eval_depth
7969177 31216 1 8
stupid, stupid me! it should have been plot, not print
my apologies
No worries. I did try that too and got:
plot(st_geometry(world))
Error: C stack usage 7970944 is too close to the limit
...
strange... and where did you get the world object from?
My favorite world map is via
library(tmap)
data("World") # note the capital W!
plot(st_geometry(World))
and it is pretty bulletproof
This is always a curveball because the problem is hidden away in the recesses of the operating system that we generally don't visit.
Whether your machine has 4 GB of memory or is attached to 512GB of virtual memory through a shared pool (this actually came up yesterday), there is a tunable per user parameter set on how much is available at any one time.
One tell is that 2^{5.8914} \approx 2^{16}. But no one I know goes around thinking in base2 all the time.
But all modern OSs that I know do.
It turns out that in the unices (can't say about windows) there is a command to manage this
$ 578: ulimit
unlimited
See man ulimit for guidance on how to adjust yours.
This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.