[PATCH] 7052549 "(aio) AssertionError in sun.nio.ch.PendingIoCache.clearPendingIoMap (win)"
Alan Bateman
Alan.Bateman at oracle.com
Mon Oct 28 08:03:51 PDT 2013
On 10/10/2013 21:28, Yuri Gaevsky wrote:
> Hello,
>
> I'm trying to follow [1] in order to propose a patch for JDK-7052549 [2].
>
> The code in clearPendingIoMap() doesn't use 'synchronized' access to internal
> data as all other methods do and the 'assert Thread.holdsLock(this)' statement
> in the method can fail when "-esa" command-line option enabled. The proposed
> patch moves all accesses to 'pendingIoMap' and 'closePending' under synchronized
> block, and removes the 'assert !result.isDone()' statement.
>
> The patch has been verified by JCK testrun with '-esa' option.
Yuri - apologies for taking time to get back to you on this.
Just to double check, are you 100% sure that its the "assert
Thread.holdsLock(this)" that is being being triggered? I ask because
this method method is only every called while holding the lock. I wonder
if instead you are seeing the "assert !result.isDone()" being triggered.
That is what JDK-7052549 is about.
I'm also interested to know if you can duplicate this easily? If so then
maybe we try out a few theories and get the root of this issue.
-Alan.
More information about the nio-dev
mailing list