[BioC] VariantFiltering: Installation segfault

Robert Castelo robert.castelo at upf.edu
Thu Jun 12 10:32:50 CEST 2014


hi Julian,

thanks for the report, i had not seen this error before since the only 
two linux box i've run VariantFiltering have gcc 4.4.4 (my own machine) 
and gcc 4.6.3 (the current BioC AMI at AWS).

however i've started a fresh AWS ubuntu linux at AWS whose gcc matches 
exactly your version (4.8.2) and i can reproduce the error.

my current guess is that the C code triggering the problem might have a 
memory leak that shows up only in this latest version of gcc. i'll try 
to hunt it down with valgrind and get back to the you here at the BioC 
list once i found the bug and have the fix.

sorry for the inconvenience,

cheers,
robert.

On 06/12/2014 06:17 AM, Julian Gehring wrote:
> Hi,
>
> On one of my machines, the installation the 'VariantFiltering' package
> fails on both the latest bioc-stable and bioc-devel with a segfault (see
> below for the output). Since the installation works fine on other
> machines, does anyone have an idea what is causing this?
>
> Best wishes
> Julian
>
>
> ------------------
> biocLite("VariantFiltering")
>
> [...]
> Bioconductor version 2.14 (BiocInstaller 1.14.2), ?biocLite for help
> * installing *source* package ‘VariantFiltering’ ...
> ** libs
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/IRanges/include"
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/XVector/include"
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/Biostrings/include"
> -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
> -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c Biostrings_stubs.c -o
> Biostrings_stubs.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/IRanges/include"
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/XVector/include"
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/Biostrings/include"
> -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
> -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c
> R_init_VariantFiltering.c -o R_init_VariantFiltering.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/IRanges/include"
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/XVector/include"
> -I"/home/foo/.R/library/x86_64-pc-linux-gnu/3.1/Biostrings/include"
> -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
> -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c methods-WeightMatrix.c
> -o methods-WeightMatrix.o
> gcc -std=gnu99 -shared -Wl,-Bsymbolic-functions -Wl,-z,relro -o
> VariantFiltering.so Biostrings_stubs.o R_init_VariantFiltering.o
> methods-WeightMatrix.o -L/usr/lib/R/lib -lR
> installing to
> /home/foo/.R/library/x86_64-pc-linux-gnu/3.1/VariantFiltering/libs
> ** R
> ** inst
> ** preparing package for lazy loading
> Note: the specification for S3 class “AsIs” in package ‘RJSONIO’ seems
> equivalent to one from package ‘BiocGenerics’: not turning on duplicate
> class definitions for this class.
> ** help
> *** installing help indices
> ** building package indices
> ** installing vignettes
> ** testing if installed package can be loaded
> Bioconductor version 2.14 (BiocInstaller 1.14.2), ?biocLite for help
> Note: the specification for S3 class “AsIs” in package ‘RJSONIO’ seems
> equivalent to one from package ‘BiocGenerics’: not turning on duplicate
> class definitions for this class.
>
> *** caught segfault ***
> address (nil), cause 'unknown'
>
> Traceback:
> 1: .Call("scoss_read_wm", fname)
> 2: initialize(value, ...)
> 3: initialize(value, ...)
> 4: new("WeightMatrix", wm = .Call("scoss_read_wm", fname))
> 5: readWm(file.path(data_dir, "hsap.donors.hcmc10_15_1.ibn"))
> 6: fun(libname, pkgname)
> 7: doTryCatch(return(expr), name, parentenv, handler)
> 8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 9: tryCatchList(expr, classes, parentenv, handlers)
> 10: tryCatch(fun(libname, pkgname), error = identity)
> 11: runHook(".onLoad", env, package.lib, package)
> 12: loadNamespace(package, c(which.lib.loc, lib.loc))
> 13: doTryCatch(return(expr), name, parentenv, handler)
> 14: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 15: tryCatchList(expr, classes, parentenv, handlers)
> 16: 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))})
> 17: try({ ns <- loadNamespace(package, c(which.lib.loc, lib.loc)) env <-
> attachNamespace(ns, pos = pos, deps)})
> 18: library(pkg_name, lib.loc = lib, character.only = TRUE,
> logical.return = TRUE)
> 19: withCallingHandlers(expr, packageStartupMessage = function(c)
> invokeRestart("muffleMessage"))
> 20: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE))
> 21: doTryCatch(return(expr), name, parentenv, handler)
> 22: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 23: tryCatchList(expr, classes, parentenv, handlers)
> 24: 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))})
> 25: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE)))
> 26: tools:::.test_load_package("VariantFiltering",
> "/home/foo/.R/library/x86_64-pc-linux-gnu/3.1")
> aborting ...
> Segmentation fault
> ERROR: loading failed
>
>
> ------------------
> sessionInfo()
>
> R version 3.1.0 (2014-04-10)
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> locale:
> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
> [3] LC_TIME=de_DE.UTF-8 LC_COLLATE=en_US.UTF-8
> [5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=en_US.UTF-8
> [7] LC_PAPER=de_DE.UTF-8 LC_NAME=C
> [9] LC_ADDRESS=C LC_TELEPHONE=C
> [11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] BiocInstaller_1.14.2
>
> loaded via a namespace (and not attached):
> [1] tools_3.1.0
>
> ------------------
> gcc --version
>
> gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives:
> http://news.gmane.org/gmane.science.biology.informatics.conductor
>

-- 
Robert Castelo, PhD
Associate Professor
Dept. of Experimental and Health Sciences
Universitat Pompeu Fabra (UPF)
Barcelona Biomedical Research Park (PRBB)
Dr Aiguader 88
E-08003 Barcelona, Spain
telf: +34.933.160.514
fax: +34.933.160.550



More information about the Bioconductor mailing list