Hi BiocFileCache team,
Last week at BioC2023 I ran into some issues with spatialLIBD::fetch_data("spatialDLPFC_Visium_modeling_results") and related functions after I wiped out clean my BiocFileCache on my laptop and forced it to re-download data. I made a reprex below abstracting away the spatialLIBD layer.
library("BiocFileCache")
#> Loading required package: dbplyr
bfc <- BiocFileCache::BiocFileCache()
BiocFileCache::bfcrpath(bfc, "http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1")
#> adding rname 'http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1'
#> Warning in value[[3L]](cond):
#> trying to add rname 'http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1' produced error:
#> HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)
#> Error in BiocFileCache::bfcrpath(bfc, "http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1"): not all 'rnames' found or unique.
traceback()
#> No traceback available
options(width = 120)
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.1 (2023-06-16)
#> os macOS Ventura 13.4
#> system aarch64, darwin20
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz America/New_York
#> date 2023-08-11
#> pandoc 3.1.5 @ /opt/homebrew/bin/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> BiocFileCache * 2.8.0 2023-04-25 [1] Bioconductor
#> bit 4.0.5 2022-11-15 [1] CRAN (R 4.3.0)
#> bit64 4.0.5 2020-08-30 [1] CRAN (R 4.3.0)
#> blob 1.2.4 2023-03-17 [1] CRAN (R 4.3.0)
#> cachem 1.0.8 2023-05-01 [1] CRAN (R 4.3.0)
#> cli 3.6.1 2023-03-23 [1] CRAN (R 4.3.0)
#> curl 5.0.1 2023-06-07 [1] CRAN (R 4.3.0)
#> DBI 1.1.3 2022-06-18 [1] CRAN (R 4.3.0)
#> dbplyr * 2.3.3 2023-07-07 [1] CRAN (R 4.3.0)
#> digest 0.6.33 2023-07-07 [1] CRAN (R 4.3.0)
#> dplyr 1.1.2 2023-04-20 [1] CRAN (R 4.3.0)
#> evaluate 0.21 2023-05-05 [1] CRAN (R 4.3.0)
#> fansi 1.0.4 2023-01-22 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> filelock 1.0.2 2018-10-05 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.0)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.3.0)
#> glue 1.6.2 2022-02-24 [1] CRAN (R 4.3.0)
#> htmltools 0.5.5 2023-03-23 [1] CRAN (R 4.3.0)
#> httr 1.4.6 2023-05-08 [1] CRAN (R 4.3.0)
#> knitr 1.43 2023-05-25 [1] CRAN (R 4.3.0)
#> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.3.0)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> memoise 2.0.1 2021-11-26 [1] CRAN (R 4.3.0)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.3.0)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.3.0)
#> purrr 1.0.1 2023-01-10 [1] CRAN (R 4.3.0)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.3.0)
#> R.utils 2.12.2 2022-11-11 [1] CRAN (R 4.3.0)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0)
#> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.3.0)
#> rlang 1.1.1 2023-04-28 [1] CRAN (R 4.3.0)
#> rmarkdown 2.23 2023-07-01 [1] CRAN (R 4.3.0)
#> RSQLite 2.3.1 2023-04-03 [1] CRAN (R 4.3.0)
#> rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.3.0)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> styler 1.10.1 2023-06-05 [1] CRAN (R 4.3.0)
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.3.0)
#> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.3.0)
#> utf8 1.2.3 2023-01-31 [1] CRAN (R 4.3.0)
#> vctrs 0.6.3 2023-06-14 [1] CRAN (R 4.3.0)
#> withr 2.5.0 2022-03-03 [1] CRAN (R 4.3.0)
#> xfun 0.39 2023-04-20 [1] CRAN (R 4.3.0)
#> yaml 2.3.7 2023-01-23 [1] CRAN (R 4.3.0)
#>
#> [1] /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library
#>
#> ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Created on 2023-08-11 with reprex v2.0.2
I was surprised by this as everything is working ok at GitHub actions using the biocthis workflow as well as in the Bioconductor BBS system.
In the 30 min prior to our spatialLIBD BioC2023 demo with @lahuuki, I tried resolving this. By googling the error message, I realized that curl (and httr), BiocFileCache dependencies, now use http version 2 instead of 1.1. See jeroen/curl#232 for a related issue. There they link to https://cran.r-project.org/web/packages/curl/vignettes/intro.html#Disabling_HTTP2 for disabling HTTP2, but I'm not sure if I can do that as a BiocFileCache user. Maybe through the config argument https://github.com/search?q=repo%3ABioconductor%2FBiocFileCache%20config&type=code. But that doesn't seem to be the case (maybe I'm not specifying config where I should):
> BiocFileCache::bfcrpath(bfc, "http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1", config = list(http_version = 2))
adding rname 'http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1'
|==================================================================================| 100%
Error in BiocFileCache::bfcrpath(bfc, "http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1", :
not all 'rnames' found or unique.
In addition: Warning message:
In value[[3L]](cond) :
trying to add rname 'http://www.dropbox.com/s/srkb2ife75px2yz/modeling_results_BayesSpace_k09.Rdata?dl=1' produced error:
HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)
What I find weird is that the download does actually happen, but at the very end it errors out. So I'm not 100% sure that the error is related to the http version 1.1 vs 2 change.
Hm... maybe something else changed in BiocFileCache::bfcrpath() that I'm not aware of, but well, in that case, I would expect things to break on GitHub Actions and BBS as well.
1 to 3 students at https://github.com/lcolladotor/cshl_rstats_genome_scale_2023 ran into this error and I thought it was something related their laptop configurations, and for the purpose of that course, we could get around things by having them download the data from Dropbox manually.
Thanks,
Leo
Hi BiocFileCache team,
Last week at BioC2023 I ran into some issues with
spatialLIBD::fetch_data("spatialDLPFC_Visium_modeling_results")and related functions after I wiped out clean my BiocFileCache on my laptop and forced it to re-download data. I made areprexbelow abstracting away thespatialLIBDlayer.Created on 2023-08-11 with reprex v2.0.2
I was surprised by this as everything is working ok at GitHub actions using the
biocthisworkflow as well as in the Bioconductor BBS system.In the 30 min prior to our
spatialLIBDBioC2023 demo with @lahuuki, I tried resolving this. By googling the error message, I realized thatcurl(andhttr),BiocFileCachedependencies, now use http version 2 instead of 1.1. See jeroen/curl#232 for a related issue. There they link to https://cran.r-project.org/web/packages/curl/vignettes/intro.html#Disabling_HTTP2 for disabling HTTP2, but I'm not sure if I can do that as aBiocFileCacheuser. Maybe through theconfigargument https://github.com/search?q=repo%3ABioconductor%2FBiocFileCache%20config&type=code. But that doesn't seem to be the case (maybe I'm not specifyingconfigwhere I should):What I find weird is that the download does actually happen, but at the very end it errors out. So I'm not 100% sure that the error is related to the http version 1.1 vs 2 change.
Hm... maybe something else changed in
BiocFileCache::bfcrpath()that I'm not aware of, but well, in that case, I would expect things to break on GitHub Actions and BBS as well.1 to 3 students at https://github.com/lcolladotor/cshl_rstats_genome_scale_2023 ran into this error and I thought it was something related their laptop configurations, and for the purpose of that course, we could get around things by having them download the data from Dropbox manually.
Thanks,
Leo