Just updated my R from 3.0.0 to 3.0.1... __the bug disappeared__ Sorry for the inconvenience !
2013/7/19 stat quant <statqu...@outlook.com> > And I've been carefull to get a fresh session from R --vanilla so I have > no other package loaded and nothing from my Rprofile exectued, so I am a > bit puzzled... > > Regards > > PS: as far as "=" that's the first I use in month you just got unlucky :) > > > 2013/7/19 stat quant <statqu...@outlook.com> > >> Dirk, >> that's strange but your code crases on my box too... >> >> The only thing out of the ordinary might be that mt R is 3.0.0 and when I >> load Rcpp I get "le package ‘Rcpp’ a été compilé avec la version R 3.0.1 " >> >> Regards >> >> >> 2013/7/19 stat quant <statqu...@outlook.com> >> >>> Right 2 lines were missing: >>> >>> C++: >>> >>> #include <Rcpp.h> >>> using namespace Rcpp; >>> >>> //[[Rcpp::export]] >>> void bug(DataFrame df){ >>> DatetimeVector dt = df["dt"]; >>> } >>> >>> R: >>> >>> library("Rcpp") >>> sourceCpp("rcpp2.cpp") >>> df <- >>> data.frame(x=c(1L,NA,2L), dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01')) >>> print(df) >>> bug(df) >>> ##here R crashes## >>> >>> 2013/7/19 Dirk Eddelbuettel <e...@debian.org> >>> >>>> >>>> On 19 July 2013 at 14:05, stat quant wrote: >>>> | Hello list, I might have found a bug, would you mind checking it too? >>>> >>>> No, you didn't. See below. >>>> >>>> | In R: >>>> | >>>> | library("Rcpp") >>>> | sourceCpp("rcpp.cpp") >>>> | df = data.frame(x=c(1L,NA,2L), >>>> dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01')) >>>> | >>>> | df >>>> | x dt >>>> | 1 1 1970-01-01 00:00:01 >>>> | 2 NA <NA> >>>> | 3 2 1970-01-01 00:00:02 >>>> | >>>> | In C++ >>>> | >>>> | //[[Rcpp::export]] >>>> | void bug(DataFrame df){ >>>> | DatetimeVector dt = df["dt"]; >>>> | } >>>> >>>> That __obviously__ does not compile (no header, no namespace, ...) so I >>>> think >>>> you are being sloppy. >>>> >>>> Execution of a __repaired and reproducible__ example, first via littler >>>> then >>>> via R: >>>> >>>> >>>> edd@don:~$ r -lRcpp -e'sourceCpp("/tmp/statquant.cpp")' >>>> >>>> > df <- data.frame(x=c(1L,NA,2L), >>>> + dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01')) >>>> >>>> > print(df) >>>> x dt >>>> 1 1 1969-12-31 18:00:01 >>>> 2 NA <NA> >>>> 3 2 1969-12-31 18:00:02 >>>> >>>> > bug(df) >>>> >>>> > cat("Hello world\n") >>>> Hello world >>>> edd@don:~$ R -q -e 'Rcpp::sourceCpp("/tmp/statquant.cpp")' >>>> R> Rcpp::sourceCpp("/tmp/statquant.cpp") >>>> >>>> R> df <- data.frame(x = c(1, NA, 2), dt = as.POSIXct(c(1, >>>> + NA, 2), origin = "1970-01-01")) >>>> >>>> R> print(df) >>>> x dt >>>> 1 1 1969-12-31 18:00:01 >>>> 2 NA <NA> >>>> 3 2 1969-12-31 18:00:02 >>>> >>>> R> bug(df) >>>> >>>> R> cat("Hello world\n") >>>> Hello world >>>> R> >>>> R> >>>> edd@don:~$ >>>> >>>> A complete cpp snippet follows below. Please construct better examples >>>> that >>>> actually __work__ next time, test them on __fresh sessions__ and >>>> consider >>>> including the R test code in the C++ snippet as I do here. Oh, and stop >>>> using the hidous '=' for assignment in R ;-) >>>> >>>> Dirk >>>> >>>> >>>> ----------------------------------------------------------------------------- >>>> >>>> #include <Rcpp.h> >>>> >>>> using namespace Rcpp; >>>> >>>> //[[Rcpp::export]] >>>> void bug(DataFrame df){ >>>> DatetimeVector dt = df["dt"]; >>>> } >>>> >>>> /*** R >>>> df <- data.frame(x=c(1L,NA,2L), >>>> dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01')) >>>> print(df) >>>> bug(df) >>>> cat("Hello world\n") >>>> */ >>>> >>>> ----------------------------------------------------------------------------- >>>> >>>> >>>> >>>> | >>>> | Executing bug(df) in R crashes the R session on my box >>>> | >>>> | sessionInfo() >>>> | R version 3.0.0 (2013-04-03) >>>> | Platform: x86_64-w64-mingw32/x64 (64-bit) >>>> | locale: >>>> | [1] LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252 >>>> | LC_MONETARY=French_France.1252 LC_NUMERIC=C >>>> | LC_TIME=C >>>> | attached base packages: >>>> | [1] stats graphics grDevices datasets utils methods base >>>> | >>>> | other attached packages: >>>> | [1] Rcpp_0.10.4 vimcom_0.9-8 >>>> | loaded via a namespace (and not attached): >>>> | [1] tools_3.0.0 >>>> | >>>> | Regards >>>> | >>>> | ---------------------------------------------------------------------- >>>> | _______________________________________________ >>>> | Rcpp-devel mailing list >>>> | Rcpp-devel@lists.r-forge.r-project.org >>>> | >>>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel >>>> -- >>>> Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com >>>> >>> >>> >> >
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel