[Bioc-devel] edgeR crashes when xlsxjars is loaded

Martin Morgan mtmorgan at fhcrc.org
Mon Dec 16 22:19:53 CET 2013


Crashes for me in locfit's C code but in a pretty weird way -- the variable 'd' 
is not accessible.

(gdb) p d
Cannot access memory at address 0x7fffffef3b30

but d has been allocated on the stack. backtrace below. valgrind reports many 
invalid writes associated with Java, but I think this is somehow not unexpected 
for technical reasons I don't understand. valgrind terminates with

 > message("CRASH WILL HAPPEN HERE!")
CRASH WILL HAPPEN HERE!
 > dge.crasher <- estimateDisp(dge.crasher)
==18065== Can't extend stack to 0x7feef4da0 during signal delivery for thread 1:
==18065==   too small or bad protection modes
==18065==
==18065== Process terminating with default action of signal 11 (SIGSEGV)
==18065==  Access not within mapped region at address 0x7FEEF4DA0
==18065==    at 0x5795CFDD: atree_grow (ev_atree.c:95)
==18065==  If you believe this happened as a result of a stack
==18065==  overflow in your program's main thread (unlikely but
==18065==  possible), you can try to increase the size of the
==18065==  main thread stack using the --main-stacksize= flag.
==18065==  The main thread stack size used in this run was 8388608.
==18065==
==18065== HEAP SUMMARY:

I think this is a stack overflow associated with embedding Java in R, and I bet 
it's challenging / impossible to fix.

Martin

 > sessionInfo()
R Under development (unstable) (2013-12-01 r64371)
Platform: x86_64-unknown-linux-gnu (64-bit)

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] edgeR_3.5.22         limma_3.19.12        xlsxjars_0.5.0
[4] rJava_0.9-5          BiocInstaller_1.13.3

loaded via a namespace (and not attached):
[1] tools_3.1.0

...
 > dge.crasher <- estimateDisp(dge.crasher)

Program received signal SIGSEGV, Segmentation fault.
0x00007fffd287cfdd in atree_grow (des=0x7fffd2ab4988, lf=0x7fffd2ab42d0, 
ce=0x7ffffff13c70, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:95
(gdb) bt

#0  0x00007fffd276afdd in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffff13c70, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:95
#1  0x00007fffd276b32d in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffff33da0, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:123
#2  0x00007fffd276b46c in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffff53ed0, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:129
#3  0x00007fffd276b46c in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffff74000, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:129
#4  0x00007fffd276b32d in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffff94130, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:123
#5  0x00007fffd276b32d in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffffb4260, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:123
#6  0x00007fffd276b46c in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x7ffffffd4390, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:129
#7  0x00007fffd276b32d in atree_grow (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
ce=0x5a2517b8, ct=0x0, term=0x0, ll=0x7fffffff44a0, ur=0x7fffffff4420) at 
ev_atree.c:123
#8  0x00007fffd276b75d in atree_start (des=0x7fffd29a2988, lf=0x7fffd29a22d0) at 
ev_atree.c:166
#9  0x00007fffd2797a45 in startlf (des=0x7fffd29a2988, lf=0x7fffd29a22d0, 
vfun=0x7fffd278e1d0 <procv>, nopc=0) at startlf.c:160
#10 0x00007fffd275c9f3 in slocfit (x=0x5a0b1518, y=0x5a139f88, c=0x5a17ec98, 
w=0x5a1c31e8, b=0x5a207738, lim=0x460a6928, mi=0x5a0b0278, dp=0x5a0b01d0, 
str=0x460a6858, sca=0x58c16eb8, xev=0x5a24d3c8, wdes=0x7fff93e66038,
     wtre=0x5a24e2f8, wpc=0x460a68c0, nvc=0x5a0a8a28, iwk1=0x5a2517b8, 
