1 |
On Fri, Feb 5, 2021 at 8:44 AM <karl@××××××××.se> wrote: |
2 |
> |
3 |
> When emerging R, I got: |
4 |
> |
5 |
> ... |
6 |
> ** R |
7 |
> ** data |
8 |
> *** moving datasets to lazyload DB |
9 |
> ** demo |
10 |
> ** inst |
11 |
> ** byte-compile and prepare package for lazy loading |
12 |
> Error: segfault from C stack overflow |
13 |
> ... |
14 |
> |
15 |
> Since linux automatically grows the stack, doesn't this mean |
16 |
> that I'm out of memory. |
17 |
> |
18 |
> Btw. |
19 |
> # prlimit -s |
20 |
> RESOURCE DESCRIPTION SOFT HARD UNITS |
21 |
> STACK max stack size 8388608 unlimited bytes |
22 |
> |
23 |
> and prlimit --stack=-1:-1 doesn't change the soft limit. |
24 |
> |
25 |
> Regards, |
26 |
> /Karl Hammar |
27 |
|
28 |
No, a stack overflow isn't a failure to allocate more space on the |
29 |
stack, it's writing more data to a variable on the stack than what had |
30 |
been allocated for it. For example, if you declare an array for 10 |
31 |
characters, then write 30 characters to it, it's a stack overflow |
32 |
(because the variable's on the stack, and you overflowed the |
33 |
boundaries of it). |
34 |
|
35 |
-- |
36 |
Poison [BLX] |
37 |
Joshua M. Murphy |