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

Paul Johnson pauljohn32 at gmail.com
Mon Feb 1 21:15:49 CET 2016


I confirm you have a solution with GitHub Rcpp.

Thanks very much for your effort.

pj


On Mon, Feb 1, 2016 at 12:06 PM, Qiang Kou <qkou at umail.iu.edu> wrote:
> Hi, Paul,
>
> I am sorry I deleted the branch after merging.
>
> You can just do as Jonathan said.
>
> Best wishes,
>
> KK
>
> On Mon, Feb 1, 2016 at 11:16 AM, Paul Johnson <pauljohn32 at gmail.com> wrote:
>>
>> 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
>
>
>
>
> --
> Qiang Kou
> qkou at umail.iu.edu
> School of Informatics and Computing, Indiana University
>



-- 
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