[BioC] segfault ReadAffy cause 'memory not mapped'

Benjamin Bolstad bmb at bmbolstad.com
Wed Oct 23 16:11:20 CEST 2013


Those changes should be part of the most recent BioC release.  Please let me know if you still discover any issues.

Ben


On Oct 23, 2013, at 7:07 AM, "Brian D. Peyser PhD" <brian.peyser at nih.gov> wrote:

> Below is some previous info on this issue; Dr Bolstad, did you issue a
> patch to affyio?
> 
> I had just pulled the latest source from SVN with the hope that I could
> manage to hack it and noticed this at the top of read_abatch.c:
> 
> ** Sept 18, 2013 -  improve 64bit support for read_abatch
> 
> I haven't tried running these big calcs since then. Should I give a try
> now?
> 
> -Brian
> 
> On Wed, 2013-08-21 at 16:21 -0700, Ben Bolstad wrote:
>> Well, internally  read_abatch is using allocMatrix() to actually allocate
>> the main block of memory that will be used to store the probe intensities.
>> However, there are a lot of places where "int" is used as the indexing
>> variable. Probably if I had had better foresight when I wrote this code 10
>> years ago, I'd have used something a bit more specific (eg int64_t). I'm
>> guessing it is one of these sorts of things that is causing the crash.
>> I'll try to get around to refactoring the code at some point.
>> 
>> If you'd like you could send me the gdb backtrace at the point of the
>> segfault and I could investigate further.
>> 
>> Best,
>> 
>> Ben
>> 
>> 
>>> On 8/1/13 5:33 PM, Loraine, Ann wrote:
>>>> Hello,
>>>> 
>>>> I am trying to process several thousand CEL files using the ReadAffy
>>>> command.
>>>> 
>>>> The machine has 96 Gb RAM.
>>>> 
>>>> However I get this error:
>>>> 
>>>>> expr=ReadAffy(filenames=d.uniq$cel,celfile.path='CEL',sampleNames=d.uniq$gsm,compress=T)
>>>> 
>>>> *** caught segfault ***
>>>> address 0x7fc79b4b1048, cause 'memory not mapped'
>>>> 
>>> 
>>> I also have a problem loading many (3750) Affy hgu133plus2 arrays into
>>> an AffyBatch. I was able to run this with ~2900 arrays, but not since
>>> adding ~800 more. At right around 16 GiB allocated, I get a segfault
>>> like:
>>> 
>>> *** caught segfault ***
>>> address 0x2aa6b6067048, cause 'memory not mapped'
>>> 
>>> Traceback:
>>> 1: .Call("read_abatch", filenames, rm.mask, rm.outliers, rm.extra,
>>> ref.cdfName, dim.intensity[c(1, 2)], verbose, PACKAGE = "affyio")
>>> 2: read.affybatch(filenames = as.character(pdata$Filename))
>>> 
> <snip>
> 
> -- 
> Brian D. Peyser PhD
> Special Assistant to the Associate Director
> Office of the Associate Director
> Developmental Therapeutics Program
> Division of Cancer Treatment and Diagnosis
> National Cancer Institute
> National Institutes of Health
> 301-524-5587 (mobile)
> 



More information about the Bioconductor mailing list