[Rcpp-devel] Vector allocation memory problem
Dirk Eddelbuettel
edd at debian.org
Fri Apr 8 14:36:02 CEST 2011
On 8 April 2011 at 09:12, Cedric Ginestet wrote:
| Hi guys,
|
| I have encountered a reproducible error in using Rcpp, which I have reported
| below. Basically, while allocation of elements in a vector to a particular
| value works well for vectors of small sizes, this returns an error when the
| size of that vector is increased. Either it returns a giblc error or it hangs
| and never resumes. I have reproduced this error on two different Linux
| distributions (Ubuntu 10.10 and 10.04 with g++ 4.4.1 and R 2.12.1).
|
| ####################################################
| library(Rcpp)
| library(inline)
|
| src <- '
| Rcpp::IntegerMatrix xA(A);
| int n=xA.nrow();
| NumericVector dist(n);
| for(int i=0;i<=n;i++){dist[i]=1.0;}
| return dist;'
| cxxfun <- cxxfunction(sig=signature(A="matrix"),body=src,plugin="Rcpp",verbose=
| TRUE)
|
| ## Tests.
| n <- 20; A <- matrix(0,n,n); dist <- cxxfun(A);
| n <- 200; A <- matrix(0,n,n); dist <- cxxfun(A);
| n <- 2000; A <- matrix(0,n,n); dist <- cxxfun(A);
| *** glibc detected *** /usr/lib/R/bin/exec/R: double free or corruption (!
| prev): 0x08cfc278 ***
|
| ####################################################
|
| Is there something that I doing wrong there?
Yup, look like you found a bug. Even with small size (n=20, n=30, n=40)
I end up with the glibc error. Nasty. We'll take a look.
Dirk
| Thank you very much for your help,
| Ced
|
|
| --
| Cedric Ginestet
| Centre for Neuroimaging Sciences (L3.04)
| NIHR Biomedical Research Centre
| Institute of Psychiatry, Box P089
| Kings College London
| De Crespigny Park
| London
| SE5 8AF
|
| ----------------------------------------------------------------------
| _______________________________________________
| 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
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the Rcpp-devel
mailing list