[Rd] core Matrix package segfaulted on R CMD check --use-gct

Hin-Tak Leung htl10 at users.sourceforge.net
Thu Apr 7 08:51:44 CEST 2011


Douglas Bates wrote:
> I isolated the problem and tested then committed a fix. I am going to
> ask Martin to upload the new release as I have gotten out of sync with
> some of his recent changes and he will, I hope, reconcile the branches
> and trunk.  If you need the fixed version immediately, say for
> testing, the changes are in the file Matrix/src/chm_common.c  You can
> visit the SVN archive for the project,
> https://r-forge.r-project.org/scm/?group_id=61, click on the link to
> Browse Subversion Repository and go to pkg/Matrix/src/chm_common.c
> 
> I made the mistake that I chastised others for making, performing an
> operation on the result of a call to install and another value that
> may have required allocation of memory.  The first time install is
> called on a particular string it allocates and SEXPREC, which may
> cause a garbage collection.

Matrix-for-R-2.13 at 2659 (0.999375-49) has the problem at a different place:
 > pkgname <- "Matrix"
 > source(file.path(R.home("share"), "R", "examples-header.R"))
 > gctorture(TRUE)
 > options(warn = 1)
 > options(error=dump.frames)
 > library('Matrix')
Loading required package: lattice
Error in regexpr("package:", envName, fixed = TRUE) :
   unprotected object (0x2fe5818) encountered (was INTSXP)
Error: package/namespace load failed for 'Matrix'

That aside - with R 2.13 only about a week to go, which version of Matrix will 
it ship?

Either way, since this problem causes dependent packages to crash on load, I 
have made some local changes to load Matrix only on demand and not on library 
initialization, since only one routine needs it. I thought I'd add a warning as 
well, but if R crashes, the warning may not come out in time so there is little 
incentive of emitting a warning which may not be seen.



More information about the R-devel mailing list