iwk2=0x5a2528a8, lw=0x5a0a89e0, mg=0x5a24c870, L=0x5a24c7e0, kap=0x5a24c750, 
dv=0x5a274fa8, nd=0x5a24c720, sty=0x5a24c660, bs=0x58c16fd0) at S_enter.c:301
#11 0x00007ffff786815d in do_dotCode (call=0x3b517718, op=0x626618, 
args=0x5a0b1198, env=0x5a03f898) at 
/home/mtmorgan/src/R-devel/src/main/dotcode.c:1809
... (R evaluator)

On 12/16/2013 11:02 AM, Dan Tenenbaum wrote:
>
>
> ----- Original Message -----
>> From: "Steve Lianoglou" <lianoglou.steve at gene.com>
>> To: "Ryan C. Thompson" <rct at thompsonclan.org>
>> Cc: bioc-devel at r-project.org
>> Sent: Monday, December 16, 2013 10:57:44 AM
>> Subject: Re: [Bioc-devel] edgeR crashes when xlsxjars is loaded
>>
>> Hi Ryan,
>>
>> I ran this code w/ the data you sent, and my system does not crash in
>> either case ... perhaps you're barking up the wrong tree?
>>
>> sessionInof is below,
>>
>
> It didn't crash for me either. It might be helpful to include your sessionInfo.
>
> Mine is:
>
>> sessionInfo()
> R Under development (unstable) (2013-10-12 r64048)
> Platform: x86_64-apple-darwin10.8.0 (64-bit)
>
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>
> attached base packages:
> [1] splines   stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] locfit_1.5-9.1       xlsxjars_0.5.0       rJava_0.9-5
> [4] edgeR_3.5.22         limma_3.19.12        BiocInstaller_1.13.3
>
> loaded via a namespace (and not attached):
> [1] grid_3.1.0      lattice_0.20-24
>
> Dan
>
>
>> -steve
>>
>> sessionInfo()
>>   R version 3.0.2 (2013-09-25)
>>   Platform: x86_64-apple-darwin10.8.0 (64-bit)
>>
>>   locale:
>>   [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>>
>>   attached base packages:
>>   [1] splines   stats     graphics  grDevices utils     datasets
>>    methods   base
>>
>>   other attached packages:
>>   [1] locfit_1.5-9.1 xlsxjars_0.5.0 rJava_0.9-5    edgeR_3.4.2
>> limma_3.18.5   devtools_1.4.1
>>
>>   loaded via a namespace (and not attached):
>>    [1] compiler_3.0.2  digest_0.6.4    evaluate_0.5.1  grid_3.0.2
>> httr_0.2        lattice_0.20-24 memoise_0.1     parallel_3.0.2
>> RCurl_1.95-4.1  stringr_0.6.2   tools_3.0.2     whisker_0.3-2
>>
>> On Mon, Dec 16, 2013 at 10:45 AM, Ryan C. Thompson
>> <rct at thompsonclan.org> wrote:
>>> Hello,
>>>
>>> I have found an issue where having the xlsxjars package loaded
>>> kills the
>>> entire R session with a segfault when "edgeR::estimateDisp" is
>>> called on my
>>> dataset. The issue seems to be specific to my data, since a random
>>> integer
>>> matrix of identical dimension does not trigger the bug. Other than
>>> being
>>> derived from ChIP-Seq input samples, there is nothing special about
>>> my data
>>> that I know of.
>>>
>>> I have prepared a test case with a subset of my data that
>>> reproducibly
>>> triggers the crash. You can find the data and script to reproduce
>>> here:
>>>
>>> https://www.dropbox.com/sh/e4qbd8txll5vysj/NE8xsa6bxo
>>>
>>> Thanks,
>>>
>>> -Ryan
>>>
>>> _______________________________________________
>>> Bioc-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>>
>>
>> --
>> Steve Lianoglou
>> Computational Biologist
>> Genentech
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>


-- 
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793



More information about the Bioc-devel mailing list