Search code examples
rdplyrshinydatatabler-plotly

R shiny app deployed on R 4.0.3 fails but works on 4.1.2 (package dependencies)


I have an app running ok locally R 4.1.2, when I deploy on a server R 4.0.3 it fails on a very specific point rendering a datatable.

I have other datatables in the same app that work and render fine.

The error I get is very vage and already appears serveral times when building and installing the packages.

Vage error while building the docker container:

...
g++ -std=gnu++11 -shared -L/opt/ownr/R/lib/R/lib -L/usr/local/lib -o dplyr.so chop.o filter.o funs.o group_by.o group_data.o imports.o init.o mask.o mutate.o slice.o summarise.o -L/opt/ownr/R/lib/R/lib -lR
installing to /opt/ownr/R/lib/R/library/00LOCK-dplyr/00new/dplyr/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
Error : 'format_warning' is not an exported object from 'namespace:cli'
Warning: replacing previous import ‘ellipsis::check_dots_unnamed’ by ‘rlang::check_dots_unnamed’ when loading ‘pillar’
Warning: replacing previous import ‘ellipsis::check_dots_used’ by ‘rlang::check_dots_used’ when loading ‘pillar’
Warning: replacing previous import ‘ellipsis::check_dots_empty’ by ‘rlang::check_dots_empty’ when loading ‘pillar’
Warning: replacing previous import ‘ellipsis::check_dots_unnamed’ by ‘rlang::check_dots_unnamed’ when loading ‘tibble’
Warning: replacing previous import ‘ellipsis::check_dots_used’ by ‘rlang::check_dots_used’ when loading ‘tibble’
Warning: replacing previous import ‘ellipsis::check_dots_empty’ by ‘rlang::check_dots_empty’ when loading ‘tibble’

Then when I actually run the app the same error appears

