[R-sig-Debian] mclapply Segmentation Fault for Ubuntu

Scott Kostyshak skostysh at princeton.edu
Thu Mar 27 12:19:48 CET 2014


On Thu, Mar 27, 2014 at 6:00 AM, Dario Strbenac
<dstr7320 at uni.sydney.edu.au> wrote:
> Running the example in the documentation causes R to crash.
>
> dario at bioinfo:~$ R
>
> R version 3.0.3 (2014-03-06) -- "Warm Puppy"
> Copyright (C) 2014 The R Foundation for Statistical Computing
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> R is free software and comes with ABSOLUTELY NO WARRANTY.
> You are welcome to redistribute it under certain conditions.
> Type 'license()' or 'licence()' for distribution details.
>
>   Natural language support but running in an English locale
>
> R is a collaborative project with many contributors.
> Type 'contributors()' for more information and
> 'citation()' on how to cite R or R packages in publications.
>
> Type 'demo()' for some demos, 'help()' for on-line help, or
> 'help.start()' for an HTML browser interface to help.
> Type 'q()' to quit R.
>
>> library(parallel)
>> simplify2array(mclapply(rep(4, 5), rnorm))
>
>  *** caught segfault ***
> address 0x7fee2a7229d0, cause 'memory not mapped'
>
> Traceback:
>  1: mcexit(0L)
>  2: FUN(1:2[[1L]], ...)
>  3: lapply(seq_len(cores), inner.do)
>  4: mclapply(rep(4, 5), rnorm)
>  5: lapply(x, length)
>  6: unlist(lapply(x, length))
>  7: unique(unlist(lapply(x, length)))
>  8: simplify2array(mclapply(rep(4, 5), rnorm))
>
> 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:
>  *** caught segfault ***
> address 0x7fee2a7229d0, cause 'memory not mapped'
>
> Traceback:
>  1: mcexit(0L)
>  2: FUN(1:2[[2L]], ...)
>  3: lapply(seq_len(cores), inner.do)
>  4: mclapply(rep(4, 5), rnorm)
>  5: lapply(x, length)
>  6: unlist(lapply(x, length))
>  7: unique(unlist(lapply(x, length)))
>  8: simplify2array(mclapply(rep(4, 5), rnorm))
>
> 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:           [,1]        [,2]       [,3]       [,4]       [,5]
> [1,] -1.147559  0.05071552 -0.8661278  1.3939602 -1.8899639
> [2,]  1.092394 -0.28870308  1.5201952  0.5470172 -1.1965282
> [3,]  2.338910 -0.62201329 -0.5306457 -0.4862363 -0.1221119
> [4,] -0.181282  0.21907111 -1.0803414 -0.1504892 -0.2067919
>>
>
> dario at bioinfo:~$ lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description:    Ubuntu 13.10
> Release:        13.10
> Codename:       saucy
>
> The same code does not crash on Debian.
>
> /nb$ R
>
> R version 3.0.3 (2014-03-06) -- "Warm Puppy"
> Copyright (C) 2014 The R Foundation for Statistical Computing
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> R is free software and comes with ABSOLUTELY NO WARRANTY.
> You are welcome to redistribute it under certain conditions.
> Type 'license()' or 'licence()' for distribution details.
>
> R is a collaborative project with many contributors.
> Type 'contributors()' for more information and
> 'citation()' on how to cite R or R packages in publications.
>
> Type 'demo()' for some demos, 'help()' for on-line help, or
> 'help.start()' for an HTML browser interface to help.
> Type 'q()' to quit R.
>
>> library(parallel)
>> simplify2array(mclapply(rep(4, 5), rnorm))
>             [,1]        [,2]       [,3]       [,4]         [,5]
> [1,]  1.25103304  0.71090925 -0.2416887 -1.0442886  0.826455644
> [2,] -0.08600017 -1.55204619  0.3531317 -0.2971294 -0.098026007
> [3,]  1.03296764 -0.02248264  1.0171218 -1.8507103 -1.246730487
> [4,] -0.11282003 -1.19287737  0.6241989 -0.5765659 -0.003024582
>> ^Z
> [1]+  Stopped                 R
> /nb$ lsb_release -a
> No LSB modules are available.
> Distributor ID: Debian
> Description:    Debian GNU/Linux 7.4 (wheezy)
> Release:        7.4
> Codename:       wheezy
>
> How can I fix it ? I read it could be caused by particular versions of BLAS. The libraries on the Ubuntu system are
>
> dario at bioinfo:~$ ldconfig -p | grep blas
>         libnetblast.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libnetblast.so.6
>         libblastcompadj.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libblastcompadj.so.6
>         libblastapi.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libblastapi.so.6
>         libblast.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libblast.so.6
>         libblas.so.3 (libc6,x86-64) => /usr/lib/libblas.so.3
>         libblas.so (libc6,x86-64) => /usr/lib/libblas.so
>
> There is no OpenBLAS present.
>
> --------------------------------------
> Dario Strbenac
> PhD Student
> University of Sydney
> Camperdown NSW 2050
> _______________________________________________
> R-SIG-Debian mailing list
> R-SIG-Debian at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-debian

The code runs here without problems also.

ldd /usr/lib/R/bin/exec/R | grep -i blas
$ ldd /usr/lib/R/bin/exec/R | grep -i blas
libblas.so.3 => /usr/lib/libblas.so.3 (0x00007fbd4676c000)

$ ldconfig -p | grep blas
libgslcblas.so.0 (libc6,x86-64) => /usr/lib/libgslcblas.so.0
libf77blas.so.3 (libc6,x86-64) => /usr/lib/libf77blas.so.3
libcblas.so.3 (libc6,x86-64) => /usr/lib/libcblas.so.3
libblas.so.3 (libc6,x86-64) => /usr/lib/libblas.so.3
libblas.so (libc6,x86-64) => /usr/lib/libblas.so

(Note that I still haven't upgraded to 3.0.3)
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy

Scott


--
Scott Kostyshak
Economics PhD Candidate
Princeton University



More information about the R-SIG-Debian mailing list