[Rcpp-devel] Rcpp matrix generation crashes my R session

Marc Jekel mjekel at uni-bonn.de
Sat Jun 22 18:10:17 CEST 2013


Dear Rcpp users,

I am a beginner, I was inspired by the new book by Eddelbuettel and just 
started to use Rccp. So far, everything works fine except for one 
function. The strange thing about it is that I runs perfectly when I 
call it several times but crashes my R session at some point (usually 
after the third call). I checked it on two Win 8 PCS to make sure it is 
nothing related to my PC.

Here is the code:

##########

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
NumericMatrix transPCSpairwiseComp_C(
NumericVector validities,
NumericMatrix pattern,
int numbCues
){

NumericMatrix weightsNet(numbCues+3,numbCues+3);

for(int loop = 0; loop < numbCues; loop++){

   weightsNet(0,1+loop) = validities[loop];
}

for(int loopCol = 0; loopCol < numbCues; loopCol++){
for(int loop = 0; loop < numbCues; loop++){
weightsNet(1+loopCol, numbCues + 1 + loop)=
pattern(loopCol,loop);

}}

weightsNet(numbCues+1, numbCues+1) = 0;
weightsNet(numbCues+1, numbCues+2) = -.2;

for(int LoopCol = 0; LoopCol < weightsNet.nrow(); LoopCol++){
for(int LoopRow = 0; LoopRow < weightsNet.nrow(); LoopRow++){
weightsNet(LoopCol,LoopRow) = weightsNet(LoopCol,LoopRow) + 
weightsNet(LoopRow,LoopCol);
}}


return weightsNet;
}

#########

So it is very basic code, a matrix is created based on three inputs (the 
vector "validities", the matrix "pattern", and the integer "numbCues"). 
My impression is that the very first command (creating the matrix 
weightsNet) is problematic because R also crashes when I delete all 
other code (although usually not after the third time I call it).

Thanks for any hint!

Marc





More information about the Rcpp-devel mailing list