Skip to content
Prev 39689 / 63424 Next

core Matrix package segfaulted on R CMD check --use-gct


        
HL> 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.

    HL> Matrix-for-R-2.13 at 2659 (0.999375-49) has the problem at a different place:

Are you sure that you really took  0.999375-49  and not its
predecessor ???

I haven't been able to reproduce the problem (on 32-bit Linux,
R-2.13.0 RC, after running your code snippet below for a couple
 of hours, I got the prompt back, and things continued working..)
and Doug Bates has had a strong suspicion that the error message
below looks like the problem that he fixed just between *-48 and *-49.

    >>> pkgname <- "Matrix"
    >>> source(file.path(R.home("share"), "R", "examples-header.R"))
    >>> gctorture(TRUE)
    >>> options(warn = 1)
    >>> options(error=dump.frames)
    >>> library('Matrix')

    HL> Loading required package: lattice
    HL> Error in regexpr("package:", envName, fixed = TRUE) :
    HL> unprotected object (0x2fe5818) encountered (was INTSXP)
    HL> Error: package/namespace load failed for 'Matrix'

Can you give more exact info about the platform ?

Martin