[BioC] segmentation fault in rma.background.correct()

Axel Klenk axel.klenk at actelion.com
Tue Aug 28 14:35:03 CEST 2012

Dear Bioconductors, 

I am using package AgiMicroRna for preprocessing and, for a certain data 
set only,
get the following error when running RMA:

> library("AgiMicroRna")
> targets <- readTargets(infile = "targets.txt", verbose = TRUE)
> miRG <- readMicroRnaAFE(targets, verbose = TRUE)
> rmaRG <- rmaMicroRna(miRG, normalize = TRUE, background = TRUE)

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

 1: .Call("R_rma_bg_correct", x, copy, PACKAGE = "preprocessCore")
 2: rma.background.correct(yy, copy = TRUE)
 3: rmaMicroRna(miRG, normalize = TRUE, background = TRUE)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace

This can be tracked down and reproduced as:

> library("AgiMicroRna")
> targets <- readTargets(infile = "targets.txt", verbose = TRUE)
> miRG <- readMicroRnaAFE(targets, verbose = TRUE)
> m <- miRG$meanS
> rmaRG <- rma.background.correct(m)
# segfault again

Upon closer inspection, array #22 turns out to have a small scratch
and a few unusually high values that are not positive controls, so:

> rmaRG <- rma.background.correct(m[, -22])
# works ok and

> x <- which(m > 5e5)
> m[x] <- median(m)
> rmaRG <- rma.background.correct(m)
# works ok, too. length(x) == 6

So apparently those six values > 500000 are causing the problem. 
Obviously, I can take out those six spots or the entire array or
skip background correction as a whole, and everything will work
but it would be great if such cases could be handled more gracefully.

The data matrix is about 1 MB in size and I'm happy to share it
by email or any other way for debugging.

Thanks for any help,

 - axel

> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-redhat-linux-gnu (64-bit)

 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C 
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8 
 [7] LC_PAPER=C                 LC_NAME=C 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base 

other attached packages:
 [1] AgiMicroRna_2.6.0     affycoretools_1.28.0  KEGG.db_2.7.1 
 [4] GO.db_2.7.1           RSQLite_0.11.1        DBI_0.2-5 
 [7] preprocessCore_1.18.0 affy_1.34.0           limma_3.12.1 
[10] gtools_2.7.0          sfsmisc_1.0-20        geneplotter_1.34.0 
[13] lattice_0.20-6        annotate_1.34.1       AnnotationDbi_1.18.1 
[16] Biobase_2.16.0        BiocGenerics_0.2.0    MASS_7.3-17 

loaded via a namespace (and not attached):
 [1] affyio_1.24.0       annaffy_1.28.0      BiocInstaller_1.4.7
 [4] biomaRt_2.12.0      Biostrings_2.24.1   Category_2.22.0 
 [7] gcrma_2.28.0        genefilter_1.38.0   GOstats_2.22.0 
[10] graph_1.34.0        grid_2.15.0         GSEABase_1.18.0 
[13] IRanges_1.14.4      RBGL_1.32.1         RColorBrewer_1.0-5 
[16] RCurl_1.91-1        splines_2.15.0      stats4_2.15.0 
[19] survival_2.36-12    tools_2.15.0        XML_3.9-4 
[22] xtable_1.7-0        zlibbioc_1.2.0 

(problem can be reproduced with R 2.15.1 on Ubuntu 12.04 LTS)

Axel Klenk
Research Informatician
Actelion Pharmaceuticals Ltd / Gewerbestrasse 16 / CH-4123 Allschwil / 

The information of this email and in any file transmitted with it is strictly confidential and may be legally privileged.
It is intended solely for the addressee. If you are not the intended recipient, any copying, distribution or any other use of this email is prohibited and may be unlawful. In such case, you should please notify the sender immediately and destroy this email.
The content of this email is not legally binding unless confirmed by letter.
Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorised to state them to be the views of the sender's company. For further information about Actelion please see our website at http://www.actelion.com

More information about the Bioconductor mailing list