Back to Multiple platform build/check report for BioC 3.22:   simplified   long
ABCDEFGHIJKLMNOPQR[S]TUVWXYZ

This page was generated on 2025-08-02 12:12 -0400 (Sat, 02 Aug 2025).

HostnameOSArch (*)R versionInstalled pkgs
nebbiolo2Linux (Ubuntu 24.04.2 LTS)x86_644.5.1 (2025-06-13) -- "Great Square Root" 4796
palomino8Windows Server 2022 Datacenterx644.5.1 (2025-06-13 ucrt) -- "Great Square Root" 4535
lconwaymacOS 12.7.1 Montereyx86_644.5.1 (2025-06-13) -- "Great Square Root" 4578
kjohnson3macOS 13.7.1 Venturaarm644.5.1 Patched (2025-06-14 r88325) -- "Great Square Root" 4519
taishanLinux (openEuler 24.03 LTS)aarch644.5.0 (2025-04-11) -- "How About a Twenty-Six" 4517
Click on any hostname to see more info about the system (e.g. compilers)      (*) as reported by 'uname -p', except on Windows and Mac OS X

Package 1895/2313HostnameOS / ArchINSTALLBUILDCHECKBUILD BIN
scMerge 1.25.0  (landing page)
Yingxin Lin
Snapshot Date: 2025-08-01 13:25 -0400 (Fri, 01 Aug 2025)
git_url: https://git.bioconductor.org/packages/scMerge
git_branch: devel
git_last_commit: a277f5a
git_last_commit_date: 2025-04-15 11:44:10 -0400 (Tue, 15 Apr 2025)
nebbiolo2Linux (Ubuntu 24.04.2 LTS) / x86_64  OK    OK    OK  UNNEEDED, same version is already published
palomino8Windows Server 2022 Datacenter / x64  OK    OK    OK    OK  NO, package depends on 'scran' which is only available as a source package that needs compilation
lconwaymacOS 12.7.1 Monterey / x86_64  OK    OK    OK    OK  UNNEEDED, same version is already published
kjohnson3macOS 13.7.1 Ventura / arm64  OK    OK    OK    OK  UNNEEDED, same version is already published
taishanLinux (openEuler 24.03 LTS) / aarch64  OK    ERROR  skipped


BUILD results for scMerge on taishan

To the developers/maintainers of the scMerge package:
- Allow up to 24 hours (and sometimes 48 hours) for your latest push to git@git.bioconductor.org:packages/scMerge.git to reflect on this report. See Troubleshooting Build Report for more information.
- Use the following Renviron settings to reproduce errors and warnings.
- If 'R CMD check' started to fail recently on the Linux builder(s) over a missing dependency, add the missing dependency to 'Suggests:' in your DESCRIPTION file. See Renviron.bioc for more information.
- See Martin Grigorov's blog post for how to debug Linux ARM64 related issues on a x86_64 host.

raw results


Summary

Package: scMerge
Version: 1.25.0
Command: /home/biocbuild/R/R/bin/R CMD build --keep-empty-dirs --no-resave-data scMerge
StartedAt: 2025-08-01 02:46:16 -0000 (Fri, 01 Aug 2025)
EndedAt: 2025-08-01 02:47:40 -0000 (Fri, 01 Aug 2025)
EllapsedTime: 84.1 seconds
RetCode: 1
Status:   ERROR  
PackageFile: None
PackageFileSize: NA

Command output

##############################################################################
##############################################################################
###
### Running command:
###
###   /home/biocbuild/R/R/bin/R CMD build --keep-empty-dirs --no-resave-data scMerge
###
##############################################################################
##############################################################################


* checking for file ‘scMerge/DESCRIPTION’ ... OK
* preparing ‘scMerge’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
--- re-building ‘scMerge.Rmd’ using rmarkdown

 *** caught segfault ***
address 0x2e, cause 'memory not mapped'

