I was trying out your package but I get a pretty long error list when I run sc3()
I used the example your provide.
Setting SC3 parameters...
Setting a range of k...
Calculating distances between the cells...
starting worker pid=9833 on localhost:11267 at 21:54:28.710
Loading required package: SC3
loaded SC3 and set parent environment
Loading required package: foreach
Loading required package: rngtools
Loading required package: pkgmaker
Loading required package: registry
Attaching package: ‘pkgmaker’
The following object is masked from ‘package:base’:
isNamespaceLoaded
Performing transformations and calculating eigenvectors...
starting worker pid=9843 on localhost:11267 at 21:54:33.550
Loading required package: SC3
loaded SC3 and set parent environment
*** caught segfault ***
address 0xee12000, cause 'memory not mapped'
Traceback:
1: .Call("SC3_norm_laplacian", PACKAGE = "SC3", A)
2: norm_laplacian(dists)
3: transformation(get(hash.table[i, 1], dists), hash.table[i, 2])
4: doTryCatch(return(expr), name, parentenv, handler)
5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
6: tryCatchList(expr, classes, parentenv, handlers)
7: tryCatch(expr, error = function(e) { call <- conditionCall(e) if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch))) call <- sys.call(-4L) dcall <- deparse(call)[1L] prefix <- paste("Error in", dcall, ": ") LONG <- 75L msg <- conditionMessage(e) sm <- strsplit(msg, "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if (is.na(w)) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], type = "b") if (w > LONG) prefix <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) if (!silent && identical(getOption("show.error.messages"), TRUE)) { cat(msg, file = stderr()) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error", condition = e))})
8: try({ tmp <- transformation(get(hash.table[i, 1], dists), hash.table[i, 2]) tmp[, 1:max(n_dim)]})
9: eval(expr, envir, enclos)
10: eval(.doSnowGlobals$expr, envir = .doSnowGlobals$exportenv)
11: doTryCatch(return(expr), name, parentenv, handler)
12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
13: tryCatchList(expr, classes, parentenv, handlers)
14: tryCatch(eval(.doSnowGlobals$expr, envir = .doSnowGlobals$exportenv), error = function(e) e)
15: (function (args) { lapply(names(args), function(n) assign(n, args[[n]], pos = .doSnowGlobals$exportenv)) tryCatch(eval(.doSnowGlobals$expr, envir = .doSnowGlobals$exportenv), error = function(e) e)})(quote(list(i = 4L)))
16: do.call(msg$data$fun, msg$data$args, quote = TRUE)
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, quote = TRUE), error = handler)
21: doTryCatch(return(expr), name, parentenv, handler)
22: tryCatchOne(expr, names, parentenv, handlers[[1L]])
23: tryCatchList(expr, classes, parentenv, handlers)
24: tryCatch({ msg <- recvData(master) if (msg$type == "DONE") { closeNode(master) break } else if (msg$type == "EXEC") { success <- TRUE handler <- function(e) { success <<- FALSE structure(conditionMessage(e), class = c("snow-try-error", "try-error")) } t1 <- proc.time() value <- tryCatch(do.call(msg$data$fun, msg$data$args, quote = TRUE), error = handler) t2 <- proc.time() value <- list(type = "VALUE", value = value, success = success, time = t2 - t1, tag = msg$data$tag) msg <- NULL sendData(master, value) value <- NULL }}, interrupt = function(e) NULL)
25: slaveLoop(makeSOCKmaster(master, port, timeout, useXDR))
26: parallel:::.slaveRSOCK()
An irrecoverable exception occurred. R is aborting now ...
Error in unserialize(socklist[[n]]) : error reading from connection