Bug 16674 - Problem with functions using lapack when there are large objects in memory
Summary: Problem with functions using lapack when there are large objects in memory
Status: UNCONFIRMED
Alias: None
Product: R
Classification: Unclassified
Component: Low-level (show other bugs)
Version: R 3.2.3
Hardware: x86_64/x64/amd64 (64-bit) Windows 64-bit
: P5 major
Assignee: R-core
URL:
Depends on:
Blocks:
 
Reported: 2016-01-20 11:38 UTC by sbd3gm
Modified: 2016-01-20 11:38 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sbd3gm 2016-01-20 11:38:01 UTC
Hello,
In windows R3.2.3, if there are a lot / large objects in memory, eigen or chol for example return NULL. However, if a first call is made before creating the objects, it will work.
This problem has been observed on Windows Server 2012, 256Gb RAM. It doesn't happen on the same server using R2.15.3, and it doesn't happen on Linux-RHEL (R3.2.2).
Below is the code to reproduce.
Thanks.

# eigen(cbind(c(1,-1), c(-1,1)))

# if eigen is called at the beginning, it will work at the end

for(i in 1:50){
  mat = as.data.frame(matrix(rnorm(1e8), ncol=1e5))
  rownames(mat) = paste("row", 1:nrow(mat), sep="")
  colnames(mat) = paste("col", 1:ncol(mat), sep="")
  eval(parse(text=paste("mat",i,"<- mat", sep="")))
  print(i)
}

eigen(cbind(c(1,-1), c(-1,1)))

m = matrix(c(5,1,1,3),2,2) 
chol(m) 

# if eigen has not been called at the beginning, eigen and chol return NULL
# if eigen has been called at the beginning, eigen and chol return the expected output


# sessionInfo()
# R version 3.2.3 (2015-12-10)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
# Running under: Windows Server 2012 R2 x64 (build 9600)
# 
# locale:
#   [1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252   
# [3] LC_MONETARY=French_France.1252 LC_NUMERIC=C                  
# [5] LC_TIME=French_France.1252    
# 
# attached base packages:
#   [1] stats     graphics  grDevices utils     datasets  methods   base