Traceback:
 1: cpp_linear(mt1 = x, mt2 = y, method = match(method, c("product",     "cosine", "correlation", "euclidean", "dice", "edice")),     mask = mask, rank = rank, limit = min_proxy, symm = symm,     drop0 = drop0, use_nan = use_nan, use_mask = use_mask, sparse = sparse,     digits = digits, thread = getThreads())
 2: proxy(x, y, margin, method, mask = mask, min_proxy = min_simil,     rank = rank, drop0 = drop0, diag = diag, use_nan = use_nan,     sparse = sparse, digits = digits)
 3: proxyC::simil(t(mat1), t(mat2), method = "correlation")
 4: compute_dist_res(k, exprs_mat, clustering_list, combine_pair,     dist)
 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 = 1L, 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 = 1L, FUN = function (k) {    dist_res <- compute_dist_res(k, exprs_mat, clustering_list,         combine_pair, dist)    neighbour_batch1 <- apply(dist_res, 1, which.min)    neighbour_batch2 <- apply(dist_res, 2, which.min)    mnc_tmp <- c()    for (l in seq_len(length(neighbour_batch1))) {        if (neighbour_batch2[neighbour_batch1[l]] == l) {            mnc_tmp <- rbind(mnc_tmp, c(l, neighbour_batch1[l]))        }    }    colnames(mnc_tmp) <- c(paste("Batch", combine_pair[1, k],         sep = ""), paste("Batch", combine_pair[2, k], sep = ""))    return(mnc_tmp)}, 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, 1305468939L, 1592135055L, -1872851133L, -1021093664L, -1967567347L, -2073383591L), 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({    .autoload_s4_classes(msg$data$args$X)    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: BiocParallel::bplapply(seq_len(ncol(combine_pair)), function(k) {    dist_res <- compute_dist_res(k, exprs_mat, clustering_list,         combine_pair, dist)    neighbour_batch1 <- apply(dist_res, 1, which.min)    neighbour_batch2 <- apply(dist_res, 2, which.min)    mnc_tmp <- c()    for (l in seq_len(length(neighbour_batch1))) {        if (neighbour_batch2[neighbour_batch1[l]] == l) {            mnc_tmp <- rbind(mnc_tmp, c(l, neighbour_batch1[l]))        }    }    colnames(mnc_tmp) <- c(paste("Batch", combine_pair[1, k],         sep = ""), paste("Batch", combine_pair[2, k], sep = ""))    return(mnc_tmp)}, BPPARAM = BPPARAM)
32: BiocParallel::bplapply(seq_len(ncol(combine_pair)), function(k) {    dist_res <- compute_dist_res(k, exprs_mat, clustering_list,         combine_pair, dist)    neighbour_batch1 <- apply(dist_res, 1, which.min)    neighbour_batch2 <- apply(dist_res, 2, which.min)    mnc_tmp <- c()    for (l in seq_len(length(neighbour_batch1))) {        if (neighbour_batch2[neighbour_batch1[l]] == l) {            mnc_tmp <- rbind(mnc_tmp, c(l, neighbour_batch1[l]))        }    }    colnames(mnc_tmp) <- c(paste("Batch", combine_pair[1, k],         sep = ""), paste("Batch", combine_pair[2, k], sep = ""))    return(mnc_tmp)}, BPPARAM = BPPARAM)
33: findMNC(exprs_mat = exprs_mat[HVG, ], clustering_list = cluster_res$clustering_list,     dist = dist, BPPARAM = BPPARAM, plot_igraph = plot_igraph)
34: scReplicate(sce_combine = sce_combine, batch = batch, kmeansK = kmeansK,     exprs = exprs, hvg_exprs = hvg_exprs, marker = marker, marker_list = marker_list,     replicate_prop = replicate_prop, cell_type = cell_type, cell_type_match = cell_type_match,     cell_type_inc = cell_type_inc, dist = dist, WV = WV, WV_marker = WV_marker,     BPPARAM = BPPARAM, BSPARAM = BSPARAM, plot_igraph = verbose,     verbose = verbose)
35: scMerge(sce_combine = example_sce, ctl = segList_ensemblGeneID$mouse$mouse_scSEG,     kmeansK = c(3, 3), assay_name = "scMerge_unsupervised")
36: eval(expr, envir)
37: eval(expr, envir)
38: withVisible(eval(expr, envir))
39: 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)})
40: eval(call)
41: eval(call)
42: 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)
43: doWithOneRestart(return(expr), restart)
44: withOneRestart(expr, restarts[[1L]])
45: withRestartList(expr, restarts[-nr])
46: doWithOneRestart(return(expr), restart)
47: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]])
48: withRestartList(expr, restarts)
49: 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)
50: evaluate::evaluate(...)
51: 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: in_dir(input_dir(), expr)
53: 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)))
54: eng_r(options)
55: block_exec(params)
56: call_block(x)
57: process_group(group)
58: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (xfun::pkg_available("rlang", "1.0.0")) {            if (is_R_CMD_build() || is_R_CMD_check()) {                cnd = tryCatch(rlang::entrace(e), error = identity)                error <<- format(cnd)            }            else {                rlang::entrace(e)            }        }    })
59: xfun:::handle_error(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (xfun::pkg_available("rlang", "1.0.0")) {            if (is_R_CMD_build() || is_R_CMD_check()) {                cnd = tryCatch(rlang::entrace(e), error = identity)                error <<- format(cnd)            }            else {                rlang::entrace(e)            }        }    }), function(loc) {    setwd(wd)    write_utf8(res, output %n% stdout())    paste0("\nQuitting from ", loc, if (!is.null(error))         paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc)
60: process_file(text, output)
61: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
62: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(),     output_dir = getwd(), ...)
63: vweave_rmarkdown(...)
64: engine$weave(file, quiet = quiet, encoding = enc)
65: doTryCatch(return(expr), name, parentenv, handler)
66: tryCatchOne(expr, names, parentenv, handlers[[1L]])
67: tryCatchList(expr, classes, parentenv, handlers)
68: 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)))})
69: tools::buildVignettes(dir = ".", tangle = TRUE)
An irrecoverable exception occurred. R is aborting now ...