Successfully fetched  6  tracks in  15.351  seconds
Warning: Error in : 'format_message' is not an exported object from 'namespace:cli'
  121: %>%
  120: <reactive:session$userData$tracks.per.ranger.per.month> [/opt/ownr/app/server.R#292]
  104: session$userData$tracks.per.ranger.per.month
  103: exprFunc [/opt/ownr/app/server.R#344]
  102: widgetFunc
  101: htmlwidgets::shinyRenderWidget
  100: func
   87: renderFunc
   86: renderFunc
   82: renderFunc
   81: output$tableRanger
    1: runApp

Code that generates the error:

  # per ranger per month
  session$userData$tracks.per.ranger.per.month <- reactive({
    req(session$userData$tracksdata())
    df.table <- session$userData$tracksdata()
    df.table$month <- floor_date(as_date(df.table$startWhen), "month")
    df.table$ranger <- as.factor(df.table$agentName)
    
    df <- df.table %>%   ### <<<<<<<<<<<<<<<<<<<<<<<<<--------------          line 292
      dplyr::rename(duration=patrolDuration) %>%
      dplyr::select('featureType','month','duration','ranger','length') %>%
      dplyr::group_by(ranger,month) %>%
      dplyr::summarize(patrols=n(),
                       duration = sum(duration),
                       length = sum(length))
    # dplyr::mutate(
    #   avgLength = round(length/numberOfpatrols,0),
    #   avgSpeed = round(length/patrolDuration,0)
    #   )
    
    df
  })  

I tried to downgrade dplyr and or plotly but no luck.

I am stuck , out of options...

Please advice !

============================= additional details =============================

Local sessionInfo()

─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.1.2 (2021-11-01)
 os       Ubuntu 18.04.6 LTS          
 system   x86_64, linux-gnu           
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       Europe/Amsterdam            
 date     2022-02-18                  

─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package      * version  date       lib source        
 assertthat     0.2.1    2019-03-21 [1] CRAN (R 4.1.2)
 bslib          0.2.5.1  2021-05-18 [1] CRAN (R 4.1.0)
 cachem         1.0.5    2021-05-15 [1] CRAN (R 4.1.0)
 Cairo          1.5-12.2 2020-07-07 [1] CRAN (R 4.1.2)
 cli            3.1.0    2021-10-27 [1] CRAN (R 4.1.2)
 colorRamps   * 2.3      2012-10-29 [1] CRAN (R 4.1.1)
 colorspace     2.0-1    2021-05-04 [1] CRAN (R 4.1.0)
 crayon         1.4.1    2021-02-08 [1] CRAN (R 4.1.0)
 crosstalk      1.1.1    2021-01-12 [1] CRAN (R 4.1.0)
 curl           4.3.1    2021-04-30 [1] CRAN (R 4.1.0)
 data.table     1.14.0   2021-02-21 [1] CRAN (R 4.1.0)
 data.tree    * 1.0.0    2020-08-03 [1] CRAN (R 4.1.0)
 DBI            1.1.1    2021-01-15 [1] CRAN (R 4.1.1)
 digest         0.6.27   2020-10-24 [1] CRAN (R 4.1.0)
 dplyr        * 1.0.8    2022-02-08 [1] CRAN (R 4.1.2)
 DT           * 0.18     2021-04-14 [1] CRAN (R 4.1.0)
 ellipsis       0.3.2    2021-04-29 [1] CRAN (R 4.1.0)
 fansi          0.5.0    2021-05-25 [1] CRAN (R 4.1.0)
 farver         2.1.0    2021-02-28 [1] CRAN (R 4.1.0)
 fastmap        1.1.0    2021-01-25 [1] CRAN (R 4.1.0)
 generics       0.1.2    2022-01-31 [1] CRAN (R 4.1.2)
 geojsonR       1.1.0    2021-05-04 [1] CRAN (R 4.1.1)
 ggplot2      * 3.3.5    2021-06-25 [1] CRAN (R 4.1.2)
 glue           1.4.2    2020-08-27 [1] CRAN (R 4.1.0)
 gtable         0.3.0    2019-03-25 [1] CRAN (R 4.1.0)
 htmltools      0.5.1.1  2021-01-22 [1] CRAN (R 4.1.0)
 htmlwidgets    1.5.3    2020-12-10 [1] CRAN (R 4.1.0)
 httpuv         1.6.1    2021-05-07 [1] CRAN (R 4.1.0)
 httr         * 1.4.2    2020-07-20 [1] CRAN (R 4.1.0)
 jquerylib      0.1.4    2021-04-26 [1] CRAN (R 4.1.0)
 jsonlite     * 1.7.2    2020-12-09 [1] CRAN (R 4.1.0)
 labeling       0.4.2    2020-10-20 [1] CRAN (R 4.1.0)
 later          1.2.0    2021-04-23 [1] CRAN (R 4.1.0)
 lazyeval       0.2.2    2019-03-15 [1] CRAN (R 4.1.0)
 lifecycle      1.0.1    2021-09-24 [1] CRAN (R 4.1.2)
 loggit       * 2.1.1    2021-02-28 [1] CRAN (R 4.1.0)
 lubridate    * 1.7.10   2021-02-26 [1] CRAN (R 4.1.0)
 magrittr       2.0.1    2020-11-17 [1] CRAN (R 4.1.0)
 mime           0.10     2021-02-13 [1] CRAN (R 4.1.0)
 munsell        0.5.0    2018-06-12 [1] CRAN (R 4.1.0)
 pillar         1.6.1    2021-05-16 [1] CRAN (R 4.1.0)
 pkgconfig      2.0.3    2019-09-22 [1] CRAN (R 4.1.0)
 plotly       * 4.9.3    2021-01-10 [1] CRAN (R 4.1.0)
 promises       1.2.0.1  2021-02-11 [1] CRAN (R 4.1.0)
 purrr          0.3.4    2020-04-17 [1] CRAN (R 4.1.0)
 R6             2.5.0    2020-10-28 [1] CRAN (R 4.1.0)
 RColorBrewer * 1.1-2    2014-12-07 [1] CRAN (R 4.1.0)
 Rcpp           1.0.7    2021-07-07 [1] CRAN (R 4.1.2)
 rlang          1.0.1    2022-02-03 [1] CRAN (R 4.1.2)
 rlist        * 0.4.6.1  2016-04-04 [1] CRAN (R 4.1.0)
 rsconnect      0.8.25   2021-11-19 [1] CRAN (R 4.1.2)
 rstudioapi     0.13     2020-11-12 [1] CRAN (R 4.1.0)
 sass           0.4.0    2021-05-12 [1] CRAN (R 4.1.0)
 scales         1.1.1    2020-05-11 [1] CRAN (R 4.1.0)
 sessioninfo    1.1.1    2018-11-05 [1] CRAN (R 4.1.0)
 shiny        * 1.6.0    2021-01-25 [1] CRAN (R 4.1.0)
 shinyjs      * 2.1.0    2021-12-23 [1] CRAN (R 4.1.2)
 stringi        1.6.2    2021-05-17 [1] CRAN (R 4.1.0)
 tibble         3.1.2    2021-05-16 [1] CRAN (R 4.1.0)
 tidyr          1.2.0    2022-02-01 [1] CRAN (R 4.1.2)
 tidyselect     1.1.1    2021-04-30 [1] CRAN (R 4.1.0)
 utf8           1.2.1    2021-03-12 [1] CRAN (R 4.1.0)
 vctrs          0.3.8    2021-04-29 [1] CRAN (R 4.1.0)
 viridisLite    0.4.0    2021-04-13 [1] CRAN (R 4.1.2)
 withr          2.4.2    2021-04-18 [1] CRAN (R 4.1.0)
 xtable         1.8-4    2019-04-21 [1] CRAN (R 4.1.0)
 yaml           2.2.1    2020-02-01 [1] CRAN (R 4.1.0)

On the server I am stuck with R 4.0.3 sessionInfo()

─ Session info ───────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.0.3 (2020-10-10)
 os       Ubuntu 20.04.1 LTS          
 system   x86_64, linux-gnu           
 ui       X11                         
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       Etc/UTC                     
 date     2022-02-18                  ─ Packages ───────────────────────────────────────────────────────────────────
 package      * version date       lib source        
 bslib          0.2.4   2021-01-25 [1] CRAN (R 4.0.3)
 cachem         1.0.4   2021-02-13 [1] CRAN (R 4.0.3)
 cli            2.4.0   2021-04-05 [1] CRAN (R 4.0.3)
 colorRamps   * 2.3     2012-10-29 [1] CRAN (R 4.0.3)
 colorspace     2.0-2   2021-06-24 [1] CRAN (R 4.0.3)
 crayon         1.4.1   2021-02-08 [1] CRAN (R 4.0.3)
 crosstalk      1.1.1   2021-01-12 [1] CRAN (R 4.0.3)
 data.table     1.14.2  2021-09-27 [1] CRAN (R 4.0.3)
 digest         0.6.27  2020-10-24 [1] CRAN (R 4.0.3)
 dplyr        * 1.0.8   2022-02-08 [1] CRAN (R 4.0.3)
 DT           * 0.17    2021-01-06 [1] CRAN (R 4.0.3)
 ellipsis       0.3.1   2020-05-15 [1] CRAN (R 4.0.3)
 fansi          0.4.2   2021-01-15 [1] CRAN (R 4.0.3)
 fastmap        1.1.0   2021-01-25 [1] CRAN (R 4.0.3)
 generics       0.1.2   2022-01-31 [1] CRAN (R 4.0.3)
 ggplot2      * 3.3.5   2021-06-25 [1] CRAN (R 4.0.3)
 glue           1.4.2   2020-08-27 [1] CRAN (R 4.0.3)
 gtable         0.3.0   2019-03-25 [1] CRAN (R 4.0.3)
 htmltools      0.5.1.1 2021-01-22 [1] CRAN (R 4.0.3)
 htmlwidgets    1.5.3   2020-12-10 [1] CRAN (R 4.0.3)
 httpuv         1.5.5   2021-01-13 [1] CRAN (R 4.0.3)
 httr         * 1.4.2   2020-07-20 [1] CRAN (R 4.0.3)
 jquerylib      0.1.3   2020-12-17 [1] CRAN (R 4.0.3)
 jsonlite     * 1.7.2   2020-12-09 [1] CRAN (R 4.0.3)
 later          1.1.0.1 2020-06-05 [1] CRAN (R 4.0.3)
 lazyeval       0.2.2   2019-03-15 [1] CRAN (R 4.0.3)
 lifecycle      1.0.1   2021-09-24 [1] CRAN (R 4.0.3)
 loggit       * 2.1.1   2021-02-28 [1] CRAN (R 4.0.3)
 lubridate    * 1.8.0   2021-10-07 [1] CRAN (R 4.0.3)
 magrittr       2.0.1   2020-11-17 [1] CRAN (R 4.0.3)
 mime           0.10    2021-02-13 [1] CRAN (R 4.0.3)
 munsell        0.5.0   2018-06-12 [1] CRAN (R 4.0.3)
 pillar         1.5.1   2021-03-05 [1] CRAN (R 4.0.3)
 pkgconfig      2.0.3   2019-09-22 [1] CRAN (R 4.0.3)
 plotly       * 4.10.0  2021-10-09 [1] CRAN (R 4.0.3)
 promises       1.2.0.1 2021-02-11 [1] CRAN (R 4.0.3)
 purrr          0.3.4   2020-04-17 [1] CRAN (R 4.0.3)
 R6             2.5.0   2020-10-28 [1] CRAN (R 4.0.3)
 RColorBrewer * 1.1-2   2014-12-07 [1] CRAN (R 4.0.3)
 Rcpp           1.0.6   2021-01-15 [1] CRAN (R 4.0.3)
 rlang          1.0.1   2022-02-03 [1] CRAN (R 4.0.3)
 sass           0.3.1   2021-01-24 [1] CRAN (R 4.0.3)
 scales         1.1.1   2020-05-11 [1] CRAN (R 4.0.3)
 sessioninfo    1.1.1   2018-11-05 [1] CRAN (R 4.0.3)
 shiny        * 1.6.0   2021-01-25 [1] CRAN (R 4.0.3)
 shinyjs      * 2.1.0   2021-12-23 [1] CRAN (R 4.0.3)
 tibble         3.1.0   2021-02-25 [1] CRAN (R 4.0.3)
 tidyr          1.2.0   2022-02-01 [1] CRAN (R 4.0.3)
 tidyselect     1.1.1   2021-04-30 [1] CRAN (R 4.0.3)
 utf8           1.2.1   2021-03-12 [1] CRAN (R 4.0.3)
 vctrs          0.3.7   2021-03-29 [1] CRAN (R 4.0.3)
 viridisLite    0.4.0   2021-04-13 [1] CRAN (R 4.0.3)
 withr          2.4.1   2021-01-26 [1] CRAN (R 4.0.3)
 xtable         1.8-4   2019-04-21 [1] CRAN (R 4.0.3)
 yaml           2.2.1   2020-02-01 [1] CRAN (R 4.0.3)

Solution

  • It seems like a dependency version issue - the new dplyr (1.0.8) that you use uses a different cli version on 4.0 and on 4.1. The fault lies with dplyr that should not accept an older version of cli but that's outside your control.

    What you could do is try to install an older version of dplyr, one that works with the cli package version 2.4.0. The easiest way to do that would be to install the older version of dplyr from github