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. 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. Kevin On Fri, Jan 29, 2016 at 4:52 AM, Dirk Eddelbuettel <e...@debian.org> wrote: > > On 28 January 2016 at 21:47, Paul Johnson wrote: > | Thanks. > | > | On Thu, Jan 28, 2016 at 2:42 PM, Dirk Eddelbuettel <e...@debian.org> wrote: > | > > | > Paul, > | > > | > I can reproduce the segfault on Ubuntu 15.10, "everything current". > | > Definitely a valid bug report, though a 30mb xlsx may not qualify as > | > minimal. > | > > | I'm glad I did not attach it to an email, then :) > | > | The data xlsx provided by the client is about 2 times as big, I had a > | GRA whittled it down for your entertainment. > | > | If we whittle xlsx file down to a few lines, it does not seg fault, > apparently. > | > | I'm going crazy trying to downgrade R in Ubuntu see where that leads. > | I was using 3.2.2 until a couple of days ago and I never saw a hint of > | trouble from Rcpp or openxlsx. > > Sorry that is so frustrating, I know. Maybe using clang++ can help as it did > for KK on OS X. (Though clang++ remains frustrating on Ubuntu as you have to > fiddle with -I... switches.) > > Dirk > | > | > I won't have time to look at this for a while though so if you find that > | > downgrading helps that may be your best bet. > | > > | > Thanks for the report. I am so used to simple segfaults from ABI mixings > | > (g++-5.* will do that for you...) that I called this wrongly at first. > | > > | > Dirk > | > > | > /tmp/pj/openxlsx_failure$ Rscript > | > Reproducible_openxlsx_failure.R > | > 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 > | > LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 > | > LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 > LC_PAPER=en_US.UTF-8 > | > [8] LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C > | > LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C > | > > | > attached base packages: > | > [1] stats graphics grDevices utils datasets base > | > > | > other attached packages: > | > [1] openxlsx_3.0.0 > | > > | > loaded via a namespace (and not attached): > | > [1] Rcpp_0.12.3.1 methods_3.2.3 > | > > | > *** caught segfault *** > | > address 0x7fd5b83d8038, cause 'memory not mapped' > | > > | > Traceback: > | > 1: .Call("openxlsx_readWorkbook", v, r, string_refs, isDate, nRows, > | > colNames, skipEmptyRows, origin, clean_names, PACKAGE = "openxlsx") > | > 2: read.xlsx.default("Failure_to_Import.xlsx", colNames = TRUE) > | > 3: read.xlsx("Failure_to_Import.xlsx", colNames = TRUE) > | > aborting ... > | > > | > > | > -- > | > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org > | > | > | > | -- > | 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 > > -- > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel