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

`shift` crashes R when using `n = "lead"` #3354

Closed
SymbolixAU opened this issue Feb 5, 2019 · 2 comments
Closed

`shift` crashes R when using `n = "lead"` #3354

SymbolixAU opened this issue Feb 5, 2019 · 2 comments
Assignees
Milestone

Comments

@SymbolixAU
Copy link

@SymbolixAU SymbolixAU commented Feb 5, 2019

While I'm aware this is incorrect use of the shift function, but if you forget to specify the type argument and use shift(val, "lead"), this causes Rstudio to crash.

Reproducible example

library(data.table)

dt <- data.table(
  id = 1:5
  , val = letters[1:5]
)

## This will crash RStudio
dt[, new_col := shift(val, "lead")]

## the fix is to specify `type = "lead"`
dt[, new_col := shift(val, type = "lead")]

Session info

devtools::session_info()
─ Session info ────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.5.1 (2018-07-02)
 os       macOS  10.14.1              
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_AU.UTF-8                 
 ctype    en_AU.UTF-8                 
 tz       Australia/Melbourne         
 date     2019-02-05Packages ────────────────────────────────────────────────────────────────────────────────────────────────
 ! package     * version date       lib source                                
   assertthat    0.2.0   2017-04-11 [2] CRAN (R 3.5.0)                        
   backports     1.1.2   2017-12-13 [2] CRAN (R 3.5.0)                        
   callr         2.0.3   2018-04-11 [2] CRAN (R 3.5.0)                        
   cli           1.0.1   2018-09-25 [1] CRAN (R 3.5.0)                        
   crayon        1.3.4   2017-09-16 [2] CRAN (R 3.5.0)                        
   curl          3.3     2019-01-10 [1] CRAN (R 3.5.2)                        
 V data.table  * 1.12.0  2019-02-05 [1] Github (Rdatatable/data.table@e043dd2)
   debugme       1.1.0   2017-10-22 [2] CRAN (R 3.5.0)                        
   desc          1.2.0   2018-05-01 [2] CRAN (R 3.5.0)                        
   devtools      2.0.1   2018-10-26 [1] CRAN (R 3.5.0)                        
   digest        0.6.18  2018-10-10 [1] CRAN (R 3.5.0)                        
   fs            1.2.6   2018-08-23 [1] CRAN (R 3.5.0)                        
   glue          1.3.0   2018-07-17 [2] CRAN (R 3.5.0)                        
   magrittr      1.5     2014-11-22 [2] CRAN (R 3.5.0)                        
   memoise       1.1.0   2017-04-21 [2] CRAN (R 3.5.0)                        
   pkgbuild      1.0.2   2018-10-16 [1] CRAN (R 3.5.0)                        
   pkgload       1.0.2   2018-10-29 [1] CRAN (R 3.5.0)                        
   prettyunits   1.0.2   2015-07-13 [2] CRAN (R 3.5.0)                        
   R6            2.3.0   2018-10-04 [1] CRAN (R 3.5.0)                        
   Rcpp          1.0.0   2018-11-07 [1] CRAN (R 3.5.0)                        
   remotes       2.0.2   2018-10-30 [1] CRAN (R 3.5.0)                        
   rlang         0.3.1   2019-01-08 [1] CRAN (R 3.5.2)                        
   rprojroot     1.3-2   2018-01-03 [2] CRAN (R 3.5.0)                        
   rstudioapi    0.8     2018-10-02 [1] CRAN (R 3.5.0)                        
   sessioninfo   1.1.0   2018-09-25 [1] CRAN (R 3.5.0)                        
   testthat      2.0.0   2017-12-13 [2] CRAN (R 3.5.0)                        
   usethis       1.4.0   2018-08-14 [1] CRAN (R 3.5.0)                        
   withr         2.1.2   2018-03-15 [2] CRAN (R 3.5.0)                        

[1] /Users/david/Library/R/3.5/library
[2] /Library/Frameworks/R.framework/Versions/3.5/Resources/library

 V ── Loaded and on-disk version mismatch.
@SymbolixAU SymbolixAU changed the title `shift` crashes when using `n = "lead"` `shift` crashes RStudio when using `n = "lead"` Feb 5, 2019
@jangorecki jangorecki self-assigned this Feb 5, 2019
@jangorecki
Copy link
Member

@jangorecki jangorecki commented Feb 5, 2019

@SymbolixAU could you also provide utils::sessionInfo() output? The above one looks corrupted at first glance:

data.table * 1.12.0 2019-02-05 [1] Github (Rdatatable/data.table@e043dd2)

e043dd2 is not 1.12.0 but 1.12.1

@jangorecki jangorecki added this to the 1.12.2 milestone Feb 5, 2019
jangorecki added a commit that referenced this issue Feb 5, 2019
@jangorecki jangorecki changed the title `shift` crashes RStudio when using `n = "lead"` `shift` crashes R when using `n = "lead"` Feb 5, 2019
@SymbolixAU
Copy link
Author

@SymbolixAU SymbolixAU commented Feb 5, 2019

@jangorecki sure thing

This is the sessioninfo() when I ran the original code

utils::sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS  10.14.1

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8

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

other attached packages:
[1] data.table_1.12.1    microbenchmark_1.4-4

loaded via a namespace (and not attached):
[1] compiler_3.5.1 tools_3.5.1 

I've updated to the latest release and get the same error

remove.packages("data.table")
install.packages("data.table", type = "source",
                 repos = "http://Rdatatable.github.io/data.table")

library(data.table)

dt <- data.table(
  id = 1:5
  , val = letters[1:5]
)

## This will crash RStudio
dt[, new_col := shift(val, "lead")]

devtools::session_info(pkgs = "data.table")
─ Session info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.5.1 (2018-07-02)
 os       macOS  10.14.1              
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_AU.UTF-8                 
 ctype    en_AU.UTF-8                 
 tz       Australia/Melbourne         
 date     2019-02-06Packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package    * version date       lib source
 data.table * 1.12.1  2019-02-05 [1] local 

[1] /Users/david/Library/R/3.5/library
[2] /Library/Frameworks/R.framework/Versions/3.5/Resources/library
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

2 participants
You can’t perform that action at this time.