yihui / animation

A gallery of animations in statistics and utilities to create animations

Home Page:https://yihui.org/animation/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error address (nil), cause 'memory not mapped'

nmolanog opened this issue · comments

this error was presented while runing this code:

library(animation)
library(tidyverse)

mu_seq<-c(seq(0,15,by = .5),seq(15,0,by = -.5),seq(0,-15,by = -.5),rev(seq(0,-15,by = -.5)))
sig_seq<-c(rev(seq(0.001,225,length.out = 20)),seq(0.001,225,length.out = 15))
dfp<-data.frame(mu=c(mu_seq,
                     rep(0,length(sig_seq))),
                sig=c(rep(225,length(mu_seq)),sig_seq))

saveGIF({
  ani.options(interval = 0.2, nmax = nrow(dfp))
  ## use a loop to create images one by one
  for (i in 1:ani.options('nmax')) {
    m1<-dfp[i,1]
    sd1<-sqrt(dfp[i,2])
    weight_lim<-c(-40, 40)
    pdnorm1<-ggplot(data = data.frame(weight = weight_lim), aes(weight)) +
      stat_function(fun = dnorm, n = 101, args = list(mean = m1, sd = sd1),aes(color="black")) +
      ylab(expression(paste("f(x|",mu,",",sigma^2,")"))) +xlab("x") +  
      scale_color_identity(name = "",
                           breaks = c("black", "red", "blue","green"),
                           labels = c(substitute(paste(mu,"= ",m1,", ",sigma^2,"= ",sd1),list(m1=round(m1,1),sd1=round(sd1,3)))),
                           guide = "legend")+
      ylim(0,.25)+
      theme_bw()
    print(pdnorm1)
    ani.pause()   ## pause for a while ('interval')
  }
}, interval = 0.05, movie.name = 'dnorm.gif', ani.width = 680, ani.height = 500)

The Error output is this

Traceback:
 1: magick_image_write(image, format, quality, depth, density, comment)
 2: magick::image_write(anim, path = output)
 3: magick.convert(files = files, output = output, loop = loop, interval = interval,     dispose = dispose)
 4: im.convert(img.files, output = path.expand(movie.name), convert = convert,     cmd.fun = cmd.fun, clean = clean, extra.opts = extra.opts)
 5: saveGIF({    ani.options(interval = 0.2, nmax = nrow(dfp))    for (i in 1:ani.options("nmax")) {        m1 <- dfp[i, 1]        sd1 <- sqrt(dfp[i, 2])        weight_lim <- c(-40, 40)        pdnorm1 <- ggplot(data = data.frame(weight = weight_lim),             aes(weight)) + stat_function(fun = dnorm, n = 101,             args = list(mean = m1, sd = sd1), aes(color = "black")) +             ylab(expression(paste("f(x|", mu, ",", sigma^2, ")"))) +             xlab("x") + scale_color_identity(name = "", breaks = c("black",             "red", "blue", "green"), labels = c(substitute(paste(mu,             "= ", m1, ", ", sigma^2, "= ", sd1), list(m1 = round(m1,             1), sd1 = round(sd1, 3)))), guide = "legend") + ylim(0,             0.25) + theme_bw()        print(pdnorm1)        ani.pause()    }}, interval = 0.05, movie.name = "dnorm.gif", ani.width = 680,     ani.height = 500)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace

my session info

─ Session info ───────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.0.2 (2020-06-22)
 os       Ubuntu 18.04.4 LTS          
 system   x86_64, linux-gnu           
 ui       X11                         
 language en                          
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/Bogota              
 date     2020-07-27                  

