[Rcpp-devel] Rcpp example that crashes on 64 bit Windows

Dirk Eddelbuettel edd at debian.org
Thu Aug 11 14:43:46 CEST 2016

On 11 August 2016 at 06:28, Rajen Shah wrote:
| Hello,
| I am having trouble debugging a package that appears to work fine on Mac
| operating systems but crashes on Unix and Windows.
| I have found the following example that crashes on my Windows setup (session
| info copied below)
| IntegerVector runif_int2() {
|   return wrap(floor(runif(1000000)));
| }
| When this is called about 5-10 times in succession R crashes (e.g. with
| set.seed(1), but this doesn't seem to matter).
| Any ideas about why this crashes would be much appreciated. To be clear, I am
| not looking for an alternative to the above code (which simply produces a
| vector of zeroes), but would like to know what aspects of this cause a crash so
| I know what code structures may be causing problems in the package I am
| creating. The code does not appear to crash on Mac and I have yet to try it on
| Unix.

i)  On my box it doesn't run (which is probably a bug)

R> library(Rcpp)
R> cppFunction("IntegerVector runif_int2() { return wrap(floor(runif(1000000))); }")
R> set.seed(1)
R> replicate(100, runif_int2())   ## should probably use loop here...
Error in runif_int2() : unimplemented type 'integer' in 'coerceToInteger'

ii) Your code is still "wrong" or less than ideal. You really are working
with doubles there, even after the floor() around runif.  So maybe return a
double vector?  Else assign explictly via a cast.


| Many thanks in advance,
| Rajen
| Session info:
| R version 3.3.1 (2016-06-21)
| Platform: x86_64-w64-mingw32/x64 (64-bit)
| Running under: Windows >= 8 x64 (build 9200)
| locale:
| [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
|    LC_MONETARY=English_United States.1252
| [4] LC_NUMERIC=C                           LC_TIME=English_United States.1252  
| attached base packages:
| [1] stats     graphics  grDevices utils     datasets  methods   base     
| loaded via a namespace (and not attached):
| [1] tools_3.3.1
| _______________________________________________
| 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

http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org

More information about the Rcpp-devel mailing list