[Rcpp-devel] "Error during wrapup"

Romain Francois romain at r-enthusiasts.com
Wed May 28 16:09:57 CEST 2014


This looks like a protection issue. 

For whomever this makes sense to: From the code that wraps such object, i would investigate the call to setAttrib. 

Perhaps we are supposed to get the result of it and protect it. 

So i would tend to use an Armor instead of a Shield. 

Romain

Le 28 mai 2014 à 16:02, John Mous <john.mous0 at gmail.com> a écrit :

> Hmm, unfortunately the GitHub version failed also. The attributes on the failed object are a little different though, here's what they look like:
> 
> Browse[1]> str(results)
>  atomic [1:4] 1 1 2270 0
>  - attr(*, "")= symbol sim
>  - attr(*, "value")= promise to  NULL
> 
> 
> On Tue, May 27, 2014 at 6:10 PM, John Mous <john.mous0 at gmail.com> wrote:
>> Hi Kevin,
>> 
>> Thanks. I will give the GitHub version a try -- the error usually manifests only after running for about a day or so, so it may take a while to do that. Unfortunately I am having trouble creating a small reproducible example -- a function with just the assignments as written in my previous e-mail works fine when executed thousands of times in a loop. The full  code is not that long (~165 lines), but is also non-trivial. 
>> 
>> It's odd that something else is causing things to fail with the end result being that only the field *names*, which are hardcoded, and not the values, not coming through properly. Since you said you suspect the problem may be fixed, can you give me a hint of what you think it may be related to? This might help me isolate the piece of offending code.
>> 
>> 
>> 
>> On Tue, May 27, 2014 at 5:46 PM, Kevin Ushey <kevinushey at gmail.com> wrote:
>>> Hi John,
>>> 
>>> I think we may have tackled this in some of the latest fixes with the
>>> version of Rcpp on GitHub. Can you try installing that version and
>>> trying again? Ie, try
>>> 
>>>     install.packages(devtools); devtools::install_github("RcppCore/Rcpp")
>>> 
>>> then try running your code again.
>>> 
>>> Alternatively, please supply a small reproducible example that we can
>>> try to run ourselves. You may be able to tease this error out
>>> reproducibly if you run it with gctorture(TRUE) on.
>>> 
>>> Thanks,
>>> Kevin
>>> 
>>> On Tue, May 27, 2014 at 2:42 PM, John Mous <john.mous0 at gmail.com> wrote:
>>> > Hello,
>>> >
>>> > I am passing back a very simple std::map<std::string, int> from Rcpp as
>>> > follows:
>>> >
>>> > std::map<std::string, int> result;
>>> > result["X1"] = X1;
>>> > result["X2"] = X2;
>>> > result["X3"] = X3;
>>> > result["X4"] = X4;
>>> > return wrap(result);
>>> >
>>> > The keys are hardcoded as shown, and the values X1-X4 are ints. Almost
>>> > always everything works fine, however, very intermittently, a vector is
>>> > returned on the R side _without_ named fields. For example:
>>> >
>>> > Browse[1]> results
>>> > [1]   1   2 863   0
>>> > Error during wrapup: 'getCharCE' must be called on a CHARSXP
>>> > Browse[1]> str(results)
>>> >  atomic [1:4] 1 2 863 0
>>> >  - attr(*, "")= symbol X1
>>> >  - attr(*, "")= language `[[<-`(`*tmp*`, sim, value = 1L)
>>> >
>>> > results[[X1]] works, but results[["X1"]] does not, and X2-X4 can be
>>> > retrieved only by index. However, again, most runs are successful:
>>> >
>>> > Browse[1]> results
>>> >  X1  X2  X3  X4
>>> >    1    1 3254    0
>>> > Browse[1]> str(results)
>>> >  Named int [1:4] 1 1 3254 0
>>> >  - attr(*, "names")= chr [1:4] "X1" "X2" "X3" "X4"
>>> >
>>> >
>>> > I am using R 3.1.0 and Rcpp 0.11.1. Does the message "Error during wrapup:
>>> > 'getCharCE' must be called on a CHARSXP" within this context hint anything
>>> > to anyone familiar with Rcpp's internals? I realize it's almost impossible
>>> > to diagnose with the given information -- is there a way to get Rcpp to
>>> > display more debugging information?
>>> >
>>> > Thank you.
>>> >
>>> > _______________________________________________
>>> > Rcpp-devel mailing list
>>> > Rcpp-devel at lists.r-forge.r-project.org
>>> > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
> 
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20140528/463ee838/attachment.html>


More information about the Rcpp-devel mailing list