[Bioc-devel] edgeR crashes when xlsxjars is loaded

Martin Morgan mtmorgan at fhcrc.org
Mon Dec 16 23:57:39 CET 2013


On 12/16/2013 02:34 PM, Ryan C. Thompson wrote:
> Indeed, loading rJava and calling .jinit() also triggers the bug. I have updated
> my script (same URL as before) to demonstrate this. I run the bad code before
> and after calling .jinit(), and it only crashes the second time.

The following simplified example segfaults for me.

   library(locfit)
   library(rJava)
   .jinit()
   load("Xy.rda")
   weights = 1; span = 0.278355438187155; degree = 0
   locfit.raw(X, y, weights = weights, alpha = span, deg = degree)

FWIW

 > .jinit()
[New Thread 0x7fffee204700 (LWP 19818)]
[New Thread 0x7fffee103700 (LWP 19819)]
[New Thread 0x7fffee002700 (LWP 19820)]
[New Thread 0x7fffedf01700 (LWP 19821)]
[New Thread 0x7fffede00700 (LWP 19822)]
[New Thread 0x7fffedcff700 (LWP 19823)]
[New Thread 0x7fffedbfe700 (LWP 19824)]
[New Thread 0x7fffedafd700 (LWP 19825)]
[New Thread 0x7fffecf04700 (LWP 19826)]
[New Thread 0x7fffece03700 (LWP 19827)]
[New Thread 0x7fffecd02700 (LWP 19828)]
[New Thread 0x7fffecc01700 (LWP 19829)]
[New Thread 0x7fffecb00700 (LWP 19830)]
[New Thread 0x7fffec9ff700 (LWP 19831)]
[New Thread 0x7fffec8fe700 (LWP 19832)]
[New Thread 0x7fffec7fd700 (LWP 19833)]

and at the time of the segfault

(gdb) thread
[Current thread is 1 (Thread 0x7ffff7fd4780 (LWP 19815))]

Martin

>
> On Mon 16 Dec 2013 02:30:34 PM PST, Simon Urbanek wrote:
>> On Dec 16, 2013, at 5:20 PM, Ryan <rct at thompsonclan.org> wrote:
>>
>>>
>>>
>>> On Mon Dec 16 14:18:41 2013, Steve Lianoglou wrote:
>>>>
>>>> On Mon, Dec 16, 2013 at 2:03 PM, Ryan <rct at thompsonclan.org> wrote:
>>>>> I'm quite sure that it is an interaction between something that xlsxjars
>>>>> does and edgeR's C code. The example I gave is a reduction from my actual
>>>>> script, and I finally figured out that loading the xlsxjars package is what
>>>>> triggers the crash. If I comment out the line that loads xlsxjars, then
>>>>> everything runs just fine for me.
>>>>>
>>>>> My current solution is to use the parallel package to load and use the xlsx
>>>>> package only in subprocesses, so the main R process never uses java.
>>>>
>>>> Out of curiosity, are you saying that if you simply load rJava instead
>>>> of xlsxjars in the same place (or perhaps load another package that
>>>> depends on rJava), is the crash avoided, too?
>>>
>>> Yes, that's right, if I load rJava instead of xlsxjars, there is no crash.
>>> Perhaps loading rJava does not actually launch a Java subprocess, but loading
>>> xlxsjars does?
>>>
>>
>> JVM is not started until you call
>>
>> .jinit()
>>
>> so try that ..
>>


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