On Wed, 24 Jun 2020 18:56:06 +0000 Ryan Novosielski <[email protected]> wrote:
On my machine, getOption('expressions') is 5000 and the example from
the test correctly stops with length(traceback()) == 2500. (And the
simpler example of f <- function() f(); f() stops with
length(traceback()) == 5000).
> Traceback:
<...>
> 2718: foo()
This (traceback() being more than 2500 entries long) seems to imply
that the stack size check is somehow skipped. (Perhaps optimized away?)
The evaluation depth limit is checked in src/main/eval.c, line 705 [*],
followed by stack size check. Can you attach the debugger and take a
look at the values of R_EvalDepth and R_Expressions while executing the
text? What about R_CStackStart and R_CStackLimit? What is the stack
size limit (ulimit -s?) on the machine running this test?
--
Best regards,
Ivan
[*]
https://github.com/wch/r-source/blob/8d7ac4699fba640d030703fa010b66bf26054cbd/src/main/eval.c#L705
pgp_I_hPcZLJm.pgp
Description: Цифровая подпись OpenPGP
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
