Sure, just let me know when the fix is ready. I have a 64bit Linux machine at home and a 64bit Windows 7 machine at work with RTools, so I can check it on both machines.<br><br><div class="gmail_quote">On Tue, Jan 3, 2012 at 1:01 AM, Matthew Dowle <span dir="ltr">&lt;<a href="mailto:mdowle@mdowle.plus.com">mdowle@mdowle.plus.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Yes, it&#39;s likely the same issue. Making progress on it now can<br>
reproduce, thanks to Chris. There is another crash bug already fixed in<br>
1.7.8 but that&#39;s probably not the one you&#39;re seeing (looking at your<br>
minimal code, thanks). If you wanted to practice upgrading to 1.7.8 by<br>
installing RTools on Windows and building the package it would be really<br>
useful to have you confirm the fix works (when ready), as well as Chris<br>
(Linux), before releasing to CRAN.  Unfortunately R-Forge&#39;s nightly<br>
binary build isn&#39;t very reliable, but RTools makes it very easy to<br>
compile packages from source on Windows.<br>
<span class="HOEnZb"><font color="#888888"><br>
Matthew<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On Mon, 2012-01-02 at 15:41 +0100, Christoph Jäckel wrote:<br>
&gt; Hi Chris,<br>
&gt;<br>
&gt;<br>
&gt; thanks for your reply. I was not aware that you were able to give<br>
&gt; Matthew code that breaks. So hopefully it&#39;s the same issue and Matthew<br>
&gt; can figure something out. Unfortunately, I&#39;m struggling enough with R<br>
&gt; already and I&#39;m completely useless when it comes to C...I guess I<br>
&gt; should put that on my todo-list for 2012 ;-)<br>
&gt;<br>
&gt; On Mon, Jan 2, 2012 at 3:31 PM, Chris Neff &lt;<a href="mailto:caneff@gmail.com">caneff@gmail.com</a>&gt; wrote:<br>
&gt;         I worked with Matthew a lot and we found that the code I<br>
&gt;         managed to<br>
&gt;         give him would not crash on 32-bit, but would on 64-bit (on<br>
&gt;         both 2.12<br>
&gt;         and 2.14).  It looks like you are running 64-bit as well, so<br>
&gt;         you may<br>
&gt;         very well be seeing the same issue I am.  I&#39;ll let him respond<br>
&gt;         with<br>
&gt;         more though :)<br>
&gt;<br>
&gt;         On 2 January 2012 03:40, Christoph Jäckel<br>
&gt;         &lt;<a href="mailto:christoph.jaeckel@wi.tum.de">christoph.jaeckel@wi.tum.de</a>&gt; wrote:<br>
&gt;         &gt; Note: I posted this on Nabble before, but it keeps telling<br>
&gt;         me that it has<br>
&gt;         &gt; not been accepted by the mailing list. So this might be a<br>
&gt;         duplicate.<br>
&gt;         &gt;<br>
&gt;         &gt; Hi together,<br>
&gt;         &gt;<br>
&gt;         &gt; I recently encountered severe problems with R (see my post<br>
&gt;         on stackoverflow<br>
&gt;         &gt;<br>
&gt;         here: <a href="http://stackoverflow.com/questions/8616862/r-terminates-with-error-message-this-application-has-requested-the-runtime-to-t" target="_blank">http://stackoverflow.com/questions/8616862/r-terminates-with-error-message-this-application-has-requested-the-runtime-to-t</a>).<br>


&gt;         &gt; Spending the whole day digging further into the problem, I<br>
&gt;         was able to<br>
&gt;         &gt; produce rather minimal code that crashes my RStudio session.<br>
&gt;         I confirmed<br>
&gt;         &gt; this on two different machines (see details at the end).  If<br>
&gt;         I run this code<br>
&gt;         &gt; in my Linux Terminal, I get the following error:<br>
&gt;         &gt;<br>
&gt;         &gt;  *** caught segfault ***<br>
&gt;         &gt; address (nil), cause &#39;unknown&#39;<br>
&gt;         &gt;<br>
&gt;         &gt; Traceback:<br>
&gt;         &gt;  1: as.data.frame.Date(x[[i]], optional = TRUE)<br>
&gt;         &gt;  2: as.data.frame(x[[i]], optional = TRUE)<br>
&gt;         &gt;  3: data.frame(ID = rep(1:100, each = n/100), intTime =<br>
&gt;         rep(1:(n/100),<br>
&gt;         &gt; times = 100), FYE = lDate1 + 1:n)<br>
&gt;         &gt;<br>
&gt;         &gt; So it looks like a similar problem  to caneff&#39;s<br>
&gt;         &gt;<br>
&gt;         problem: <a href="http://r.789695.n4.nabble.com/Random-segfaults-td4195472i20.html" target="_blank">http://r.789695.n4.nabble.com/Random-segfaults-td4195472i20.html</a><br>
&gt;         &gt;<br>
&gt;         &gt; So my two questions are:<br>
&gt;         &gt; 1. Can you confirm this? (Sometimes, I have to run the code<br>
&gt;         a couple of<br>
&gt;         &gt; times to get R to crash)<br>
&gt;         &gt; 2. What is the cause? (Interestingly, I need to add the line<br>
&gt;         DT[, reportDate<br>
&gt;         &gt; := NA] to get the code breaking, although this line seems<br>
&gt;         completely<br>
&gt;         &gt; irrelevant for the further computations. For me, R closes<br>
&gt;         when the last line<br>
&gt;         &gt; is run.)<br>
&gt;         &gt;<br>
&gt;         &gt; Rather minimal code:<br>
&gt;         &gt;<br>
&gt;         &gt; get_diff_month &lt;- function(actualDate, baseDate) {<br>
&gt;         &gt;<br>
&gt;         &gt;   #Because data.table also has a month function<br>
&gt;         &gt;   return(month(actualDate) - month(baseDate) +<br>
&gt;         12*(year(actualDate) -<br>
&gt;         &gt; year(baseDate)))<br>
&gt;         &gt; }<br>
&gt;         &gt; library(data.table)<br>
&gt;         &gt;<br>
&gt;         &gt; n &lt;- 100000<br>
&gt;         &gt; lDate1 &lt;- as.Date(&quot;1jan1900&quot;, &quot;%d%b%Y&quot;)#dmy(&quot;1Jan1900&quot;)<br>
&gt;         &gt; lDate2 &lt;- as.Date(&quot;1jan1901&quot;, &quot;%d%b%Y&quot;)#dmy(&quot;1Jan1901&quot;)<br>
&gt;         &gt; df &lt;- data.frame(ID = rep(1:100, each=n/100),<br>
&gt;         &gt;                  intTime = rep(1:(n/100), times=100),<br>
&gt;         &gt;                  FYE=lDate1 + 1:n)<br>
&gt;         &gt; DT &lt;- as.data.table(df)<br>
&gt;         &gt; DT[rbinom(n, size=1, prob=0.05)==1, FYE:=NA]<br>
&gt;         &gt; DT[, reportDate := NA] #Bad line: comment it out and nothing<br>
&gt;         breaks!<br>
&gt;         &gt; DT[, intFYE      := get_diff_month(FYE, as.Date(&quot;1jan1900&quot;,<br>
&gt;         &quot;%d%b%Y&quot;))]<br>
&gt;         &gt; intDT &lt;- DT[ , list(FYE, intTime, ID)]<br>
&gt;         &gt; newDates &lt;- intDT[, intTime] - 1<br>
&gt;         &gt; intDT[, intTime := newDates]<br>
&gt;         &gt; #Set keys<br>
&gt;         &gt; key(DT)    &lt;- c(&quot;ID&quot;, &quot;intTime&quot;)<br>
&gt;         &gt; key(intDT) &lt;- c(&quot;ID&quot;, &quot;intTime&quot;)<br>
&gt;         &gt; DT &lt;- merge(DT, intDT, all.x=TRUE)<br>
&gt;         &gt; DT[, intFYE_Next := get_diff_month(FYE.y,<br>
&gt;         as.Date(&quot;1jan1900&quot;, &quot;%d%b%Y&quot;))]<br>
&gt;         &gt;<br>
&gt;         &gt; sessionInfo() 1:<br>
&gt;         &gt;<br>
&gt;         &gt; R version 2.13.2 (2011-09-30)<br>
&gt;         &gt; Platform: x86_64-pc-linux-gnu (64-bit)<br>
&gt;         &gt;<br>
&gt;         &gt; locale:<br>
&gt;         &gt;  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C<br>
&gt;         &gt; LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8<br>
&gt;         LC_MONETARY=C<br>
&gt;         &gt;<br>
&gt;         &gt;  [6] LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8<br>
&gt;         LC_NAME=C<br>
&gt;         &gt;          LC_ADDRESS=C               LC_TELEPHONE=C<br>
&gt;         &gt; [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C<br>
&gt;         &gt;<br>
&gt;         &gt; attached base packages:<br>
&gt;         &gt; [1] stats     graphics  grDevices utils     datasets<br>
&gt;          methods   base<br>
&gt;         &gt;<br>
&gt;         &gt; other attached packages:<br>
&gt;         &gt; [1] data.table_1.7.7<br>
&gt;         &gt;<br>
&gt;         &gt; loaded via a namespace (and not attached):<br>
&gt;         &gt; [1] tools_2.13.2<br>
&gt;         &gt;<br>
&gt;         &gt; sessionInfo() 2:<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt; R version 2.14.0 (2011-10-31)<br>
&gt;         &gt; Platform: x86_64-pc-mingw32/x64 (64-bit)<br>
&gt;         &gt;<br>
&gt;         &gt; locale:<br>
&gt;         &gt; [1] C<br>
&gt;         &gt;<br>
&gt;         &gt; attached base packages:<br>
&gt;         &gt; [1] stats     graphics  grDevices utils     datasets<br>
&gt;          methods   base<br>
&gt;         &gt;<br>
&gt;         &gt; other attached packages:<br>
&gt;         &gt; [1] data.table_1.7.7<br>
&gt;         &gt;<br>
&gt;         &gt; loaded via a namespace (and not attached):<br>
&gt;         &gt; [1] tools_2.14.0<br>
&gt;         &gt;<br>
&gt;         &gt; Thanks Christoph<br>
&gt;         &gt;<br>
&gt;         &gt; --<br>
&gt;         &gt;<br>
&gt;         --------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;         &gt;<br>
&gt;         &gt; Christoph Jäckel (Dipl.-Kfm.)<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         --------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;         &gt;<br>
&gt;         &gt; Research Assistant<br>
&gt;         &gt;<br>
&gt;         &gt; Chair for Financial Management and Capital Markets |<br>
&gt;         Lehrstuhl für<br>
&gt;         &gt; Finanzmanagement und Kapitalmärkte<br>
&gt;         &gt;<br>
&gt;         &gt; TUM School of Management | Technische Universität München<br>
&gt;         &gt;<br>
&gt;         &gt; Arcisstr. 21 | D-80333 München | Germany<br>
&gt;         &gt;<br>
&gt;         &gt; Mailto: <a href="mailto:christoph.jaeckel@wi.tum.de">christoph.jaeckel@wi.tum.de</a> | Web: <a href="http://www.fm.wi.tum.de" target="_blank">www.fm.wi.tum.de</a><br>
&gt;         &gt;<br>
&gt;         &gt; Phone: <a href="tel:%2B49%2089%20289%2025487" value="+498928925487">+49 89 289 25487</a> | Fax: <a href="tel:%2B49%2089%20289%2025488" value="+498928925488">+49 89 289 25488</a><br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt; Head of Chair:<br>
&gt;         &gt;<br>
&gt;         &gt; Univ.-Prof. Dr. Christoph Kaserer<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         ----------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;         &gt;<br>
&gt;         &gt; E-Mail Disclaimer<br>
&gt;         &gt;<br>
&gt;         &gt; Der Inhalt dieser E-Mail ist vertraulich und ausschliesslich<br>
&gt;         &gt; fuer den bezeichneten Adressaten bestimmt. Wenn Sie nicht<br>
&gt;         &gt; der vorgesehene Adressat dieser E-Mail oder dessen Vertreter<br>
&gt;         &gt; sein sollten, so beachten Sie bitte, dass jede Form der<br>
&gt;         &gt; Kenntnisnahme, Veroeffentlichung, Vervielfaeltigung oder<br>
&gt;         &gt; Weitergabe des Inhalts dieser E-Mail unzulaessig ist. Wir<br>
&gt;         &gt; bitten Sie, sich in diesem Fall mit dem Absender der E-Mail<br>
&gt;         &gt; in Verbindung zu setzen.<br>
&gt;         &gt;<br>
&gt;         &gt; The information contained in this email is confidential. It<br>
&gt;         is<br>
&gt;         &gt; intended solely for the addressee. Access to this email by<br>
&gt;         &gt; anyone else is unauthorized if you are not the intended<br>
&gt;         &gt; recipient, any form of disclosure, reproduction,<br>
&gt;         distribution<br>
&gt;         &gt; or any action taken or refrained from in reliance on it, is<br>
&gt;         &gt; prohibited and may be unlawful. Please notify the sender<br>
&gt;         &gt; immediately.<br>
&gt;         &gt;<br>
&gt;         ----------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;         &gt;<br>
&gt;<br>
&gt;         &gt; _______________________________________________<br>
&gt;         &gt; datatable-help mailing list<br>
&gt;         &gt; <a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a><br>
&gt;         &gt;<br>
&gt;         <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; --------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;<br>
&gt; Christoph Jäckel (Dipl.-Kfm.)<br>
&gt;<br>
&gt; --------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;<br>
&gt; Research Assistant<br>
&gt;<br>
&gt; Chair for Financial Management and Capital Markets | Lehrstuhl für<br>
&gt; Finanzmanagement und Kapitalmärkte<br>
&gt;<br>
&gt; TUM School of Management | Technische Universität München<br>
&gt;<br>
&gt; Arcisstr. 21 | D-80333 München | Germany<br>
&gt;<br>
&gt; Mailto: <a href="mailto:christoph.jaeckel@wi.tum.de">christoph.jaeckel@wi.tum.de</a> | Web: <a href="http://www.fm.wi.tum.de" target="_blank">www.fm.wi.tum.de</a><br>
&gt;<br>
&gt; Phone: <a href="tel:%2B49%2089%20289%2025487" value="+498928925487">+49 89 289 25487</a> | Fax: <a href="tel:%2B49%2089%20289%2025488" value="+498928925488">+49 89 289 25488</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Head of Chair:<br>
&gt;<br>
&gt; Univ.-Prof. Dr. Christoph Kaserer<br>
&gt;<br>
&gt; ----------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;<br>
&gt; E-Mail Disclaimer<br>
&gt;<br>
&gt; Der Inhalt dieser E-Mail ist vertraulich und ausschliesslich<br>
&gt; fuer den bezeichneten Adressaten bestimmt. Wenn Sie nicht<br>
&gt; der vorgesehene Adressat dieser E-Mail oder dessen Vertreter<br>
&gt; sein sollten, so beachten Sie bitte, dass jede Form der<br>
&gt; Kenntnisnahme, Veroeffentlichung, Vervielfaeltigung oder<br>
&gt; Weitergabe des Inhalts dieser E-Mail unzulaessig ist. Wir<br>
&gt; bitten Sie, sich in diesem Fall mit dem Absender der E-Mail<br>
&gt; in Verbindung zu setzen.<br>
&gt;<br>
&gt; The information contained in this email is confidential. It is<br>
&gt; intended solely for the addressee. Access to this email by<br>
&gt; anyone else is unauthorized if you are not the intended<br>
&gt; recipient, any form of disclosure, reproduction, distribution<br>
&gt; or any action taken or refrained from in reliance on it, is<br>
&gt; prohibited and may be unlawful. Please notify the sender<br>
&gt; immediately.<br>
&gt; ----------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; datatable-help mailing list<br>
&gt; <a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a><br>
&gt; <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help</a><br>
<br>
<br>
</div></div></blockquote></div><br>