Skip to content

[R] R crash when calling arrow::write_parquet() #50466

Description

@eligriv75

Describe the bug, including details regarding any error messages, version, and platform.

System details

RStudio Edition : Desktop
RStudio Version : 2026.06.0
OS Version      :  Windows Server 2019
R Version       :  4.6.1

Steps to reproduce the problem

R code :

pkg <-  c(
  "tidyverse",
  "data.table",
  "haven", 
  "stringr",
  "readxl",
  "openxlsx",
  "janitor",
  "glue", 
  "knitr", 
  "readr", 
  "lintr", 
  "sqldf", 
  "gtools", 
  "jsonlite",
  "sampling", 
  "ggformula",
  "arrow"
)


sapply(pkg, library, character.only = TRUE)

sessionInfo()

write_parquet(iris, "test.parquet")

The sessionInfo() output is :

R version 4.6.1 (2026-06-24 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows Server 2019 x64 (build 17763)

Matrix products: default
  LAPACK version 3.12.1

locale:
[1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252    LC_MONETARY=French_France.1252
[4] LC_NUMERIC=C                   LC_TIME=French_France.1252    

time zone: Europe/Paris
tzcode source: internal

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

other attached packages:
 [1] arrow_24.0.0      ggformula_1.0.1   ggridges_0.5.7    ggiraph_0.9.6     scales_1.4.0     
 [6] sampling_2.11     jsonlite_2.0.0    gtools_3.9.5      sqldf_0.4-12      RSQLite_3.53.3   
[11] gsubfn_0.7        proto_1.0.0       lintr_3.3.0-1     knitr_1.51        glue_1.8.1       
[16] janitor_2.2.1     openxlsx_4.2.8.1  readxl_1.5.0      haven_2.5.5       data.table_1.18.4
[21] lubridate_1.9.5   forcats_1.0.1     stringr_1.6.0     dplyr_1.2.1       purrr_1.2.2      
[26] readr_2.2.0       tidyr_1.3.2       tibble_3.3.1      ggplot2_4.0.3     tidyverse_2.0.0  

loaded via a namespace (and not attached):
 [1] gtable_0.3.6            xfun_0.59               htmlwidgets_1.6.4       tzdb_0.5.0             
 [5] vctrs_0.7.3             tools_4.6.1             generics_0.1.4          chron_2.3-62           
 [9] blob_1.3.0              pkgconfig_2.0.3         RColorBrewer_1.1-3      S7_0.2.2               
[13] assertthat_0.2.1        lifecycle_1.0.5         compiler_4.6.1          farver_2.1.2           
[17] snakecase_0.11.1        fontLiberation_0.1.0    fontquiver_0.2.1        htmltools_0.5.9        
[21] pillar_1.11.1           MASS_7.3-65             cachem_1.1.0            mosaicCore_0.9.5       
[25] fontBitstreamVera_0.1.1 digest_0.6.39           tidyselect_1.2.1        zip_3.0.0              
[29] stringi_1.8.7           labelled_2.16.0         fastmap_1.2.0           grid_4.6.1             
[33] cli_3.6.6               magrittr_2.0.5          withr_3.0.3             gdtools_0.5.1          
[37] backports_1.5.1         bit64_4.8.2             timechange_0.4.0        bit_4.6.0              
[41] otel_0.2.0              cellranger_1.1.0        hms_1.1.4               lpSolve_5.6.23         
[45] memoise_2.0.1           evaluate_1.0.5          tcltk_4.6.1             rex_1.2.2              
[49] rlang_1.3.0             Rcpp_1.1.2              DBI_1.3.0               xml2_1.6.0             
[53] rstudioapi_0.19.0       R6_2.6.1                systemfonts_1.3.2

Describe the problem in detail

When loading a relatively large number of packages, calls to certain arrow functions cause RStudio to crash with the error message “R session aborted” and a bomb icon.

I don't quite understand why the crash occurs, or why my workarounds work. For now, there are several ways I can get around the problem. The first, for example, is to add a read_parquet() before my write_parquet().
Another is to simply remove or add randomly some packages from the list of loaded packages. Sometines it does fix the issue, sometimes it doesn't. I haven’t tried all the combinations that cause it to crash or not.

The same code but with this package list (I just add xlsx compared to the previous list) instead does not crash :

pkg <-  c(
  "tidyverse",
  "data.table",
  "haven", 
  "stringr",
  "readxl",
  "openxlsx",
  "xlsx",
  "janitor",
  "glue", 
  "knitr", 
  "readr", 
  "lintr", 
  "sqldf", 
  "gtools", 
  "jsonlite",
  "sampling", 
  "ggformula",
  "arrow"
)

The bug also occurs when running the code in Rgui. However, it works fine in RStudio Server installed on a Linux environment. That’s why I’m reaching out to you to try to resolve the issue because the cause may be due to arrow.

Another finding : the behavior is exactly the same in R4.5.3 with arrow 24.0.0 but in R4.4.3 with arrow 23.0.1.2 there is no problem.

Describe the behavior you expected

The program should write a basic parquet file as output.

Component(s)

R

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions