[R] core dump during make check when building 64-bit R on Solaris8/9

Peter Dalgaard p.dalgaard at biostat.ku.dk
Wed Dec 1 11:58:51 CET 2004


Prof Brian Ripley <ripley at stats.ox.ac.uk> writes:

> We know of at least two builds which successfully used libsunperf, one
> (mine) with Studio ONE 7 and one with 9.  So this may well be a
> problem with your particular compiler suite.

Or maybe libsunperf version issues. The one that caused me trouble was
this one

/opt/FD8/SUNWspro/lib/v9b/libsunperf.so.4

(on the DTU machines) 

I'm pretty sure it's the same issue as Mr. Chan is seeing:


> example(kappa)

kappa> kappa(x1 <- cbind(1, 1:10))
[1] 15.70590

kappa> kappa(x1, exact = TRUE)
Reading lapack.so
Reading libRlapack.so
signal SEGV (no mapping at the fault address) in ___pl_dgesdd_64_ at 0xffffffff793e3374
0xffffffff793e3374: ___pl_dgesdd_64_+0x1654:    std      %f4, [%o1]


Does this ring any bells?:

euler(kubspd) $ cc -V
cc: Sun C 5.5 Patch 112760-09 2004/03/31
...

and Makeconf has this:

CC = cc -xarch=v9b
CFLAGS = -xO5 -xlibmil -dalign
CPICFLAGS = -KPIC
CPPFLAGS = -I/usr/local/include -I/opt/sfw/include

The top of the stack looks like this

=>[1] ___pl_dgesdd_64_(0xffffffff7fff86a8, 0xffffffff7fff86d8, 0xffffffff7fff86d0, 0x10099a078, 0xffffffff7fff86c8, 0xffffffff7fff86b0), at 0xffffffff793e3374
  [2] ___pl_dgesdd_(0x2, 0x1, 0xffffffff7fff88cc, 0xa, 0x100d5b640, 0xffffffff7fff86b0), at 0xffffffff78d42494
  [3] modLa_svd(0x1012f4278, 0x1012f4210, 0x101388e00, 0x101388dd8, 0x100d555b8, 0x100d5b618), at 0xffffffff76f05bf0
  [4] La_svd(0x10040ec00, 0xffffffff76f056e8, 0x1016e03d0, 0x101388dd8, 0x100d555b8, 0x100d5b618), at 0x100108f2c
  [5] do_dotcall(0x10131b8a0, 0x0, 0xaf4, 0x1c, 0x1000aa06c, 0x1004153a8), at 0x1000aab80

which looks like a pretty straightforward SVD operation. However, it
would be a good idea if someone who knows his way around dbx (I don't)
could trace this and see if crud got injected into the matrix at some
earlier stage. Or maybe use a simplified example:

> svd(matrix(1:4,2))
signal SEGV (no mapping at the fault address) in ___pl_dgesdd_64_ at
0xfff....

That one looks potentially simple enough that you might cook up a little
standalone program showing the problem and ship it to Sun.


> On Wed, 1 Dec 2004, CHAN Chee Seng wrote:
> 
> > Hi,
> >
> > After reading some of the posting in this list, I came across this
> > posting from:
> >
> > From: Peter Dalgaard <p.dalgaard_at_biostat.ku.dk>
> > Date: Fri 29 Oct 2004 - 08:02:40 EST
> > Replying to Re: [R] Errors during make check
> >
> > He described a problem similar to mine, that build 64-bit R (I am
> > building R version 2.0.1) with sunperf library gives a core dump during
> > make check.  So I configured my build without the sunperf (BLAS and
> > lapack) library.  My configure statement looks like this:
> >
> > ./configure --prefix=/usr/local/R-2.0.1
> > --with-tcl-config=/usr/sfw/lib/tclCo
> > nfig.sh --with-tk-config=/usr/sfw/lib/tkConfig.sh --without-blas
> >
> > The "make check" ran without a problem after this.
> >
> > I hope that the sun compiler people can look into this and see if there
> > is a problem with the sunperf library.  Maybe Peter Dalgaard ha further
> > insights into this?  Thanks.
> >
> > Regards,
> > Chee Seng
> >
> >
> > -----Original Message-----
> > From: r-help-bounces at stat.math.ethz.ch
> > [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of CHAN Chee Seng
> > Sent: Monday, November 29, 2004 6:13 PM
> > To: r-help at stat.math.ethz.ch
> > Subject: [R] core dump during make check when building 64-bit R on
> > Solaris8/9
> >
> > Hi,
> >
> > I am building a 64-bit R 2.0.1 on Solaris 9.  The compiler is Sun Studio
> > 8.  Make was successful but I have a core dump during a make check.  By
> > the way, this problem also happens on my Solaris 8 machine though I did
> > not get a core dump.  I do not have 64-bit versions of the readline,
> > tcl/tk, libncurses, etc libraries so these caused configure not to use
> > them with ELFCLASS32 errors.
> >
> > I use the following flags in config.site:
> > CC="cc -xarch=v9"
> > CFLAGS="-xO5 -xlibmil -dalign"
> > F77="f95 -xarch=v9"
> > FFLAGS="-xO5 -xlibmil -dalign"
> > CXX="CC -xarch=v9"
> >
> >
> > I pasted the make check error messages below:
> > $ make check
> > collecting examples for package 'base' ...
> > >>> Building/Updating help pages for package 'base'
> >     Formats: text html latex example
> > running code in 'base-Ex.R' ...*** Error code 1
> > make: Fatal error: Command failed for target `base-Ex.Rout'
> > Current working directory /export/home/cheeseng/R-2.0.1/tests/Examples
> > *** Error code 1
> > make: Fatal error: Command failed for target `test-Examples-Base'
> > Current working directory /export/home/cheeseng/R-2.0.1/tests/Examples
> > *** Error code 1
> > make: Fatal error: Command failed for target `test-Examples'
> > Current working directory /export/home/cheeseng/R-2.0.1/tests
> > *** Error code 1
> > make: Fatal error: Command failed for target `test-all-basics'
> > Current working directory /export/home/cheeseng/R-2.0.1/tests
> > *** Error code 1
> > make: Fatal error: Command failed for target `check'
> >
> >
> > The last few lines in base-Ex.Rout.fail is:
> >> ### * kappa
> >>
> >> flush(stderr()); flush(stdout())
> >>
> >> ### Name: kappa
> >> ### Title: Estimate the Condition Number
> >> ### Aliases: kappa kappa.default kappa.lm kappa.qr kappa.tri
> >> ### Keywords: math
> >>
> >> ### ** Examples
> >>
> >> kappa(x1 <- cbind(1,1:10))# 15.71
> > [1] 15.70590
> >
> >
> > Doing a dbx on the core dump shows that the following:
> > program terminated by signal SEGV (no mapping at the fault address)
> > 0xffffffff790fdf54: ___pl_dgesdd_64_+0x1654:    std      %f4, [%o1]
> >
> > I hope some one have a more successful build and can show how you did
> > it.


-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907




More information about the R-help mailing list