[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