[Rd] repeatable segfault - on Mac

peter dalgaard pdalgd at gmail.com
Thu Sep 8 13:15:16 CEST 2011


On Sep 8, 2011, at 10:01 , Martin Maechler wrote:

>>>>>> David Winsemius <dwinsemius at comcast.net>
>>>>>>    on Tue, 6 Sep 2011 00:38:13 -0400 writes:
> 
>> I can reproduce:
>> eigen(crossprod(matrix(1:2000, 50)) + (0+0i), T, T)
> 
>> *** caught segfault ***
>> address 0x102d0e028, cause 'memory not mapped'
> 
>> Traceback:
>> 1: .Call("La_rs_cmplx", x, only.values, PACKAGE = "base")
>> 2: eigen(crossprod(matrix(1:2000, 50)) + (0 + (0+0i)), T, T)
>> ##---- after restart
>>> sessionInfo()
>> R version 2.13.1 (2011-07-08)
>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
> 
>> locale:
>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
> 
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
>> With OSX 10.5.8
> 
>> Also happens with 32 bit R
>> [R.app GUI 1.41 (5874) i386-apple-darwin9.8.0]
> 
> It does not happen on Linux (different versions) 
> nor Windows (2.13.1 patched, early August).
> 
> As this is calling LAPACK code,
> I guess that this is yet another case where the Mac version
> of optimized BLAS / LAPACK is playing wrongly.

Hmm, it does happen too on OSX (64bit) with a recent R-devel, vanilla compiled with

LAPACK_LIBS='-L$(R_HOME)/lib$(R_ARCH) -lRlapack'

I tried recompiling with -O0, still happening:


Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000102ddc128
0x000000010046805e in zher2k (uplo=@0x7fff5fbf9b0e, trans=@0x1039fc54b, n=@0x7fff5fbf98cc, k=@0x7fff5fbf98e0, alpha=@0x1039fc528, a=0x102198228, lda=@0x7fff5fbf9b08, b=0x1023abca8, ldb=@0x7fff5fbf98f4, beta=@0x1039fc660, c=0x10219d228, ldc=@0x7fff5fbf9b08, _uplo=1, _trans=12) at ../../../../R/src/extra/blas/cmplxblas.f:1566
1566	                     TEMP1 = ALPHA*DCONJG( B( J, L ) )
(gdb) where
#0  0x000000010046805e in zher2k (uplo=@0x7fff5fbf9b0e, trans=@0x1039fc54b, n=@0x7fff5fbf98cc, k=@0x7fff5fbf98e0, alpha=@0x1039fc528, a=0x102198228, lda=@0x7fff5fbf9b08, b=0x1023abca8, ldb=@0x7fff5fbf98f4, beta=@0x1039fc660, c=0x10219d228, ldc=@0x7fff5fbf9b08, _uplo=1, _trans=12) at ../../../../R/src/extra/blas/cmplxblas.f:1566
#1  0x00000001039939aa in zhetrd (uplo=@0x7fff5fbf9b0e, n=@0x7fff5fbf9b08, a=0x102198028, lda=@0x7fff5fbf9b08, d=0x100597f28, e=0x102e02d58, tau=0x1023ab828, work=0x1023abaa8, lwork=@0x7fff5fbf9a30, info=@0x7fff5fbf9a44, _uplo=1) at ../../../../R/src/modules/lapack/cmplx.f:8841
#2  0x000000010399209e in zheev (jobz=@0x7fff5fbf9b0f, uplo=@0x7fff5fbf9b0e, n=@0x7fff5fbf9b08, a=0x102198028, lda=@0x7fff5fbf9b08, w=0x100597f28, work=0x1023ab828, lwork=@0x7fff5fbf9b04, rwork=0x102e02d58, info=@0x7fff5fbf9b00, _jobz=10096376, _uplo=36013056) at ../../../../R/src/modules/lapack/cmplx.f:8275
#3  0x00000001007f102e in modLa_rs_cmplx (xin=0x102258400, only_values=0x1009a0ef8) at ../../../../R/src/modules/lapack/Lapack.c:776
#4  0x0000000100103baf in La_rs_cmplx (x=0x102258400, only_values=0x1009a0ef8) at ../../../R/src/main/lapack.c:113
#5  0x000000010007a82b in do_dotcall (call=0x1026c62e8, op=0x100864718, args=0x1026d9278, env=0x1026d4278) at ../../../R/src/main/dotcode.c:845
Segmentation fault


(The segfault appears to be gdb itself tripping over)

-pd


> 
> Martin Maechler
> 
>> David Winsemius
> 
>> On Sep 6, 2011, at 12:12 AM, robin hankin wrote:
> 
>>> Hi.  macosx 10.6.8
>>> 
>>> With R-2.13.1 and also revision 56948 I get the following repeatable  
>>> segfault:
>>> 
>>> 
>>> 
>>> wt118:~% R --vanilla --quiet
>>>> R.Version()
>>> $platform
>>> [1] "x86_64-apple-darwin9.8.0"
>>> 
>>> $arch
>>> [1] "x86_64"
>>> 
>>> $os
>>> [1] "darwin9.8.0"
>>> 
>>> $system
>>> [1] "x86_64, darwin9.8.0"
>>> 
>>> $status
>>> [1] ""
>>> 
>>> $major
>>> [1] "2"
>>> 
>>> $minor
>>> [1] "13.1"
>>> 
>>> $year
>>> [1] "2011"
>>> 
>>> $month
>>> [1] "07"
>>> 
>>> $day
>>> [1] "08"
>>> 
>>> $`svn rev`
>>> [1] "56322"
>>> 
>>> $language
>>> [1] "R"
>>> 
>>> $version.string
>>> [1] "R version 2.13.1 (2011-07-08)"
>>> 
>>>> eigen(crossprod(matrix(1:2000, 50)) + (0+0i), T, T)
>>> 
>>> *** caught segfault ***
>>> address 0x1038000a8, cause 'memory not mapped'
>>> 
>>> Traceback:
>>> 1: .Call("La_rs_cmplx", x, only.values, PACKAGE = "base")
>>> 2: eigen(crossprod(matrix(1:2000, 50)) + (0 + (0+0i)), T, T)
>>> 
>>> Possible actions:
>>> 1: abort (with core dump, if enabled)
>>> 2: normal R exit
>>> 3: exit R without saving workspace
>>> 4: exit R saving workspace
>>> Selection: 2
>>> wt118:~%
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Robin Hankin
>>> Uncertainty Analyst
>>> hankin.robin at gmail.com
>>> 
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
>> David Winsemius, MD
>> Heritage Laboratories
>> West Hartford, CT
> 
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-devel mailing list