Skip to content

Help deciphering segfault in make check

3 messages · Seth Falcon, Karl-Dieter Crisman

#
Dear R Help,

I work with the Sage project, and we are trying to improve the ability
to use R through Sage.  Most things work, but make check seems to
cause problems on certain platforms, and now that we want to upgrade
to 2.10.1 I thought we should ask for help!

R builds just fine on both Mac and Linux, but some things in make
check seem to break on certain Linux boxes that don't on Mac or other
machines.  Here is an example from (Red Hat?) in doing the basic
tests, in src/tests/Examples/, where base-Ex.R seems to have a
problem, at the end of base-Ex.Rout.fail:
[1] TRUE
*** caught segfault ***
address 0x4b8, cause 'memory not mapped'

Traceback:
 1: dyn.load(file, DLLpath = DLLpath, ...)
 2: library.dynam(lib, package, package.lib)
 3: loadNamespace(name)
 4: doTryCatch(return(expr), name, parentenv, handler)
 5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
 6: tryCatchList(expr, classes, parentenv, handlers)
 7: tryCatch(loadNamespace(name), error = function(e) stop(e))
 8: getNamespace(ns)
 9: asNamespace(pkg)
10: get(name, envir = asNamespace(pkg), inherits = FALSE)
11: tools:::.make_S3_methods_stop_list
12: methods("Math")
aborting ...
Segmentation fault

Note that make check for R in Sage passes on Mac OSX, as far as I can
tell.  For this particular machine and build, earlier in the same fail
file the methods package was listed as

methods       /home/.../sage-4.3-linux-sage.math.washington.edu-x86_64-Linux/spkg/build/r-2.10.1/src/library/methods/libs/methods.so

so it seems that the recommended package methods did build and load properly.

Any help would be greatly appreciated!  Thank you.
#
Hi,
On 1/19/10 12:05 PM, Karl-Dieter Crisman wrote:
This discussion might be more appropriate for R-devel.  I'm not all that 
familiar with the Sage project and it isn't clear to me whether what you 
are seeing is in any way Sage-specific.

If you are getting this segfault from a basic configure/make/make check 
sequence and you can reproduce the crash, then further debugging steps 
will likely be of interest.
You might be able to reproduce this and get some more information like this:


    R -d gdb
    run
    source("src/tests/Examples/base-Ex.R")

Assuming you get a crash, type bt in the gdb console and send output.

+ seth
#
Dear Seth,
I think it may have ended up being related to different Fortrans being
used or something like that, but if not I will definitely use this -
it is very helpful to know how to try to debug in R!  Thank you for
the tip and guidance; we appreciate it!