─ Packages ───────────────────────────────────────────────────────────────────
 package     * version date       lib source        
 animation   * 2.6     2018-12-11 [1] CRAN (R 4.0.2)
 assertthat    0.2.1   2019-03-21 [1] CRAN (R 4.0.2)
 backports     1.1.8   2020-06-17 [1] CRAN (R 4.0.2)
 blob          1.2.1   2020-01-20 [1] CRAN (R 4.0.2)
 broom         0.7.0   2020-07-09 [1] CRAN (R 4.0.2)
 callr         3.4.3   2020-03-28 [1] CRAN (R 4.0.2)
 cellranger    1.1.0   2016-07-27 [1] CRAN (R 4.0.2)
 cli           2.0.2   2020-02-28 [1] CRAN (R 4.0.2)
 colorspace    1.4-1   2019-03-18 [1] CRAN (R 4.0.2)
 crayon        1.3.4   2017-09-16 [1] CRAN (R 4.0.2)
 DBI           1.1.0   2019-12-15 [1] CRAN (R 4.0.2)
 dbplyr        1.4.4   2020-05-27 [1] CRAN (R 4.0.2)
 desc          1.2.0   2018-05-01 [1] CRAN (R 4.0.2)
 devtools      2.3.0   2020-04-10 [1] CRAN (R 4.0.2)
 digest        0.6.25  2020-02-23 [1] CRAN (R 4.0.2)
 dplyr       * 1.0.0   2020-05-29 [1] CRAN (R 4.0.2)
 ellipsis      0.3.1   2020-05-15 [1] CRAN (R 4.0.2)
 fansi         0.4.1   2020-01-08 [1] CRAN (R 4.0.2)
 forcats     * 0.5.0   2020-03-01 [1] CRAN (R 4.0.2)
 fs            1.4.2   2020-06-30 [1] CRAN (R 4.0.2)
 generics      0.0.2   2018-11-29 [1] CRAN (R 4.0.2)
 ggplot2     * 3.3.2   2020-06-19 [1] CRAN (R 4.0.2)
 glue          1.4.1   2020-05-13 [1] CRAN (R 4.0.2)
 gtable        0.3.0   2019-03-25 [1] CRAN (R 4.0.2)
 haven         2.3.1   2020-06-01 [1] CRAN (R 4.0.2)
 hms           0.5.3   2020-01-08 [1] CRAN (R 4.0.2)
 httr          1.4.2   2020-07-20 [1] CRAN (R 4.0.2)
 jsonlite      1.7.0   2020-06-25 [1] CRAN (R 4.0.2)
 lifecycle     0.2.0   2020-03-06 [1] CRAN (R 4.0.2)
 lubridate     1.7.9   2020-06-08 [1] CRAN (R 4.0.2)
 magrittr      1.5     2014-11-22 [1] CRAN (R 4.0.2)
 memoise       1.1.0   2017-04-21 [1] CRAN (R 4.0.2)
 modelr        0.1.8   2020-05-19 [1] CRAN (R 4.0.2)
 munsell       0.5.0   2018-06-12 [1] CRAN (R 4.0.2)
 pillar        1.4.6   2020-07-10 [1] CRAN (R 4.0.2)
 pkgbuild      1.1.0   2020-07-13 [1] CRAN (R 4.0.2)
 pkgconfig     2.0.3   2019-09-22 [1] CRAN (R 4.0.2)
 pkgload       1.1.0   2020-05-29 [1] CRAN (R 4.0.2)
 prettyunits   1.1.1   2020-01-24 [1] CRAN (R 4.0.2)
 processx      3.4.3   2020-07-05 [1] CRAN (R 4.0.2)
 ps            1.3.3   2020-05-08 [1] CRAN (R 4.0.2)
 purrr       * 0.3.4   2020-04-17 [1] CRAN (R 4.0.2)
 R6            2.4.1   2019-11-12 [1] CRAN (R 4.0.2)
 Rcpp          1.0.5   2020-07-06 [1] CRAN (R 4.0.2)
 readr       * 1.3.1   2018-12-21 [1] CRAN (R 4.0.2)
 readxl        1.3.1   2019-03-13 [1] CRAN (R 4.0.2)
 remotes       2.1.1   2020-02-15 [1] CRAN (R 4.0.2)
 reprex        0.3.0   2019-05-16 [1] CRAN (R 4.0.2)
 rlang         0.4.7   2020-07-09 [1] CRAN (R 4.0.2)
 rprojroot     1.3-2   2018-01-03 [1] CRAN (R 4.0.2)
 rstudioapi    0.11    2020-02-07 [1] CRAN (R 4.0.2)
 rvest         0.3.5   2019-11-08 [1] CRAN (R 4.0.2)
 scales        1.1.1   2020-05-11 [1] CRAN (R 4.0.2)
 sessioninfo   1.1.1   2018-11-05 [1] CRAN (R 4.0.2)
 stringi       1.4.6   2020-02-17 [1] CRAN (R 4.0.2)
 stringr     * 1.4.0   2019-02-10 [1] CRAN (R 4.0.2)
 testthat      2.3.2   2020-03-02 [1] CRAN (R 4.0.2)
 tibble      * 3.0.3   2020-07-10 [1] CRAN (R 4.0.2)
 tidyr       * 1.1.0   2020-05-20 [1] CRAN (R 4.0.2)
 tidyselect    1.1.0   2020-05-11 [1] CRAN (R 4.0.2)
 tidyverse   * 1.3.0   2019-11-21 [1] CRAN (R 4.0.2)
 usethis       1.6.1   2020-04-29 [1] CRAN (R 4.0.2)
 vctrs         0.3.2   2020-07-15 [1] CRAN (R 4.0.2)
 withr         2.2.0   2020-04-20 [1] CRAN (R 4.0.2)

The error is not present if number of iterations is reduced

rm(list=ls())
library(animation)
library(tidyverse)

mu_seq<-c(seq(0,15,by = 1.5),seq(15,0,by = -1.5),seq(0,-15,by = -1.5),rev(seq(0,-15,by = -1.5)))
sig_seq<-c(rev(seq(0.001,225,length.out = 20)),seq(0.001,225,length.out = 15))
dfp<-data.frame(mu=c(mu_seq,
                     rep(0,length(sig_seq))),
                sig=c(rep(225,length(mu_seq)),sig_seq))

