JDK 9 RFR of 8168628: (ch) JVM Crash in : ~StubRoutines::jshort_disjoint_arraycopy

Alan Bateman Alan.Bateman at oracle.com
Wed Dec 7 16:09:56 UTC 2016


On 07/12/2016 16:00, Brian Burkhalter wrote:

> On Dec 6, 2016, at 8:59 AM, Brian Burkhalter 
> <brian.burkhalter at oracle.com <mailto:brian.burkhalter at oracle.com>> wrote:
>
>> On Dec 6, 2016, at 8:31 AM, Alan Bateman <Alan.Bateman at oracle.com 
>> <mailto:Alan.Bateman at oracle.com>> wrote:
>>
>>> My comment the check if the file is being extended is at L911 of 
>>> FileChannelImpl so I would expect that to call allocate0 or 
>>> truncate0 depending on whether it is extending or shrinking.
>>
>> I see. For this section I merely left it as it was, i.e., truncate() 
>> was called only if it is extending and not otherwise. This ensures 
>> that the size is monotonically non-decreasing. If it were to shrink 
>> in one thread then it seems that another thread which had previously 
>> mapped something beyond the shrunk length could run into the SIGBUS.
>
> So am I OK to push this patch now as-is, is more work required, or 
> should it be deferred to JDK 10?
>
It's probably okay although we should never be calling allocate0 to 
truncate the file. That is, I'd prefer if allocate0 was just a simpler 
that called fallocate, keep all decisions in FileChannelImpl.

-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20161207/652d7b27/attachment.html>


More information about the nio-dev mailing list