Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jan 2013 10:57:30 -0800
From:      Phil Phillips <pphillips@experts-exchange.com>
To:        freebsd-java@freebsd.org
Subject:   Re: Network related OpenJDK7 segfault
Message-ID:  <50F6F81A.6090608@experts-exchange.com>
In-Reply-To: <50DE1515.8090307@experts-exchange.com>
References:  <50D24A41.4020909@experts-exchange.com> <50D24BB9.7090005@experts-exchange.com> <50DE1515.8090307@experts-exchange.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/28/2012 01:54 PM, Phil Phillips wrote:
> On 12/19/2012 03:20 PM, Phil Phillips wrote:
>> On 12/19/2012 03:14 PM, Phil Phillips wrote:
>>> Hello,
>>>
>>> I had some Java code running fine on OpenJDK6.  I upgraded to 
>>> OpenJDK7 and started getting a segmentation fault.  I've been able 
>>> to narrow down the problem and create a test case to reproduce the 
>>> issue.  It's definitely load related, since I couldn't get the crash 
>>> with a single-threaded test (the test code is multi-threaded). 
>>> Running the test case with OpenJDK6 is fine, but running with 
>>> OpenJDK7 crashes.  I tried the sample code on FreeBSD 7.4, 8.3, and 
>>> 9.0 - all with the same result.
>>>
>>> Is this a bug with OpenJDK7, or is there something I need to configure?
>>>
>>> I have attached the test Java class and a sample error report.
>>>
>>> Thanks!
>>
>> Looks like my attachments got clobbered.  Here are some links.
>>
>> Test Class: http://pastebin.mozilla.org/2006513
>> Crash Report: http://pastebin.mozilla.org/2006530
>>
>> Thanks again.
>>
>> -- 
>> Phil Phillips
>
> In the sample code, a javax.naming.directory.DirContext is being used 
> as part of the reverse lookup test used to reproduced the issue.  We 
> noticed that a new DirContext was being used each time.  Closing or 
> re-using the DirContext gets rid of the crash.
>
> It looks like this isn't too much of an issue then.  The interesting 
> bit though is that OpenJDK6 is able to handle the "bad" code with too 
> many instances of DirContext, while OpenJDK7 isn't.  FWIW, I wasn't 
> able to reproduce the crash on a Linux build of OpenJDK7.
>
> -- 
> Phil Phillips

Hey all,

I did a truss of a the crashing code with OpenJDK6 vs OpenJDK7.  I 
noticed that OpenJDK6 was using "poll()", while OpenJDK7 was using 
"select()".  This was apparently changed in OpenJDK7 to accommodate a 
bug in Mac OSX: 
http://mail.openjdk.java.net/pipermail/macosx-port-dev/2012-January/002424.html

I rebuilt OpenJDK7 with that patch reverted, and I can no longer 
reproduce the crash.  Hopefully, this is just something wrong with how 
select() is being used, and not some kind of bug in FreeBSD itself.

I can open a PR if anyone else feels that the OpenJDK7 port should 
include a patch to switch back to poll().

Thanks,
Phil



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50F6F81A.6090608>