Created
October 11, 2024 10:56
-
-
Save vjcitn/c28de15701044d02c46bbf1ead112cb0 to your computer and use it in GitHub Desktop.
hard to trigger error first seen in ubuntu 24.04, now similar on intel mac
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################## | |
############################################################################## | |
### | |
### Running command: | |
### | |
### /Library/Frameworks/R.framework/Resources/bin/R CMD build --keep-empty-dirs --no-resave-data BiocFileCache | |
### | |
############################################################################## | |
############################################################################## | |
* checking for file ‘BiocFileCache/DESCRIPTION’ ... OK | |
* preparing ‘BiocFileCache’: | |
* checking DESCRIPTION meta-information ... OK | |
* installing the package to build vignettes | |
* creating vignettes ...sh: line 1: 22366 Segmentation fault: 11 '/Library/Frameworks/R.framework/Resources/bin/Rscript' --vanilla --default-packages= -e "tools::buildVignettes(dir = '.', tangle = TRUE)" > '/tmp/RtmpiFiMqj/xshell55f3109b71b0' 2>&1 | |
ERROR | |
--- re-building ‘BiocFileCache.Rmd’ using rmarkdown | |
--- finished re-building ‘BiocFileCache.Rmd’ | |
--- re-building ‘BiocFileCache_Troubleshooting.Rmd’ using rmarkdown | |
--- finished re-building ‘BiocFileCache_Troubleshooting.Rmd’ | |
--- re-building ‘BiocFileCache_UseCases.Rmd’ using rmarkdown | |
*** caught segfault *** | |
address 0x0, cause 'unknown' | |
Traceback: | |
1: curl::curl_fetch_disk(url, x$path, handle = handle) | |
2: request_fetch.write_disk(req$output, req$url, handle) | |
3: request_fetch(req$output, req$url, handle) | |
4: request_perform(req, hu$handle$handle) | |
5: GET(websource, write_disk(localfile, overwrite = TRUE), proxy, config = config, ...) | |
6: withCallingHandlers(expr, warning = function(w) if (inherits(w, classes)) tryInvokeRestart("muffleWarning")) | |
7: suppressWarnings({ GET(websource, write_disk(localfile, overwrite = TRUE), proxy, config = config, ...)}) | |
8: doTryCatch(return(expr), name, parentenv, handler) | |
9: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | |
10: tryCatchList(expr, classes, parentenv, handlers) | |
11: tryCatch({ if (!is(proxy, "request")) { if (proxy == "") { proxy = NULL } else { proxy = use_proxy(proxy) } } if (!all(file.exists(dirname(localfile)))) dir.create(dirname(localfile), recursive = TRUE) if (interactive() && (packageVersion("httr") > "1.0.0")) { response <- suppressWarnings({ GET(websource, progress(con = stderr()), config = config, write_disk(localfile, overwrite = TRUE), proxy, ...) }) cat("\n") } else { response <- suppressWarnings({ GET(websource, write_disk(localfile, overwrite = TRUE), proxy, config = config, ...) }) } if (length(status_code(response))) { if (status_code(response) != 302L) stop_for_status(response) } TRUE}, error = function(err) { warning("download failed", "\n web resource path: ", sQuote(websource), "\n local file path: ", sQuote(localfile), "\n reason: ", conditionMessage(err), call. = FALSE) FALSE}) | |
12: (function (websource, localfile, proxy, config, ...) { tryCatch({ if (!is(proxy, "request")) { if (proxy == "") { proxy = NULL } else { proxy = use_proxy(proxy) } } if (!all(file.exists(dirname(localfile)))) dir.create(dirname(localfile), recursive = TRUE) if (interactive() && (packageVersion("httr") > "1.0.0")) { response <- suppressWarnings({ GET(websource, progress(con = stderr()), config = config, write_disk(localfile, overwrite = TRUE), proxy, ...) }) cat("\n") } else { response <- suppressWarnings({ GET(websource, write_disk(localfile, overwrite = TRUE), proxy, config = config, ...) }) } if (length(status_code(response))) { if (status_code(response) != 302L) stop_for_status(response) } TRUE }, error = function(err) { warning("download failed", "\n web resource path: ", sQuote(websource), "\n local file path: ", sQuote(localfile), "\n reason: ", conditionMessage(err), call. = FALSE) FALSE })})(dots[[1L]][[1L]], dots[[2L]][[1L]], proxy = "", config = list()) | |
13: mapply(FUN = f, ..., SIMPLIFY = FALSE) | |
14: Map(.httr_download, fpath, rpath, MoreArgs = list(proxy = proxy, config = config, ...)) | |
15: .util_download(x, rid[i], proxy, config, "bfcadd()", ...) | |
16: bfcadd(x, rname, ...) | |
17: bfcadd(x, rname, ...) | |
18: doTryCatch(return(expr), name, parentenv, handler) | |
19: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | |
20: tryCatchList(expr, classes, parentenv, handlers) | |
21: tryCatch({ res <- bfcrid(bfcquery(x, rname, field = "rname", exact = exact)) if (length(res) == 0L) { message("adding rname '", rname, "'") names(bfcadd(x, rname, ...)) } else { names(update_time_and_path(x, res)) }}, error = function(e) { warning("\ntrying to add rname '", rname, "' produced error:", "\n ", conditionMessage(e)) NA_character_}, finally = function() { .unlock2(locfile_path)}) | |
22: FUN(X[[i]], ...) | |
23: vapply(rnames, add_or_return_rname, character(1), x = x, ..., exact = exact) | |
24: bfcrpath(bfc, c(url, url2)) | |
25: bfcrpath(bfc, c(url, url2)) | |
26: eval(expr, envir) | |
27: eval(expr, envir) | |
28: withVisible(eval(expr, envir)) | |
29: withCallingHandlers(code, message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = invokeRestart("eval_error", cnd))}) | |
30: eval(call) | |
31: eval(call) | |
32: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers) | |
33: doWithOneRestart(return(expr), restart) | |
34: withOneRestart(expr, restarts[[1L]]) | |
35: withRestartList(expr, restarts[-nr]) | |
36: doWithOneRestart(return(expr), restart) | |
37: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) | |
38: withRestartList(expr, restarts[-nr]) | |
39: doWithOneRestart(return(expr), restart) | |
40: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) | |
41: withRestartList(expr, restarts) | |
42: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE, eval_error = function(cnd) signalCondition(cnd)) | |
43: evaluate::evaluate(...) | |
44: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options)) | |
45: in_dir(input_dir(), expr) | |
46: in_input_dir(evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options))) | |
47: eng_r(options) | |
48: block_exec(params) | |
49: call_block(x) | |
50: process_group(group) | |
51: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)) | |
52: xfun:::handle_error(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from lines ", loc) }, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc) | |
53: process_file(text, output) | |
54: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet) | |
55: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...) | |
56: vweave_rmarkdown(...) | |
57: engine$weave(file, quiet = quiet, encoding = enc) | |
58: doTryCatch(return(expr), name, parentenv, handler) | |
59: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | |
60: tryCatchList(expr, classes, parentenv, handlers) | |
61: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) output <- find_vignette_product(name, by = "weave", engine = engine) if (!have.makefile && vignette_is_tex(output)) { texi2pdf(file = output, clean = FALSE, quiet = quiet) output <- find_vignette_product(name, by = "texi2pdf", engine = engine) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))}) | |
62: tools::buildVignettes(dir = ".", tangle = TRUE) | |
An irrecoverable exception occurred. R is aborting now ... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment