Closed DavZim closed 4 months ago
When I write a dataset that contains externalptrs as an attribute (default for readr) in a project using renv, I get a segmentation fault.
readr
renv
#> - Project '~/repro' loaded. [renv 1.0.7] library(qs) library(readr) df <- data.frame(x = 1:10) write_csv(df, "testdata.csv") qsave(df, "testdata.qs") # save works here df2 <- read_csv("testdata.csv") str(df2) #> spc_tbl_ [10 × 1] (S3: spec_tbl_df/tbl_df/tbl/data.frame) #> $ x: num [1:10] 1 2 3 4 5 6 7 8 9 10 #> - attr(*, "spec")= #> .. cols( #> .. x = col_double() #> .. ) #> - attr(*, "problems")=<externalptr> qsave(df2, "testdata2.qs") # breaks the code #> *** caught segfault *** #> address 0x19, cause 'memory not mapped' #> #> Traceback: #> 1: qsave(df2, "testdata2.qs")
The segfault does not show when I use df2 <- as.data.frame(df2), df2 <- tibble::as_tibble(df2), or attr(df2, "problems") <- NULL, or when I run this outside of renv, or when I use df2 <- read.csv("testdata.csv") instead of readr::read_csv().
df2 <- as.data.frame(df2)
df2 <- tibble::as_tibble(df2)
attr(df2, "problems") <- NULL
df2 <- read.csv("testdata.csv")
readr::read_csv()
I am not sure if this belongs here or to renv.
Let me know if you need any further information.
sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────────────────────────────────────── #> setting value #> version R version 4.3.1 (2023-06-16) #> os Ubuntu 22.04.4 LTS #> system x86_64, linux-gnu #> ui RStudio #> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz Etc/UTC #> date 2024-05-16 #> rstudio 2023.12.0+369.pro3 Ocean Storm (server) #> pandoc 2.9.2.1 @ /usr/bin/pandoc #> #> ─ Packages ─────────────────────────────────────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> cli 3.6.1 2023-03-23 [2] RSPM (R 4.3.0) #> digest 0.6.35 2024-03-11 [1] RSPM (R 4.3.0) #> ellipsis 0.3.2 2021-04-29 [2] RSPM (R 4.3.0) #> fansi 1.0.4 2023-01-22 [2] RSPM (R 4.3.0) #> fastmap 1.1.1 2023-02-24 [2] RSPM (R 4.3.0) #> glue 1.6.2 2022-02-24 [2] RSPM (R 4.3.0) #> hms 1.1.3 2023-03-21 [2] RSPM (R 4.3.0) #> htmltools 0.5.6 2023-08-10 [2] RSPM (R 4.3.0) #> httpuv 1.6.11 2023-05-11 [2] RSPM (R 4.3.0) #> later 1.3.1 2023-05-02 [2] RSPM (R 4.3.0) #> lifecycle 1.0.3 2022-10-07 [2] RSPM (R 4.3.0) #> magrittr 2.0.3 2022-03-30 [2] RSPM (R 4.3.0) #> mime 0.12 2021-09-28 [2] RSPM (R 4.3.0) #> pillar 1.9.0 2023-03-22 [2] RSPM (R 4.3.0) #> pkgconfig 2.0.3 2019-09-22 [2] RSPM (R 4.3.0) #> promises 1.2.1 2023-08-10 [2] RSPM (R 4.3.0) #> qs * 0.26.1 2024-03-09 [1] RSPM (R 4.3.0) #> R6 2.5.1 2021-08-19 [2] RSPM (R 4.3.0) #> RApiSerialize 0.1.3 2024-05-14 [1] RSPM (R 4.3.0) #> Rcpp 1.0.12 2024-01-09 [1] RSPM (R 4.3.0) #> RcppParallel 5.1.7 2023-02-27 [2] RSPM (R 4.3.0) #> readr * 2.1.5 2024-01-10 [1] RSPM (R 4.3.0) #> rlang 1.1.1 2023-04-28 [2] RSPM (R 4.3.0) #> rsconnect 1.2.1 2024-01-31 [1] RSPM (R 4.3.0) #> rstudioapi 0.15.0 2023-07-07 [2] RSPM (R 4.3.0) #> sessioninfo 1.2.2 2021-12-06 [1] RSPM (R 4.3.0) #> shiny 1.7.5 2023-08-12 [1] RSPM (R 4.3.0) #> stringfish 0.16.0 2023-11-28 [1] RSPM (R 4.3.0) #> tibble 3.2.1 2023-03-20 [2] RSPM (R 4.3.0) #> tzdb 0.4.0 2023-05-12 [2] RSPM (R 4.3.0) #> utf8 1.2.3 2023-01-31 [2] RSPM (R 4.3.0) #> vctrs 0.6.3 2023-06-14 [2] RSPM (R 4.3.0) #> xtable 1.8-4 2019-04-21 [2] RSPM (R 4.3.0)
I just installed the newest version of qs (0.26.3) and it does not crash anymore. Will close this now!
When I write a dataset that contains externalptrs as an attribute (default for
readr
) in a project usingrenv
, I get a segmentation fault.The segfault does not show when I use
df2 <- as.data.frame(df2)
,df2 <- tibble::as_tibble(df2)
, orattr(df2, "problems") <- NULL
, or when I run this outside ofrenv
, or when I usedf2 <- read.csv("testdata.csv")
instead ofreadr::read_csv()
.I am not sure if this belongs here or to
renv
.Let me know if you need any further information.
Session