Hi, I'd like to use curatedmetagenomicdata to download some experiments from ExperimentHub and am running into certificate error issues. I have previously searched this forum and tried the solutions I found, but they do not seem to work, as detailed in the following. Immediately prior to R session, I tried deleting the corrupt cache from the command line and restarting R. I tried unlinking the cache during R, and I have verified that my bioconductor packages are current and valid.
The piece of code I am trying to execute successfully is:
library(ExperimentHub)
eh = ExperimentHub()
The errors and session info are detailed below. Any assistance is appreciated.
#Unix command prompt $ rm -rf /Users/morxo28p/.ExperimentHub/ #From within R: > file.exists('/Users/morxo28p/.ExperimentHub/experimenthub.sqlite3') [1] FALSE > library(ExperimentHub) #library loaded successfully, terminal output of this trimmed > eh = ExperimentHub() updating metadata: retrieving 1 resource Error: database is corrupt; remove it and try again database: ‘/Users/morxo28p//.ExperimentHub/experimenthub.sqlite3’ reason: missing tables In addition: Warning message: download failed hub path: ‘https://experimenthub.bioconductor.org/metadata/experimenthub.sqlite3’ cache path: ‘/Users/morxo28p//.ExperimentHub/experimenthub.sqlite3’ reason: Peer certificate cannot be authenticated with given CA certificates > traceback() 9: stop("database is corrupt; remove it and try again", "\n database: ", sQuote(path), "\n reason: ", conditionMessage(err), call. = FALSE) 8: value[[3L]](cond) 7: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 6: tryCatchList(expr, classes, parentenv, handlers) 5: tryCatch({ expected <- c("biocversions", "input_sources", "location_prefixes", "rdatapaths", "recipes", "resources", "statuses", "tags", "timestamp") if (!all(expected %in% dbListTables(conn))) stop("missing tables") sql <- "SELECT COUNT(id) FROM resources" if (.db_query(conn, sql)[[1]] == 0L) warning("empty 'resources' table; database may be corrupt") }, error = function(err) { stop("database is corrupt; remove it and try again", "\n database: ", sQuote(path), "\n reason: ", conditionMessage(err), call. = FALSE) }) 4: .db_is_valid(db_path) 3: .db_get(db_path, url, proxy) 2: .Hub("ExperimentHub", hub, cache, proxy, ...) 1: ExperimentHub() #Troubleshooting - unlink and try again > unlink('/Users/morxo28p/.ExperimentHub/experimenthub.sqlite3') > file.exists('/Users/morxo28p/.ExperimentHub/experimenthub.sqlite3') [1] FALSE > eh = ExperimentHub() updating metadata: retrieving 1 resource Error: database is corrupt; remove it and try again database: ‘/Users/morxo28p//.ExperimentHub/experimenthub.sqlite3’ reason: missing tables In addition: Warning message: download failed hub path: ‘https://experimenthub.bioconductor.org/metadata/experimenthub.sqlite3’ cache path: ‘/Users/morxo28p//.ExperimentHub/experimenthub.sqlite3’ reason: Peer certificate cannot be authenticated with given CA certificates # R session information > BiocInstaller::biocValid() [1] TRUE > sessionInfo() R version 3.3.2 (2016-10-31) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X El Capitan 10.11.6 locale: [1] en_NZ.UTF-8/en_NZ.UTF-8/en_NZ.UTF-8/C/en_NZ.UTF-8/en_NZ.UTF-8 attached base packages: [1] parallel stats graphics grDevices utils datasets methods [8] base other attached packages: [1] ExperimentHub_1.0.0 AnnotationHub_2.6.4 BiocGenerics_0.20.0 loaded via a namespace (and not attached): [1] Rcpp_0.12.8 IRanges_2.8.1 [3] digest_0.6.10 mime_0.5 [5] R6_2.2.0 xtable_1.8-2 [7] DBI_0.5-1 stats4_3.3.2 [9] RSQLite_1.1-1 BiocInstaller_1.24.0 [11] httr_1.2.1 curl_2.3 [13] S4Vectors_0.12.1 tools_3.3.2 [15] Biobase_2.34.0 shiny_0.14.2 [17] yaml_2.1.14 httpuv_1.3.3 [19] AnnotationDbi_1.36.0 memoise_1.0.0 [21] htmltools_0.3.5 interactiveDisplayBase_1.12.0
Thank you. I am no longer getting this error and it is working properly.
After a few days without issue, I am seeing this issue again. CA certificate for AnnotationHub is fine but ExperimentHub is having issues.
Same here:
Thanks Greg, fix confirmed.