[Rcpp-devel] Possible regression in R-3.2.3 or Rcpp 0.12.3

Paul Johnson pauljohn32 at gmail.com
Mon Feb 1 17:16:11 CET 2016


Thanks, KK for studying this one.

Am I doing this wrong?

> devtools::install_github("thirdwing/Rcpp", ref = "subsetter")
Downloading GitHub repo thirdwing/Rcpp at subsetter
from URL https://api.github.com/repos/thirdwing/Rcpp/zipball/subsetter
Error in download(dest, src, auth) : Not Found (HTTP 404).
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 15.10

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] httr_1.1.0      R6_2.1.1        tools_3.2.3     curl_0.9.5
[5] memoise_0.2.1   git2r_0.13.1    digest_0.6.8    devtools_1.10.0


I'm glad I found MLPACK while looking at your GitHub. That has neat
features, which I'll try out. We have a big data workgroup here and
I'll look smart.


On Fri, Jan 29, 2016 at 4:55 PM, Qiang Kou <qkou at umail.iu.edu> wrote:
> Hi, Paul, can you try my fork of Rcpp? You can install it by the line below:
>
> devtools::install_github("thirdwing/Rcpp", ref = "subsetter")
>
> This fixed the segfault on my Ubuntu machine.
>
> The difference can be found from [1].
>
> In subsetter, 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.
>
> Dirk and Kevin, do you have any thoughts on it?
>
> Best wishes,
>
> KK
>
> [1]
> https://github.com/thirdwing/Rcpp/commit/216c5220bcb84778a656b3496d0f1803b973ef61
>
>
> On Fri, Jan 29, 2016 at 3:00 PM, Qiang Kou <qkou at umail.iu.edu> wrote:
>>
>> Hi, Kevin, I was also trying to track this down yesterday.
>>
>> From the debugging info below, indices_n is not equal to length of
>> indices, which I don't quite understand.
>>
>> Program received signal SIGSEGV, Segmentation fault.
>>
>> 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 at entry=0x7fffffff79a0)
>>
>>     at
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/vector/Subsetter.h:200
>>
>> 199             output[i] = lhs[ indices[i] ];
>>
>> (gdb) p i
>>
>> $1 = 33622
>>
>> (gdb) p indices[i]
>>
>> Cannot access memory at address 0x34c6e000
>>
>> (gdb) p indices_n
>>
>> $2 = 9594546
>>
>>
>> On Fri, Jan 29, 2016 at 2:29 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
>>>
>>>
>>> On 29 January 2016 at 11:27, Kevin Ushey wrote:
>>> | When I add some debug printing to the associated subscripting line
>>> |
>>> (https://github.com/awalker89/openxlsx/blob/b92bb3acdd6ea759be928c298c6faeef2f26fa3e/src/cppFunctions.cpp#L2608),
>>> | I see:
>>> |
>>> |    colNumbers.size(): 98,03,150
>>> |    charCols.size(): 95,94,546
>>> |
>>> | It looks to me like the package is erroneously attempting to subset
>>> | vectors of different sizes, causing out-of-bounds reads.
>>>
>>> Nice work.
>>>
>>> | Unfortunately, Rcpp is not detecting or warning about this...
>>> |
>>> | Either way, I believe this is a bug in the openxlsx package, but Rcpp
>>> | should be checking / reporting this.
>>>
>>> With (Rcpp)Armadillo you do have an option of turning this on/off. With
>>> Rcpp
>>> alone not quite.
>>>
>>> Dirk
>>>
>>> --
>>> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>>> _______________________________________________
>>> 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
>>
>>
>>
>>
>> --
>> Qiang Kou
>> qkou at umail.iu.edu
>> School of Informatics and Computing, Indiana University
>>
>
>
>
> --
> Qiang Kou
> qkou at umail.iu.edu
> School of Informatics and Computing, Indiana University
>
>
> _______________________________________________
> 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



-- 
Paul E. Johnson
Professor, Political Science        Director
1541 Lilac Lane, Room 504      Center for Research Methods
University of Kansas                 University of Kansas
http://pj.freefaculty.org              http://crmda.ku.edu


More information about the Rcpp-devel mailing list