Hello R-help list,

I have a piece of code written by a grad student here at BU which will segfault 
when using one data set, but complete just fine using another.  Both sets are 
just text files full of real numbers.

It seems like a bug within R.  It could be a bug within her data, but
again, her data is just a bunch of floats, so her data could be
triggering a bug within R.  I have tried this with two different rpm packages 
of R for Linux (R-2.8.0-1.rh5 and R-2.8.1-1.rh5) as well as a fresh build that 
I just did of the prerelease R-beta_2009-04-02_r48271.tar.gz
I have also tried installing the absolute newest versions of  
glmnet_1.1-3.tar.gz and Matrix_0.999375-23.tar.gz.  In all cases, the exact 
same error occurs.

Can anyone try this and let me know what they think is happening?  Thanks!

Download and untar the following file:
http://www.sendspace.com/file/siboaw

Then go into either the "works" or the "segfaults" directory.  The .r files are 
identical in both, but the data is different.  Both data sets are just a bunch 
of real numbers. Run:

R --vanilla < 200.r

Make sure you've got Matrix and glmnet in your Rlibs.  Change the line at the 
top of the .R file to reflect where your Rlibs are instead of mine.  In the 
"works" directory, this will run for a bit, and then, using the old data, it 
will begin to dump out solutions.  If you were to give it a few hours, it would 
complete.  (You don't need to bother.)

In the "segfaults" directory, however, it will segfault with the following
traceback before it gets to the point in the code where it dumps out
solutions at all:

  *** caught segfault ***
address (nil), cause 'memory not mapped'

Traceback:
 1: .Fortran("elnet", ka, parm = alpha, nobs, nvars, as.double(x),    
y, weights,
 jd, vp, ne, nx, nlam, flmin, ulam, thresh, isd,     lmu = integer(1),
a0 = double
(nlam), ca = double(nx * nlam),     ia = integer(nx), nin =
integer(nlam), rsq = d
ouble(nlam),     alm = double(nlam), nlp = integer(1), jerr =
integer(1),     PACK
AGE = "glmnet")
 2: glmnet(xstd$sdat, ystd$sdat, family = c("gaussian"), lambda =
lambda,     stan
dardize = FALSE, type = c("naive"))
 3: sl_cv.glmnet(Xnew, ynew, K = 10, fit_all$lambda)
aborting ...


Thanks again!

Dan Kamalic
Director of Systems Analysis / Administration
Boston University Department of Biomedical Engineering


      
        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to