Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

caret crashes R when data.table is loaded #2558

Closed
GeraldCNelson opened this issue Jan 7, 2018 · 2 comments
Closed

caret crashes R when data.table is loaded #2558

GeraldCNelson opened this issue Jan 7, 2018 · 2 comments

Comments

@GeraldCNelson
Copy link

GeraldCNelson commented Jan 7, 2018

At the request of the caret package developer I'm transferring my issue to the data.tables issue list. #

The link to the issue is
topepo/caret#811

It contains a minimum reproducible example, and session output info.

The reason for the handoff is that the problem is related to openMP which data.table has recently started using but caret doesn't.

Happy to add more info here if needed.

@topepo
Copy link

topepo commented Jan 7, 2018

Some context:

R crashes when running the example code in a shell with the following error message. In Rstudio, Rstudio itself crashes.

OMP: Error #15: Initializing libomp.dylib, but found libomp.dylib already initialized.
OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
Abort trap: 6

Minimal, reproducible example:

library(data.table)
library(caret)

dt1 <- data.table(replicate(5,sample(0:100,50,rep=TRUE)))
dt2 <- data.table(replicate(5,sample(0:100,50,rep=TRUE)))
dtList <- c("dt1", "dt2")
dtList <- mget(dtList)
mergedDT <- Reduce(function(...) merge(..., all = TRUE), dtList)
> session_info()
─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.4.3 (2017-11-30)
 os       macOS High Sierra 10.13.2   
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 tz       America/Denver              
 date     2018-01-06Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package      * version    date       source                            
 assertthat     0.2.0      2017-04-11 CRAN (R 3.4.0)                    
 bindr          0.1        2016-11-13 CRAN (R 3.4.0)                    
 bindrcpp       0.2        2017-06-17 CRAN (R 3.4.0)                    
 broom          0.4.3      2017-11-20 CRAN (R 3.4.3)                    
 caret        * 6.0-78     2018-01-06 Github (topepo/caret@b2b0d68)     
 class          7.3-14     2015-08-30 CRAN (R 3.4.3)                    
 clisymbols     1.2.0      2017-05-21 CRAN (R 3.4.0)                    
 codetools      0.2-15     2016-10-05 CRAN (R 3.4.3)                    
 colorspace     1.3-2      2016-12-14 CRAN (R 3.4.0)                    
 CVST           0.2-1      2013-12-10 CRAN (R 3.4.2)                    
 data.table   * 1.10.5     2018-01-06 local                             
 ddalpha        1.3.1      2017-09-27 CRAN (R 3.4.2)                    
 DEoptimR       1.0-8      2016-11-19 CRAN (R 3.4.2)                    
 dimRed         0.1.0      2017-05-04 CRAN (R 3.4.2)                    
 dplyr          0.7.4.9000 2018-01-06 Github (tidyverse/dplyr@cf54208)  
 DRR            0.0.2      2016-09-15 CRAN (R 3.4.2)                    
 foreach        1.4.4      2017-12-12 cran (@1.4.4)                     
 foreign        0.8-69     2017-06-22 CRAN (R 3.4.3)                    
 ggplot2      * 2.2.1.9000 2018-01-03 Github (tidyverse/ggplot2@4ee6c94)
 glue           1.2.0      2017-10-29 CRAN (R 3.4.2)                    
 gower          0.1.2      2017-02-23 CRAN (R 3.4.2)                    
 gtable         0.2.0      2016-02-26 CRAN (R 3.4.0)                    
 ipred          0.9-6      2017-03-01 CRAN (R 3.4.2)                    
 iterators      1.0.9      2017-12-12 CRAN (R 3.4.3)                    
 kernlab        0.9-25     2016-10-03 CRAN (R 3.4.2)                    
 lattice      * 0.20-35    2016-11-17 R-Forge (R 3.4.3)                 
 lava           1.5.1      2017-09-27 CRAN (R 3.4.2)                    
 lazyeval       0.2.1      2017-10-29 CRAN (R 3.4.2)                    
 lubridate      1.7.1      2017-11-03 CRAN (R 3.4.2)                    
 magrittr       1.5        2014-11-22 CRAN (R 3.4.0)                    
 MASS           7.3-48     2017-12-25 CRAN (R 3.4.3)                    
 Matrix         1.2-12     2017-11-20 CRAN (R 3.4.3)                    
 mnormt         1.5-5      2016-10-15 CRAN (R 3.4.0)                    
 ModelMetrics   1.1.0      2016-08-26 cran (@1.1.0)                     
 munsell        0.4.3      2016-02-13 CRAN (R 3.4.0)                    
 nlme           3.1-131    2017-02-06 CRAN (R 3.4.3)                    
 nnet           7.3-12     2016-02-02 CRAN (R 3.4.3)                    
 openxlsx       4.0.17     2017-03-23 CRAN (R 3.4.0)                    
 pillar         1.0.1      2017-11-27 CRAN (R 3.4.3)                    
 pkgconfig      2.0.1      2017-03-21 CRAN (R 3.4.0)                    
 plyr           1.8.4      2016-06-08 cran (@1.8.4)                     
 prodlim        1.6.1      2017-03-06 CRAN (R 3.4.2)                    
 psych          1.7.8      2017-09-09 CRAN (R 3.4.0)                    
 purrr          0.2.4      2017-10-18 CRAN (R 3.4.2)                    
 R6             2.2.2      2017-06-17 CRAN (R 3.4.0)                    
 Rcpp           0.12.14    2017-11-23 CRAN (R 3.4.3)                    
 RcppRoll       0.2.2      2015-04-05 CRAN (R 3.4.2)                    
 recipes        0.1.1      2017-11-20 cran (@0.1.1)                     
 reshape2       1.4.3      2017-12-11 cran (@1.4.3)                     
 rlang          0.1.6      2017-12-21 CRAN (R 3.4.3)                    
 robustbase     0.92-8     2017-11-01 CRAN (R 3.4.2)                    
 rpart          4.1-11     2017-03-13 CRAN (R 3.4.3)                    
 scales         0.5.0.9000 2017-11-27 Github (hadley/scales@d767915)    
 sessioninfo  * 1.0.0      2017-06-21 CRAN (R 3.4.1)                    
 sfsmisc        1.1-1      2017-06-08 CRAN (R 3.4.2)                    
 stringi        1.1.6      2017-11-17 CRAN (R 3.4.2)                    
 stringr        1.2.0      2017-02-18 CRAN (R 3.4.0)                    
 survival       2.41-3     2017-04-04 CRAN (R 3.4.3)                    
 tibble         1.4.1      2017-12-25 CRAN (R 3.4.3)                    
 tidyr          0.7.2      2017-10-16 CRAN (R 3.4.2)                    
 tidyselect     0.2.3      2017-11-06 CRAN (R 3.4.2)                    
 timeDate       3042.101   2017-11-16 CRAN (R 3.4.2)                    
 withr          2.1.1.9000 2018-01-03 Github (jimhester/withr@df18523)  
 yaml           2.1.16     2017-12-12 CRAN (R 3.4.2)                    

@GeraldCNelson
Copy link
Author

I solved this problem by renaming clang4 in /usr/local/ to clang4.old. My guess is that my path was looking at clang4 before lvmm (in Cellar for brew). But this is way above my competency level. Mostly blind luck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants