[R-sig-Debian] [FORGED] Taking determinant of a matrix of NAs results in intermittent memory corruption

Rolf Turner r.turner at auckland.ac.nz
Thu Jan 19 00:10:36 CET 2017


On 19/01/17 11:54, Ian Erickson wrote:
> Greetings; I've posted the following to R's bug tracking system (at https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17210 ) and Martin Maechler requested that I post to this list as well.
> If I start R from the command line with --vanilla, then repeatedly execute the following line:
>
> det(matrix(nrow=10,ncol=10))
>
> ... I eventually get a crash, with error:
>
> *** Error in `/usr/lib/R/bin/exec/R': malloc(): memory corruption: 0x0000000002399400 ***
>
> The specific address in memory that is referenced varies. The number of times I need to execute the above line before getting a crash also varies.
>
> This occurs with a wide range of matrix dimensions; 10x10 is not the only size that causes this issue.
>
> output of R.version:
> platform      x86_64-pc-linux-gnu
> arch          x86_64
> os            linux-gnu
> system        x86_64, linux-gnu
> status
> major          3
> minor          3.2
> year          2016
> month          10
> day            31
> svn rev        71607
> language      R
> version.string R version 3.3.2 (2016-10-31)
> nickname      Sincere Pumpkin Patch
>
> I am running Linux Mint 17.3; my CPU is an Intel Core i7-2620m (Sandy Bridge). My RAM is non-ECC. My R binary is from the CRAN Ubuntu repository at cran.cnr.berkeley.edu . (r-base and r-base-core versions 3.3.2-1trusty0 )
>
> I also see this issue running R within Emacs, as well as Rstudio.
>
> This issue may be related to https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16862 but I'm not certain.
>
> The output of La_version() for me is:
> [1] "3.5.0"
>
> The output of:
> system(paste("lsof -p", Sys.getpid(), "| grep -iE '(blas|lapack)'"))
> is:
> R      3636 <myusername>  mem    REG              252,0    39272 11930369 /usr/lib/R/modules/lapack.so
> R      3636 <myusername>  mem    REG              252,0  5882272 11933488 /usr/lib/lapack/liblapack.so.3.0
> R      3636 <myusername>  mem    REG              252,0 23108112 11929607 /usr/lib/openblas-base/libopenblas.so.0
> Is anyone able to reproduce?


I can't.  I tried

for(i in 1:100000) det(matrix(nrow=10,ncol=10))

and got no crash.  I am running Ubuntu 16.04 (with Mate Desktop 1.12.1, 
if that matters).

Output of sessionInfo():

R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.1 LTS

locale:
  [1] LC_CTYPE=en_NZ.UTF-8       LC_NUMERIC=C
  [3] LC_TIME=en_NZ.UTF-8        LC_COLLATE=en_NZ.UTF-8
  [5] LC_MONETARY=en_NZ.UTF-8    LC_MESSAGES=en_NZ.UTF-8
  [7] LC_PAPER=en_NZ.UTF-8       LC_NAME=C
  [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_NZ.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] misc_0.0-16

loaded via a namespace (and not attached):
  [1] deldir_0.1-13       Matrix_1.2-7.1      tools_3.3.2
  [4] mgcv_1.8-15         abind_1.4-5         spatstat_1.48-0.010
  [7] rpart_4.1-10        nlme_3.1-128        grid_3.3.2
[10] polyclip_1.5-6      lattice_0.20-34     goftest_1.0-3
[13] tensor_1.5

cheers,

Rolf Turner

-- 
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276



More information about the R-SIG-Debian mailing list