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

Reply via email to