[Rcpp-devel] Fwd: CRAN submission growfunctions 0.1

terrance savitsky tds151 at gmail.com
Sun Aug 10 00:23:57 CEST 2014


Hi Dirk, The revised version of this toy package, sparseList, does exactly
what you request.  I've included a data set that is of the same
construction (of dgCMatrix elements from R::Matrix wrapped into a list
object) and have added both an example and test that call this data.  The
package is minimal, with a simple .cpp function (that reads in the list of
dgCMatrix objects and writes the elements to an arma::field<arma:sp_mat>)
 to isolate the source of the error in growfunctions.

I attach the tarball, which you may also access through the following URL:

https://drive.google.com/file/d/0B0DIDcaf6yMwZDRDZUNLd0lBbmZ3OHlHSzIyeV9hZ3RxZ0xr/edit?usp=sharing

I hope this gives you what you need and thanks very much for looking into
this.

Terrance
​
 sparseList_1.1.tar.gz
<https://docs.google.com/file/d/0B0DIDcaf6yMwZDRDZUNLd0lBbmZ3OHlHSzIyeV9hZ3RxZ0xr/edit?usp=drive_web>
​


On Sat, Aug 9, 2014 at 5:25 PM, Dirk Eddelbuettel <edd at debian.org> wrote:

>
> Hi Terrance,
>
> On 9 August 2014 at 16:58, terrance savitsky wrote:
> | Hi Guys,
> |
> | I embed a data list object of dgCMatrix elements (produced in the same
> manner
> | as used in package, growfunctions) in an .RData file located in the
> sparseList
> | \data folder. I'm not sure what script and data ASAN uses to conduct the
> memory
> | check.  I'm guessing the package examples are run.  So I added an
> example that
> | loads the .RData object embedded with this toy package, sparseList.
> Please
> | pardon me if my understanding is off.   I also embedd an R script in the
> single
>
> It's not complicated.
>
> 'R CMD check' needs a code path that does this, which can be as simple as
> an
> example section in the manual page (mayne you meant this by 'added an
> example').  Or something tickled via a test script in tests/.
>
> You submitted a CRAN package. It has testable code. It failed. We now need
> a
> _minimal reproducible example_, ideally without a long tail of
> dependencies,
> to examine it.
>
> | toy package .cpp file that generates the same data (list object of
> dgCMatrix
> | objects created using R::Matrix) and runs an example.
> |
> | Terrance
> | ​
> |
> | [icon_10_ge] sparseList_1.1.tar.gz
>
> Can you update to a version which loads data and passes down to the code
> which was seen to tickle this?
>
> And then place it somewhere where we can get it with a simple wget or curl
> call.
>
> Thanks, Dirk
>>
> |
> | On Sat, Aug 9, 2014 at 3:02 PM, Kevin Ushey <kevinushey at gmail.com>
> wrote:
> |
> |     Hi Terrance,
> |
> |     Can you please try to construct a reproducible example based on the
> |     (tagged, potentially offending) line of code -- that is,
> |
> |         #4 0x7f79b6541df0 in IGMRFDPMIX
> |
> /data/gannet/ripley/R/packages/tests-49x/growfunctions/src/dpmix.cpp:63
> |
> |     which has the line:
> |
> |         C(k,0)          = as<sp_mat>(Cr[k]);
> |
> |     Can you construct a small, reproducible example using objects 'C',
> |     'Cr' as you construct in the package, and then see if that gives a
> |     similar error?
> |
> |     Preferably you can construct this using Rcpp Attributes, so an
> example
> |     of the form
> |
> |         // [[Rcpp::depends(RcppArmadillo)]]
> |
> |         #include <RcppArmadillo.h>
> |         using namespace Rcpp;
> |
> |         // [[Rcpp::export]]
> |         SEXP test(SEXP C, SEXP Cr) {
> |           ... use C, Cr as above...
> |         }
> |
> |         /*** R
> |         ... construct C, Cr on the R side as necessary ...
> |         */
> |
> |     That way, we can 'sourceCpp' it and immediately investigate.
> |
> |     Thanks,
> |     Kevin
> |
> |     On Sat, Aug 9, 2014 at 11:31 AM, terrance savitsky <tds151 at gmail.com
> >
> |     wrote:
> |     > Dirk,  Thanks much for taking the time to investigate this issue.
>  I've
> |     > created a package (sparseList_1.0.tar.gz) with a minimal example
> of what
> |     > writing from a list of dgCMatrix matrices at the R layer to a field
> |     <sp_mat>.
> |     > I had intended to install boot2docker and use load your R-devel
> set-up to
> |     a
> |     > container so that I could replicate the ASAN-generated error.  Its
> taking
> |     me
> |     > longer than I'd hoped, however, so - for now - I include the
> package
> |     tarball
> |     > with the minimal example and also an R script
> (sparse_list_to_field.R) so
> |     > that you may see what the function does.
> |     > Terrance
> |     >  sparse_list_to_field.R
> |     >
> |     >  sparseList_1.0.tar.gz
> |     >
> |     >
> |     >
> |     > On Sat, Aug 9, 2014 at 11:50 AM, Dirk Eddelbuettel <edd at debian.org
> >
> |     wrote:
> |     >>
> |     >>
> |     >> Terrance,
> |     >>
> |     >> So I took a look with one of the prebuilt versions of R using the
> Docker
> |     >> container I prepare (see the blog / sanitizers write-up I linked
> to) as
> |     I
> |     >> realized that we had a Rcpp Gallery post similar to what that as<>
> |     >> conversion
> |     >> does.
> |     >>
> |     >> And no issue with that code.
> |     >>
> |     >> From a brief look at your package it seems like you are pushing
> the
> |     >> envelope
> |     >> a lot harder with fields and list of sparse matrices ( in
> dpmix.cpp,
> |     where
> |     >> another ASAN log pointed to ) so you may have to debug around
> there.
> |     >>
> |     >> A small reproducible example would surely help us. So far I don't
> have
> |     one
> |     >> for as<sp_mat>.
> |     >>
> |     >> Dirk
> |     >>
> |     >> --
> |     >> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
> |     >
> |     >
> |     >
> |     >
> |     > --
> |     > Thank you, Terrance Savitsky
> |     >
> |     > _______________________________________________
> |     > 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
> |
> |
> |
> |
> | --
> | Thank you, Terrance Savitsky
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>



-- 
Thank you, Terrance Savitsky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20140809/0d081414/attachment-0001.html>


More information about the Rcpp-devel mailing list