saveGIF({
  ani.options(interval = 0.2, nmax = nrow(dfp))
  ## use a loop to create images one by one
  for (i in 1:ani.options('nmax')) {
    m1<-dfp[i,1]
    sd1<-sqrt(dfp[i,2])
    weight_lim<-c(-40, 40)
    pdnorm1<-ggplot(data = data.frame(weight = weight_lim), aes(weight)) +
      stat_function(fun = dnorm, n = 101, args = list(mean = m1, sd = sd1),aes(color="black")) +
      ylab(expression(paste("f(x|",mu,",",sigma^2,")"))) +xlab("x") +  
      scale_color_identity(name = "",
                           breaks = c("black", "red", "blue","green"),
                           labels = c(substitute(paste(mu,"= ",m1,", ",sigma^2,"= ",sd1),list(m1=round(m1,3),sd1=round(sd1,3)))),
                           guide = "legend")+
      ylim(0,.125)+
      theme_bw()
    print(pdnorm1)
    ani.pause()   ## pause for a while ('interval')
  }
}, interval = 0.05, movie.name = 'dnorm.gif', ani.width = 680, ani.height = 500)
#> Output at: dnorm.gif
#> [1] TRUE

Created on 2020-07-27 by the reprex package (v0.3.0)

I couldn't reproduce the bug, both scripts are running well on my CentOS server.

Maybe the memory of your machine is too limited to run the first script.

Here is my session info.

> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblasp-r0.3.3.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
 [1] splines   parallel  stats4    stats     graphics  grDevices utils     datasets 
 [9] methods   base     

other attached packages:
 [1] animation_2.6               scClassify_1.0.0            monocle_2.16.0             
 [4] DDRTree_0.1.5               irlba_2.3.3                 VGAM_1.1-3                 
 [7] Matrix_1.2-18               plyr_1.8.6                  ggpubr_0.4.0               
[10] viridis_0.5.1               viridisLite_0.3.0           MAST_1.14.0                
[13] ggplot2_3.3.2               cluster_2.1.0               Rtsne_0.15                 
[16] mclust_5.4.6                edgeR_3.30.3                limma_3.44.3               
[19] dplyr_1.0.0                 SingleCellExperiment_1.10.1 SummarizedExperiment_1.18.2
[22] DelayedArray_0.14.1         matrixStats_0.56.0          Biobase_2.48.0             
[25] GenomicRanges_1.40.0        GenomeInfoDb_1.24.2         IRanges_2.22.2             
[28] S4Vectors_0.26.1            BiocGenerics_0.34.0        

loaded via a namespace (and not attached):
 [1] colorspace_1.4-1       ggsignif_0.6.0         ellipsis_0.3.1        
 [4] rio_0.5.16             XVector_0.28.0         proxy_0.4-24          
 [7] rstudioapi_0.11        farver_2.0.3           graphlayouts_0.7.0    
[10] ggrepel_0.8.2          docopt_0.7.1           polyclip_1.10-0       
[13] hopach_2.48.0          broom_0.7.0            kernlab_0.9-29        
[16] pheatmap_1.0.12        ggforce_0.3.2          compiler_4.0.2        
[19] backports_1.1.8        tweenr_1.0.1           tools_4.0.2           
[22] igraph_1.2.5           gtable_0.3.0           glue_1.4.1            
[25] GenomeInfoDbData_1.2.3 RANN_2.6.1             reshape2_1.4.4        
[28] Rcpp_1.0.5             carData_3.0-4          slam_0.1-47           
[31] cellranger_1.1.0       vctrs_0.3.2            nlme_3.1-148          
[34] ggraph_2.0.3           stringr_1.4.0          openxlsx_4.1.5        
[37] lifecycle_0.2.0        statmod_1.4.34         rstatix_0.6.0         
[40] zlibbioc_1.34.0        MASS_7.3-51.6          scales_1.1.1          
[43] tidygraph_1.2.0        hms_0.5.3              RColorBrewer_1.1-2    
[46] curl_4.3               gridExtra_2.3          segmented_1.2-0       
[49] fastICA_1.2-2          stringi_1.4.6          densityClust_0.3      
[52] zip_2.0.4              BiocParallel_1.22.0    rlang_0.4.7           
[55] pkgconfig_2.0.3        bitops_1.0-6           qlcMatrix_0.9.7       
[58] lattice_0.20-41        purrr_0.3.4            labeling_0.3          
[61] tidyselect_1.1.0       magrittr_1.5           R6_2.4.1              
[64] magick_2.4.0           generics_0.0.2         combinat_0.0-8        
[67] pillar_1.4.6           haven_2.3.1            foreign_0.8-80        
[70] withr_2.2.0            mgcv_1.8-31            proxyC_0.1.5          
[73] mixtools_1.2.0         survival_3.2-3         abind_1.4-5           
[76] RCurl_1.98-1.2         tibble_3.0.3           crayon_1.3.4          
[79] car_3.0-8              locfit_1.5-9.4         grid_4.0.2            
[82] readxl_1.3.1           minpack.lm_1.2-1       data.table_1.12.8     
[85] FNN_1.1.3              forcats_0.5.0          HSMMSingleCell_1.8.0  
[88] sparsesvd_0.2          digest_0.6.25          tidyr_1.1.0           
[91] RcppParallel_5.0.2     munsell_0.5.0