Entering edit mode
ZheFrench ▴ 40@zhefrench-11689
Last seen 3 months ago
library(biomaRt) biomartCacheInfo() > Erreur dans lock(.sql_lock_path(dbfile), exclusive = FALSE) : > Cannot lock file: > '/home/villemin/.cache/biomaRt/BiocFileCache.sqlite.LOCK': Aucun > verrou disponible Erreur dans h(simpleError(msg, call)) : erreur > d'ï¿½valuation de l'argument 'conn' lors de la sï¿½lection d'une > mï¿½thode pour la fonction 'dbDisconnect' : objet 'info' introuvable >
Message in french sorry, but it says no lock file...I have no clue.
It should return something like :
- Location: ~/.cache/biomaRt
- No. of files: 1
- Total size: 338.4 Kb
> R version 4.1.3 (2022-03-10) Platform: x86_64-conda-linux-gnu (64-bit) > Running under: Ubuntu 18.04.6 LTS > > Matrix products: default BLAS/LAPACK: > /data/USERS/villemin/anaconda3/envs/r4.1.3/lib/libopenblasp-r0.3.20.so > > locale:  LC_CTYPE=fr_FR.UTF-8 LC_NUMERIC=C >  LC_TIME=fr_FR.UTF-8 LC_COLLATE=fr_FR.UTF-8  > LC_MONETARY=fr_FR.UTF-8 LC_MESSAGES=fr_FR.UTF-8  > LC_PAPER=fr_FR.UTF-8 LC_NAME=C  > LC_ADDRESS=C LC_TELEPHONE=C  > LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C > > attached base packages:  stats graphics grDevices utils > datasets methods base > > other attached packages:  biomaRt_2.50.3 > > loaded via a namespace (and not attached):  KEGGREST_1.34.0 > progress_1.2.2 tidyselect_1.1.2  purrr_0.3.4 > tcltk_4.1.3 vctrs_0.4.0  generics_0.1.2 > stats4_4.1.3 BiocFileCache_2.2.1  utf8_1.2.2 > blob_1.2.3 XML_3.99-0.9  rlang_1.0.2 > pillar_1.7.0 glue_1.6.2  DBI_1.1.2 > rappdirs_0.3.3 BiocGenerics_0.40.0  bit64_4.0.5 > dbplyr_2.1.1 GenomeInfoDbData_1.2.7  lifecycle_1.0.1 > stringr_1.4.0 zlibbioc_1.40.0  Biostrings_2.62.0 > memoise_2.0.1 Biobase_2.54.0  IRanges_2.28.0 > fastmap_1.1.0 GenomeInfoDb_1.30.1  curl_4.3.2 > AnnotationDbi_1.56.2 fansi_1.0.3  Rcpp_188.8.131.52 > filelock_1.0.2 BiocManager_1.30.16  cachem_1.0.6 > S4Vectors_0.32.4 XVector_0.34.0  bit_4.0.4 > hms_1.1.1 png_0.1-7  digest_0.6.29 > stringi_1.7.6 dplyr_1.0.8  cli_3.2.0 > tools_4.1.3 bitops_1.0-7  magrittr_2.0.3 > RCurl_1.98-1.6 RSQLite_2.2.12  tibble_3.1.6 > crayon_1.5.1 pkgconfig_2.0.3  ellipsis_0.3.2 > xml2_1.3.3 prettyunits_1.1.1  assertthat_0.2.1 > httr_1.4.2 R6_2.5.1  compiler_4.1.3
Error is coming from the call to lock from https://github.com/Bioconductor/BiocFileCache/blob/master/R/sql.R
This has also been reported at https://github.com/grimbough/biomaRt/issues/55 but lets try and keep the discussion here for now.
A slightly nicer formatted version of the error message is:
To me this looks like a BiocFileCache problem, do you agree shepherl ?
Also reported https://github.com/Bioconductor/BiocFileCache/issues/39 -- Please try to only have in one place so there are not multiple tickets open for the same item.
I will have to investigate more but yes it seems like it is BiocFileCache. There is a locking mechanism in place to try to avoid corruptions of the database. Is this a local computer or on a server? are you trying to run things in parallel?
Yeah sorry for the many messages everywhere. It's on ubuntu server 18.04. nfs mount version 3 with local_lock=none. That can be related,no ? Working well on same ubuntu version on docker container also or my linux...It's not R version related. There is no parallel stuffs . I'm just calling biomartCacheInfo() after loading biomart in R. I 'm using an R install in a conda environement if that can play a role...I think it's really filesystem related. and related to filelock package. From their doc :
Could there be a permissions issue? See Group Access
I tried also to change .LOCK with 660 or 700 and not work either. Both files are rw and still get no lock. 20K -rw-rw---- 1 villemin bioinfo 20K sept. 27 2021 BiocFileCache.sqlite 0 -rw-rw---- 1 villemin bioinfo 0 sept. 27 2021 BiocFileCache.sqlite.LOCK
This seems challenging. The first thing to do is to make this reproducible. The code
biomaRt:: biomartCacheInfo()'works for me' on both my native (macOS) and docker (as you note) environment under R-4.1.3 and similar package versions, so how does your environment differ (especially from the docker container)?
I see you have a conda environment. Have you installed all packages (in particular, BiocFileCache, biomaRt, filelock) under this conda environment, or are you mixing conda and 'native' installations?
biomaRt error: database disk image is malformed
These two helped a lot. It's definitely filesystem related. I moved the cache file under ext4 partition on my cluster.