Entering edit mode
frederiekmaarten.kerckhof
▴
10
@frederiekmaartenkerckhof-11825
Last seen 7.1 years ago
Dear all,
While trying to upgrade flowStats and flowMeans on an Ubuntu 16.04 LTS system I am experiencing segfaults and I don't know what is causing it or how to resolve the issues.
My sessionInfo() output is: R version 3.3.2 (2016-10-31) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Ubuntu 16.04.1 LTS locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] BiocInstaller_1.24.0 loaded via a namespace (and not attached): [1] tools_3.3.2
And I am using bioconductor 3.4.
The complete error traceback is the following (for flowStats, but looks comparable for flowMeans):
> biocLite("flowStats") BioC_mirror: https://bioconductor.org Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.2 (2016-10-31). Installing package(s) ‘flowStats’ trying URL 'https://bioconductor.org/packages/3.4/bioc/src/contrib/flowStats_3.32.0.tar.gz' Content type 'application/x-gzip' length 4154422 bytes (4.0 MB) ================================================== downloaded 4.0 MB * installing *source* package ‘flowStats’ ... ** R ** data ** inst ** preparing package for lazy loading Warning in rgl.init(initValue, onlyNULL) : RGL: unable to open X11 display Warning: 'rgl_init' failed, running with rgl.useNULL = TRUE *** caught segfault *** address 0x20, cause 'memory not mapped' Traceback: 1: .Call(Module__functions_names, xp) 2: Module(module, mustStart = TRUE, where = env) 3: doTryCatch(return(expr), name, parentenv, handler) 4: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 5: tryCatchList(expr, classes, parentenv, handlers) 6: tryCatch(Module(module, mustStart = TRUE, where = env), error = function(e) e) 7: loadModule(module = "Multicool", what = TRUE, env = ns, loadNow = TRUE) 8: (function (ns) loadModule(module = "Multicool", what = TRUE, env = ns, loadNow = TRUE))(<environment>) 9: doTryCatch(return(expr), name, parentenv, handler) 10: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11: tryCatchList(expr, classes, parentenv, handlers) 12: tryCatch((function (ns) loadModule(module = "Multicool", what = TRUE, env = ns, loadNow = TRUE))(<environment>), error = function(e) e) 13: eval(expr, envir, enclos) 14: eval(substitute(tryCatch(FUN(WHERE), error = function(e) e), list(FUN = f, WHERE = where)), where) 15: .doLoadActions(where, attach) 16: methods::cacheMetaData(ns, TRUE, ns) 17: loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) 18: namespaceImport(ns, loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]), from = package) 19: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 20: asNamespace(ns) 21: namespaceImportFrom(ns, loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]), i[[2L]], from = package) 22: loadNamespace(package, lib.loc, keep.source, partial = TRUE) 23: withCallingHandlers(expr, packageStartupMessage = function(c) invokeRestart("muffleMessage")) 24: suppressPackageStartupMessages(loadNamespace(package, lib.loc, keep.source, partial = TRUE)) 25: code2LazyLoadDB(package, lib.loc = lib.loc, keep.source = keep.source, compress = compress) 26: makeLazyLoading(pkg_name, lib, keep.source = keep.source) 27: doTryCatch(return(expr), name, parentenv, handler) 28: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 29: tryCatchList(expr, classes, parentenv, handlers) 30: 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))}) 31: try({ suppressPackageStartupMessages(.getRequiredPackages(quietly = TRUE)) makeLazyLoading(pkg_name, lib, keep.source = keep.source)}) 32: do_install_source(pkg_name, instdir, pkg, desc) 33: do_install(pkg) 34: tools:::.install_packages() An irrecoverable exception occurred. R is aborting now ... Segmentation fault (core dumped) The downloaded source packages are in ‘/tmp/RtmpGwm5X7/downloaded_packages’ Warning message: In install.packages(pkgs = doing, lib = lib, ...) : installation of package ‘flowStats’ had non-zero exit status
The rgl is because I am running headless on an ubuntu server (but visualisation is done via rstudio server).
Thanks in advance for any suggestions
Hi,
Both flowStats and flowMeans are clean on linux in release and devel and I'm able to install both without error.
http://www.bioconductor.org/checkResults/devel/bioc-LATEST/ ## devel report
http://www.bioconductor.org/checkResults/release/bioc-LATEST/ ## release report
Biocondcutor 3.4 (release) works with R 3.3.1 and Bioconductor 3.5 (devel) works versions > 3.3.1. I see you have R 3.3.2 (corresponds to Bioconductor 3.5 devel) but are installing release packages. I'm not sure this is the problem but it's best to get the versions sorted out. R 3.3.2 should be using BiocInstaller 1.2.5*. See http://www.bioconductor.org/install/ for more help. Once the versions are sorted out let us know if you still have the problem.
Valerie
Dear Valerie,
When trying to install biocInstaller 1.25.2 I noticed that I had to have R 3.4.0 or higher installed (hence not 3.3.2) (http://bioconductor.org/packages/devel/bioc/html/BiocInstaller.html).
R 3.3.2 is the current release version of R (not devel) so I would like to keep this as my current R (and not downgrade). It appears as there is no BiocInstaller available on the bioconductor website for R versions between R 3.3.1 and R 3.4.0.
Could you let me know how to resolve this issue?
Kind regards,
Frederiek - Maarten
Sorry, my mistake. Bioconductor 3.4 (release) is compatible with 3.3.1 and patched versions such as 3.3.2, future 3.3.3 etc. We need to update our documentation!
With a fresh install of R 3.3.2 and BiocInstaller 1.24.0 I was able to biocLite("flowStats") and load it without error. Unfortunately I don't have much experience with rgl so can't be of much help there - though I'm not sure that's related to the segfault. Maybe someone else has another suggestion.
Valerie
Hi, the rgl error is due to running headless. When I use X11 forwarding I do not get the rgl error message, but still the segfault persists. I hope the error is not with Ubuntu 16.04.1 LTS, since you are using Fedora 24 (although the links you sent me did show R 3.3.1 on 16.04.1 LTS). I will evaluate on another system with Ubuntu 14 LTS.
I could not replicate the issue on Ubuntu 14.04.5 LTS: flowStats installation ran smoothly. My sessionInfo is the following:
It seems like the problem is from
Is that enough to trigger the segfault? Since multicool is installed, it implies that it did once install successfully, so maybe you've updated a system dependency and re-installing multicool will be enough? (flowStats installs for me on R-devel, Ubuntu 16.04).
Dear Martin, thank you very much. Re-installing multicool completely resolved the problem! I should have seen it in the traceback, my apologies and thank you for your support.