Skip to content

Instantly share code, notes, and snippets.

@vjcitn
Created October 11, 2024 10:56
Show Gist options
  • Save vjcitn/c28de15701044d02c46bbf1ead112cb0 to your computer and use it in GitHub Desktop.
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
##############################################################################
##############################################################################
###
### 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