<div dir="ltr">Hi, Paul, can you try my fork of Rcpp? You can install it by the line below:<div><br></div><div><div>devtools::install_github("thirdwing/Rcpp", ref = "subsetter")</div><div><br></div><div>This fixed the segfault on my Ubuntu machine.</div><div><br></div><div>The difference can be found from [1].<br></div><div><br></div><div>In <b>subsetter</b>, if an IntegerVector passed in, we will try to reuse it. This led to a segfault in this case, which I don't know why.</div><div><br></div><div>Dirk and Kevin, do you have any thoughts on it?</div><div><br></div><div>Best wishes,</div><div><br></div><div>KK</div><div><br></div><div>[1] <a href="https://github.com/thirdwing/Rcpp/commit/216c5220bcb84778a656b3496d0f1803b973ef61">https://github.com/thirdwing/Rcpp/commit/216c5220bcb84778a656b3496d0f1803b973ef61</a></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 29, 2016 at 3:00 PM, Qiang Kou <span dir="ltr"><<a href="mailto:qkou@umail.iu.edu" target="_blank">qkou@umail.iu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">







<p>Hi, Kevin, I was also trying to track this down yesterday.</p><p>From the debugging info below, <b>indices_n</b> is not equal to length of <b>indices</b>, which I don't quite understand.</p><span class=""><p><span>Program received signal SIGSEGV, Segmentation fault.</span></p>
</span><p><span>0x00007ffff2ed5c4e in Rcpp::SubsetProxy<13, Rcpp::PreserveStorage, 13, true, Rcpp::sugar::Minus_Vector_Primitive<13, true, Rcpp::Vector<13, Rcpp::PreserveStorage> > >::get_vec (this=this@entry=0x7fffffff79a0)</span></p>
<p><span>    at /usr/local/lib/R/site-library/Rcpp/include/Rcpp/vector/Subsetter.h:200</span></p><span class="">
<p><span><span>199 </span>            output[i] = lhs[ indices[i] ];</span></p>
</span><p><span>(gdb) p i</span></p>
<p><span>$1 = 33622</span></p>
<p><span>(gdb) p indices[i]</span></p>
<p><span>Cannot access memory at address 0x34c6e000</span></p>
<p><span>(gdb) p indices_n</span></p>
<p><span>$2 = 9594546</span></p></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Fri, Jan 29, 2016 at 2:29 PM, Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
On 29 January 2016 at 11:27, Kevin Ushey wrote:<br>
| When I add some debug printing to the associated subscripting line<br>
| (<a href="https://github.com/awalker89/openxlsx/blob/b92bb3acdd6ea759be928c298c6faeef2f26fa3e/src/cppFunctions.cpp#L2608" rel="noreferrer" target="_blank">https://github.com/awalker89/openxlsx/blob/b92bb3acdd6ea759be928c298c6faeef2f26fa3e/src/cppFunctions.cpp#L2608</a>),<br>
| I see:<br>
|<br>
|    colNumbers.size(): 98,03,150<br>
|    charCols.size(): 95,94,546<br>
|<br>
| It looks to me like the package is erroneously attempting to subset<br>
| vectors of different sizes, causing out-of-bounds reads.<br>
<br>
</span>Nice work.<br>
<span><br>
| Unfortunately, Rcpp is not detecting or warning about this...<br>
|<br>
| Either way, I believe this is a bug in the openxlsx package, but Rcpp<br>
| should be checking / reporting this.<br>
<br>
</span>With (Rcpp)Armadillo you do have an option of turning this on/off. With Rcpp<br>
alone not quite.<br>
<span><font color="#888888"><br>
Dirk<br>
</font></span><div><div><br>
--<br>
<a href="http://dirk.eddelbuettel.com" rel="noreferrer" target="_blank">http://dirk.eddelbuettel.com</a> | @eddelbuettel | <a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a><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" rel="noreferrer" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div></div></div><span class="">-- <br><div><div dir="ltr">Qiang Kou<div><a href="mailto:qkou@umail.iu.edu" target="_blank">qkou@umail.iu.edu</a><br><div>School of Informatics and Computing, Indiana University</div><div><br></div></div></div></div>
</span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Qiang Kou<div><a href="mailto:qkou@umail.iu.edu" target="_blank">qkou@umail.iu.edu</a><br><div>School of Informatics and Computing, Indiana University</div><div><br></div></div></div></div>
</div>