[PATCH] 7052549 "(aio) AssertionError in sun.nio.ch.PendingIoCache.clearPendingIoMap (win)"
Alan Bateman
Alan.Bateman at oracle.com
Tue Nov 12 08:30:27 PST 2013
On 12/11/2013 16:23, Chris Hegarty wrote:
> From what I can tell, the changes look fine to me.
>
> I assume you simply do not want to remove the entry from the cache
> when the pending operation may complete at some point in the future.
The issue is when a file lock is acquired immediately it is leaving an
OVERLAPPED structure in the pending I/O cache. That OVERLAPPED structure
is recycled via the I/O completion notification but it's possible that a
close gets in around this time and attempts to clean up. If it grabs it
before the thread handling the I/O completions then it will see it as
completed and this is what triggers the assert. I'll push this for now
so that Yuri has a fix to work with but I would like to re-visit this
area again via the master bug.
-Alan
More information about the nio-dev
mailing list