It might be possible that it stems from changes in R itself or a dependent package you utilize. Bioc 3.21/Devel is using R-devel (R 4.5) it might be worth testing on that version of R with all updated devel Bioconductor packages. It looks like perhaps with using BRISC package. I was able to reproduce this locally:
R CMD build spoon * checking for file 'spoon/DESCRIPTION' ... OK * preparing 'spoon': * checking DESCRIPTION meta-information ... OK * installing the package to build vignettes * creating vignettes ... ERROR --- re-building �spoon.Rmd� using rmarkdown *** caught segfault *** address 0x1, cause 'memory not mapped' Traceback: 1: BRISC_estimation(coords = coords, y = y_i, x = NULL, cov.model = "exponential", ordering = order_brisc, neighbor = nn_brisc, verbose = FALSE) 2: system.time({ out_i <- BRISC_estimation(coords = coords, y = y_i, x = NULL, cov.model = "exponential", ordering = order_brisc, neighbor = nn_brisc, verbose = FALSE)}) 3: withCallingHandlers(expr, warning = function(w) if (inherits(w, classes)) tryInvokeRestart("muffleWarning")) 4: suppressWarnings({ runtime <- system.time({ out_i <- BRISC_estimation(coords = coords, y = y_i, x = NULL, cov.model = "exponential", ordering = order_brisc, neighbor = nn_brisc, verbose = FALSE) })}) 5: FUN(...) 6: withCallingHandlers({ ERROR_CALL_DEPTH <<- (function() sys.nframe() - 1L)() FUN(...)}, error = function(e) { annotated_condition <- handle_error(e) stop(annotated_condition)}, warning = handle_warning) 7: doTryCatch(return(expr), name, parentenv, handler) 8: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9: tryCatchList(expr, classes, parentenv, handlers) 10: tryCatch({ withCallingHandlers({ ERROR_CALL_DEPTH <<- (function() sys.nframe() - 1L)() FUN(...) }, error = function(e) { annotated_condition <- handle_error(e) stop(annotated_condition) }, warning = handle_warning)}, error = identity) 11: FUN(X[[i]], ...) 12: (function (X, FUN, ...) { FUN <- match.fun(FUN) if (!is.vector(X) || is.object(X)) X <- as.list(X) .Internal(lapply(X, FUN))})(X = 1:10, FUN = function (...) { if (!identical(timeout, WORKER_TIMEOUT)) { setTimeLimit(timeout, timeout, TRUE) on.exit(setTimeLimit(Inf, Inf, FALSE)) } if (!is.null(globalOptions)) base::options(globalOptions) if (stop.on.error && ERROR_OCCURRED) { UNEVALUATED } else { .rng_reset_generator("L'Ecuyer-CMRG", SEED) output <- tryCatch({ withCallingHandlers({ ERROR_CALL_DEPTH <<- (function() sys.nframe() - 1L)() FUN(...) }, error = function(e) { annotated_condition <- handle_error(e) stop(annotated_condition) }, warning = handle_warning) }, error = identity) if (force.GC) gc(verbose = FALSE, full = FALSE) SEED <<- .rng_next_substream(SEED) output }}) 13: do.call(lapply, args) 14: BiocParallel:::.workerLapply_impl(...) 15: (function (...) BiocParallel:::.workerLapply_impl(...))(X = 1:10, FUN = function (i) { y_i <- y[, i] suppressWarnings({ runtime <- system.time({ out_i <- BRISC_estimation(coords = coords, y = y_i, x = NULL, cov.model = "exponential", ordering = order_brisc, neighbor = nn_brisc, verbose = FALSE) }) }) pred_i <- BRISC_prediction(out_i, coords.0 = coords, X.0 = NULL, verbose = FALSE) residual_i <- y_i - pred_i$prediction return(c(pred_i$prediction, residual_i))}, ARGS = list(), OPTIONS = list(log = FALSE, threshold = "INFO", stop.on.error = TRUE, as.error = TRUE, timeout = NA_integer_, force.GC = FALSE, globalOptions = NULL), BPRNGSEED = c(10407L, 1226132466L, -421848373L, 412861328L, 1631185489L, -1231568930L, -1407128889L), GLOBALS = list(), PACKAGES = character(0)) 16: do.call(msg$data$fun, msg$data$args) 17: doTryCatch(return(expr), name, parentenv, handler) 18: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 19: tryCatchList(expr, classes, parentenv, handlers) 20: tryCatch({ do.call(msg$data$fun, msg$data$args)}, error = function(e) { list(.error_worker_comm(e, "worker evaluation failed"))}) 21: .bpworker_EXEC(msg, bplog(backend$BPPARAM)) 22: .recv_any(manager$backend) 23: .recv_any(manager$backend) 24: .manager_recv(manager) 25: .manager_recv(manager) 26: .collect_result(manager, reducer, progress, BPPARAM) 27: .bploop_impl(ITER = ITER, FUN = FUN, ARGS = ARGS, BPPARAM = BPPARAM, BPOPTIONS = BPOPTIONS, BPREDO = BPREDO, reducer = reducer, progress.length = length(redo_index)) 28: bploop.lapply(manager, BPPARAM = BPPARAM, BPOPTIONS = BPOPTIONS, ...) 29: bploop(manager, BPPARAM = BPPARAM, BPOPTIONS = BPOPTIONS, ...) 30: .bpinit(manager = manager, X = X, FUN = FUN, ARGS = ARGS, BPPARAM = BPPARAM, BPOPTIONS = BPOPTIONS, BPREDO = BPREDO) 31: bplapply(ix, function(i) { y_i <- y[, i] suppressWarnings({ runtime <- system.time({ out_i <- BRISC_estimation(coords = coords, y = y_i, x = NULL, cov.model = "exponential", ordering = order_brisc, neighbor = nn_brisc, verbose = FALSE) }) }) pred_i <- BRISC_prediction(out_i, coords.0 = coords, X.0 = NULL, verbose = FALSE) residual_i <- y_i - pred_i$prediction return(c(pred_i$prediction, residual_i))}, BPPARAM = BPPARAM) 32: bplapply(ix, function(i) { y_i <- y[, i] suppressWarnings({ runtime <- system.time({ out_i <- BRISC_estimation(coords = coords, y = y_i, x = NULL, cov.model = "exponential", ordering = order_brisc, neighbor = nn_brisc, verbose = FALSE) }) }) pred_i <- BRISC_prediction(out_i, coords.0 = coords, X.0 = NULL, verbose = FALSE) residual_i <- y_i - pred_i$prediction return(c(pred_i$prediction, residual_i))}, BPPARAM = BPPARAM) 33: generate_weights(input = spe, stabilize = TRUE, BPPARAM = MulticoreParam(workers = 1, RNGseed = 4)) 34: eval(expr, envir) 35: eval(expr, envir) 36: withVisible(eval(expr, envir)) 37: 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 = NULL)}) 38: eval(call) 39: eval(call) 40: 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) 41: doWithOneRestart(return(expr), restart) 42: withOneRestart(expr, restarts[[1L]]) 43: withRestartList(expr, restarts[-nr]) 44: doWithOneRestart(return(expr), restart) 45: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 46: withRestartList(expr, restarts) 47: 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) 48: evaluate::evaluate(...) 49: 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)) 50: in_dir(input_dir(), expr) 51: 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))) 52: eng_r(options) 53: block_exec(params) 54: call_block(x) 55: process_group(group) 56: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)) 57: 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) 58: process_file(text, output) 59: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet) 60: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...) 61: vweave_rmarkdown(...) 62: engine$weave(file, quiet = quiet, encoding = enc) 63: doTryCatch(return(expr), name, parentenv, handler) 64: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 65: tryCatchList(expr, classes, parentenv, handlers) 66: 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)))}) 67: tools::buildVignettes(dir = ".", tangle = TRUE) An irrecoverable exception occurred. R is aborting now ... Segmentation fault (core dumped) Lori Shepherd - Kern Bioconductor Core Team Roswell Park Comprehensive Cancer Center Department of Biostatistics & Bioinformatics Elm & Carlton Streets Buffalo, New York 14263 ________________________________ From: Bioc-devel <bioc-devel-boun...@r-project.org> on behalf of Kinnary Shah <kinnarysh...@gmail.com> Sent: Friday, January 31, 2025 12:48 PM To: bioc-devel@r-project.org <bioc-devel@r-project.org> Subject: [Bioc-devel] spoon problems reported Multiple platform build/check BioC 3.21 Hello, Thanks for reading my question! I received an email that my package has build errors, linked here: https://secure-web.cisco.com/1H9FLv3ZaMtZaJEtCVXtaN2trFPN8-7_WFsMGBUFym9dQJ13CusIdBR31Nfgi9zZNgleOhjnxyZeoEhU_3UfO-6rGoTU41LyeIi1XvZULp1x3ETDyhNYKHmBoI65h4eNgukf3FVJSIBltexlpKS2T-_LznkuoqJ8WkK8JzQwKlMYhRHzT2niS6pYmFdzsO7lHHsv_sr3hiDsSnZJ1Crbf4P5JVjxaKx9FnGPoI4HRWtIsfKVyEYnAxyD0cqy3Qzbuz2dclzsyBV2OfI6k_PntnLxZP1jr25ZotUeoAJkxeQM6VePxJqq5w7ZfLRQFVf_ZZilihQnWD35Ctdyzz4y6qQ/https%3A%2F%2Fbioconductor.org%2FcheckResults%2F3.21%2Fbioc-LATEST%2Fspoon%2Fnebbiolo1-buildsrc.html I haven't updated the package since the last build, so I'm not sure why I'm getting the "memory not mapped" error now. I tested out the vignette on my local computer and it still runs very quickly and does not use much memory at all. How can I go about addressing this? Thank you, Kinnary Shah [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://secure-web.cisco.com/1ybPjdQ9f5fRB207268KuRdolV03OI4oTSHZNfWlRxFiigN2eujQuiKfQ8UWLCpfWX9Ez-ZSntfoiXqY31HsNHRpxz95jXRZiw2lYpJ0sj76NXY6qpyceLjNpcpA1MNp19HFjLNi4XkLT-D4mFHlj9gWD6Y64eGEMSZugHDTbNF1eOiEmg3rVhCWKImFn4cyfHSTegT_eNbHHEhjOoLgPmQ87LbRSAg_BeTd3lzVjAx9xn97RG8Mx6uwkTMDexinqfe5FcS7nVOgT2_fJ4jmxtadkf0UuS4bPgxiLq123ZnfoAj5YPkvbKCJtSDrv6lhi-8vzqxLEBA9wptb_1430jw/https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fbioc-devel This email message may contain legally privileged and/or confidential information. If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited. If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you. [[alternative HTML version deleted]]
_______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel