[Rcpp-devel] R Session Sometimes Aborts

Alex Ilich alexilich93 at gmail.com
Thu Dec 16 16:17:34 CET 2021


Thanks everyone for helping me figure this out. Within terra::focalCpp
which handles the iteration over small subsets of the data there is a test
iteration that occurs which uses the data that is numbers 1-number of
elements in the window (for a 3x7 window that'd be 1-21). Since the
function I'm using is a bit odd in that the data refer to indices in a
separate matrix (e.g. in this example a 15x15 matrix), the test data was
leading to the out of bounds error when the number of elements (21) was
greater than the size of that other matrix. Robert and I can figure out the
rest on github so that the 2 functions play nice together.

Thanks,
Alex

On Wed, Dec 15, 2021 at 6:24 PM Dirk Eddelbuettel <edd at debian.org> wrote:

>
> On 15 December 2021 at 12:30, Robert J. Hijmans wrote:
> | Dirk thanks very much for the help. And sorry, Alex, I misspoke. I meant
> to
> | say that Rcpp will coerce a R "numeric" (vector) to an
> | "Rcpp::IntegerVector" if you ask it to do so (and that is what happened
> in
> | the context we were discussing).
>
> Exactly. And it will be no comfort to Alex who has to chase this by hand
> but
> for those of us old enough to C/C++ time in (whole) decades, it really just
> smells *very much* like an old-fashioned indexing error.  Which is why
> valgrind was already a good idea.
>
> Minor hint:
>    Rcpp::stop("Something here including %d or %s or ... formatting", a, b);
> is a tad more Rcpp-idiomatic, and errors.  We now have Rcpp::message(...)
> to
> just do the printing (in a suppressable way). C API of R of course still
> holds.
>
> Dirk
>
> --
> https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20211216/23f95348/attachment.html>


More information about the Rcpp-devel mailing list