segmentation faults flowMeans and flowStats
0
1
Entering edit mode
@frederiekmaartenkerckhof-11825
Last seen 7.0 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

flowstats flow cytometry • 1.9k views
0
Entering edit mode

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

ADD REPLY
0
Entering edit mode

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

 

ADD REPLY
0
Entering edit mode

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

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Fedora 24 (Workstation Edition)

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] splines   stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] flowStats_3.32.0          flowWorkspace_3.20.0     
 [3] ncdfFlow_2.20.0           BH_1.60.0-2              
 [5] RcppArmadillo_0.7.500.0.0 cluster_2.0.5            
 [7] fda_2.4.4                 Matrix_1.2-7.1           
 [9] flowCore_1.40.0           BiocInstaller_1.24.0     

loaded via a namespace (and not attached):
 [1] rgl_0.96.0          Rcpp_0.12.7         mvtnorm_1.0-5      
 [4] lattice_0.20-34     corpcor_1.6.8       assertthat_0.1     
 [7] digest_0.6.10       mime_0.5            R6_2.2.0           
[10] plyr_1.8.4          chron_2.3-47        stats4_3.3.2       
[13] pcaPP_1.9-61        zlibbioc_1.20.0     misc3d_0.8-4       
[16] data.table_1.9.6    Rgraphviz_2.18.0    hexbin_1.27.1      
[19] stringr_1.1.0       htmlwidgets_0.8     munsell_0.4.3      
[22] shiny_0.14.2        httpuv_1.3.3        BiocGenerics_0.20.0
[25] IDPmisc_1.1.17      htmltools_0.3.5     multicool_0.1-9    
[28] tibble_1.2          gridExtra_2.2.1     codetools_0.2-15   
[31] matrixStats_0.51.0  XML_3.98-1.5        flowViz_1.38.0     
[34] rrcov_1.4-3         dplyr_0.5.0         MASS_7.3-45        
[37] grid_3.3.2          jsonlite_1.1        xtable_1.8-2       
[40] gtable_0.2.0        DBI_0.5-1           magrittr_1.5       
[43] scales_0.4.1        graph_1.52.0        KernSmooth_2.23-15 
[46] stringi_1.1.2       latticeExtra_0.6-28 robustbase_0.92-6  
[49] RColorBrewer_1.1-2  tools_3.3.2         Biobase_2.34.0     
[52] DEoptimR_1.0-6      ks_1.10.4           parallel_3.3.2     
[55] colorspace_1.3-0    knitr_1.15         
ADD REPLY
0
Entering edit mode

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.

ADD REPLY
0
Entering edit mode

I could not replicate the issue on Ubuntu 14.04.5 LTS: flowStats installation ran smoothly. My sessionInfo is the following:

R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.5 LTS

locale:
 [1] LC_CTYPE=en_IE.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_IE.UTF-8        LC_COLLATE=en_IE.UTF-8
 [5] LC_MONETARY=en_IE.UTF-8    LC_MESSAGES=en_IE.UTF-8
 [7] LC_PAPER=en_IE.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_IE.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

 

ADD REPLY
0
Entering edit mode

It seems like the problem is from

loadNamespace("multicool")

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). 

ADD REPLY
0
Entering edit mode

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.

ADD REPLY

Login before adding your answer.

Traffic: 675 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6