Just updated my R from 3.0.0 to 3.0.1... <div>__the bug disappeared__ <div><br></div><div>Sorry for the inconvenience !</div><div><br><br><div class="gmail_quote">2013/7/19 stat quant <span dir="ltr"><<a href="mailto:statquant@outlook.com" target="_blank">statquant@outlook.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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...<div>

<br></div><div>Regards<br><br>PS: as far as "=" that's the first I use in month you just got unlucky :)<div><div class="h5"><br>
<br><div class="gmail_quote">2013/7/19 stat quant <span dir="ltr"><<a href="mailto:statquant@outlook.com" target="_blank">statquant@outlook.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Dirk,<div>that's strange but your code crases on my box too...</div><div><br></div><div>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 "</div>



<div><br></div><div>Regards<div><div><br><br><div class="gmail_quote">2013/7/19 stat quant <span dir="ltr"><<a href="mailto:statquant@outlook.com" target="_blank">statquant@outlook.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Right 2 lines were missing:<div><br></div><div>C++:</div><div><br><div><div><div>#include <Rcpp.h></div><div>using namespace Rcpp;</div><div><br></div><div>//[[Rcpp::export]]</div><div>void bug(DataFrame df){</div>



<div><span style="white-space:pre-wrap">  </span>DatetimeVector dt = df["dt"];</div>

<div>}</div><div><br></div></div>R:</div><div><br></div><div>library("Rcpp")</div><div>sourceCpp("rcpp2.cpp")</div><div><div>df <- data.frame(x=c(1L,NA,2L), dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01'))<br>




print(df)<br>bug(df)<br></div><div class="gmail_quote">##here R crashes##</div><div><div><div class="gmail_quote">
<br></div><div class="gmail_quote">2013/7/19 Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div><br>
On 19 July 2013 at 14:05, stat quant wrote:<br>
| Hello list, I might have found a bug, would you mind checking it too?<br>
<br>
</div>No, you didn't. See below.<br>
<div><br>
| In R:<br>
|<br>
| library("Rcpp")<br>
| sourceCpp("rcpp.cpp")<br>
| df = data.frame(x=c(1L,NA,2L), dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01'))<br>
|<br>
| df<br>
|    x                  dt<br>
| 1  1 1970-01-01 00:00:01<br>
| 2 NA                <NA><br>
| 3  2 1970-01-01 00:00:02<br>
|<br>
| In C++<br>
|<br>
| //[[Rcpp::export]]<br>
| void bug(DataFrame df){<br>
|     DatetimeVector dt = df["dt"];<br>
| }<br>
<br>
</div>That __obviously__ does not compile (no header, no namespace, ...) so I think<br>
you are being sloppy.<br>
<br>
Execution of a __repaired and reproducible__ example, first via littler then<br>
via R:<br>
<br>
<br>
edd@don:~$ r -lRcpp -e'sourceCpp("/tmp/statquant.cpp")'<br>
<br>
> df <- data.frame(x=c(1L,NA,2L),<br>
+                  dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01'))<br>
<br>
> print(df)<br>
   x                  dt<br>
1  1 1969-12-31 18:00:01<br>
2 NA                <NA><br>
3  2 1969-12-31 18:00:02<br>
<br>
> bug(df)<br>
<br>
> cat("Hello world\n")<br>
Hello world<br>
edd@don:~$ R -q -e 'Rcpp::sourceCpp("/tmp/statquant.cpp")'<br>
R> Rcpp::sourceCpp("/tmp/statquant.cpp")<br>
<br>
R> df <- data.frame(x = c(1, NA, 2), dt = as.POSIXct(c(1,<br>
+     NA, 2), origin = "1970-01-01"))<br>
<br>
R> print(df)<br>
   x                  dt<br>
1  1 1969-12-31 18:00:01<br>
2 NA                <NA><br>
3  2 1969-12-31 18:00:02<br>
<br>
R> bug(df)<br>
<br>
R> cat("Hello world\n")<br>
Hello world<br>
R><br>
R><br>
edd@don:~$<br>
<br>
A complete cpp snippet follows below.  Please construct better examples that<br>
actually __work__ next time, test them on __fresh sessions__ and consider<br>
including the R test code in the C++ snippet as I do here.  Oh, and stop<br>
using the hidous '=' for assignment in R ;-)<br>
<br>
Dirk<br>
<br>
-----------------------------------------------------------------------------<br>
<br>
#include <Rcpp.h><br>
<br>
using namespace Rcpp;<br>
<div><br>
//[[Rcpp::export]]<br>
void bug(DataFrame df){<br>
    DatetimeVector dt = df["dt"];<br>
}<br>
<br>
</div>/*** R<br>
df <- data.frame(x=c(1L,NA,2L),<br>
                 dt=as.POSIXct(c(1L,NA,2L),origin='1970-01-01'))<br>
print(df)<br>
bug(df)<br>
cat("Hello world\n")<br>
*/<br>
-----------------------------------------------------------------------------<br>
<div><br>
<br>
<br>
|<br>
| Executing bug(df) in R crashes the R session on my box<br>
|<br>
| sessionInfo()<br>
| R version 3.0.0 (2013-04-03)<br>
| Platform: x86_64-w64-mingw32/x64 (64-bit)<br>
| locale:<br>
| [1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252  <br>
|  LC_MONETARY=French_France.1252 LC_NUMERIC=C                  <br>
| LC_TIME=C                     <br>
| attached base packages:<br>
| [1] stats     graphics  grDevices datasets  utils     methods   base  <br>
|   <br>
| other attached packages:<br>
| [1] Rcpp_0.10.4  vimcom_0.9-8<br>
| loaded via a namespace (and not attached):<br>
| [1] tools_3.0.0<br>
|<br>
| Regards<br>
|<br>
</div>| ----------------------------------------------------------------------<br>
| _______________________________________________<br>
| Rcpp-devel mailing list<br>
| <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" target="_blank">Rcpp-devel@lists.r-forge.r-project.org</a><br>
| <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
<span><font color="#888888">--<br>
Dirk Eddelbuettel | <a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a> | <a href="http://dirk.eddelbuettel.com" target="_blank">http://dirk.eddelbuettel.com</a><br>
</font></span></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div>