[Bioc-devel] spoon problems reported Multiple platform build/check BioC 3.21

Kern, Lori Lor|@Shepherd @end|ng |rom Ro@we||P@rk@org
Tue Feb 4 14:49:57 CET 2025


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-bounces using r-project.org> on behalf of Kinnary Shah <kinnaryshahh using gmail.com>
Sent: Friday, January 31, 2025 12:48 PM
To: bioc-devel using r-project.org <bioc-devel using 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 using 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]]



More information about the Bioc-devel mailing list