Hello Rcpp Developers, I had earlier forwarded a report that initialization of arma::SpMat objects through as<arma::spmat>() in my package generated a memory management fault in valgrind for my package, growfunctions. The issue was sourced (not by me) and a fix was incoporated at RcppArmadillo version 0.4.400 (and I am now using 0.4.550.1.0 in this latest build). I will remove use of the SpMat type from my package as it is not extensively employed, but perhaps the issue warrants further investigation for RcppArmadillo.
Thank you, Terrance Savitsky ---------- Forwarded message ---------- From: Prof Brian Ripley <rip...@stats.ox.ac.uk> Date: Mon, Dec 8, 2014 at 5:33 PM Subject: Re: CRAN submission growfunctions 0.12 To: Terrance Savitsky <tds...@gmail.com>, CRAN <c...@r-project.org> On 08/12/2014 22:04, Prof Brian Ripley wrote: > > And valgrind is still reporting issues in Armadillo, e.g. ==30106== Conditional jump or move depends on uninitialised value(s)==30106== at 0x15EE8D9A: operator!= (test-3.2/RcppArmadillo/ include/armadillo_bits/SpMat_iterators_meat.hpp:239) ==30106== by 0x15EE8D9A: arma::enable_if2<(arma::is_ arma_type<arma::Gen<arma::Mat<double>, arma::gen_ones_diag> >::value&&arma::is_arma_sparse_type<arma::SpM at<double> >::value)&&arma::is_same_type<arma::Gen<arma::Mat<double>, arma::gen_ones_diag>::elem_type, arma::SpMat<double>::elem_type>::value, arma::Mat<arma::Gen<arma::Mat<double>, arma::gen_ones_diag>::elem_type> >::result arma::operator- <arma::Gen<arma::Mat<double>, arma::gen_ones_diag>, arma::SpMat<double> >(arma::Gen<arma::Mat<double>, arma::gen_ones_diag> const&, arma::SpMat<double> const&) (test-3.2/RcppArmadillo/include/armadillo_bits/operator_minus.hpp:281) ==30106== by 0x15EE0FB1: IGMRFDPMIX (packages/incoming/ growfunctions.Rcheck/00_pkg_src/growfunctions/src/dpmix.cpp:66) ==30106== by 0x480C3C: R_doDotCall (svn/R-devel/src/main/dotcode.c:655) ==30106== by 0x48158F: do_dotcall (svn/R-devel/src/main/dotcode.c:1251) /main/eval.c:2034)==30106== Uninitialised value was created by a heap allocation ==30106== at 0x4A09190: memalign (/data/gannet/ripley/Sources/ srcF20/valgrind-3.10.1/coregrind/m_replacemalloc/vg_replace_malloc.c:760) ==30106== by 0x4A092A7: posix_memalign (/data/gannet/ripley/Sources/ srcF20/valgrind-3.10.1/coregrind/m_replacemalloc/vg_replace_malloc.c:913) ==30106== by 0x15EECC85: acquire<unsigned int> (test-3.2/RcppArmadillo/includ e/armadillo_bits/memory.hpp:75) ==30106== by 0x15EECC85: acquire_chunked<unsigned int> (test-3.2/RcppArmadill o/include/armadillo_bits/memory.hpp:111) ==30106== by 0x15EECC85: Rcpp::traits::Exporter<arma::SpMat<double> >::get() (test-3.2/RcppArmadillo/include/RcppArmadilloAs.h:101) ==30106== by 0x15EE1096: as<arma::SpMat<double> > (test-3.2/Rcpp/include/Rcpp /as.h:81) ==30106== by 0x15EE1096: as<arma::SpMat<double> > (test-3.2/Rcpp/include/Rcpp/as.h:144) ==30106== by 0x15EE1096: IGMRFDPMIX (packages/incoming/ growfunctions.Rcheck/00_pkg_src/growfunctions/src/dpmix.cpp:63) ==30106== by 0x480C3C: R_doDotCall (svn/R-devel/src/main/dotcode.c:655) ==30106== by 0x48158F: do_dotcall (svn/R-devel/src/main/dotcode.c:1251) -- Brian D. Ripley, rip...@stats.ox.ac.uk Emeritus Professor of Applied Statistics, University of Oxford 1 South Parks Road, Oxford OX1 3TG, UK -- Thank you, Terrance Savitsky
_______________________________________________ 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