RFR [9] 8156824: com.sun.jndi.ldap.pool.PoolCleaner should clear its context class loader

Daniel Fuchs daniel.fuchs at oracle.com
Thu Jul 28 13:52:43 UTC 2016

On 28/07/16 14:22, Chris Hegarty wrote:
> Another issue where an internal platform thread is unnecessarily
> retaining a reference to its creating thread’s context class loader.
> In this case, it appears to be safe to use an InnocuousThread,
> which will have a null context class loader.
> http://cr.openjdk.java.net/~chegar/8156824/01/
> https://bugs.openjdk.java.net/browse/JDK-8156824

Hi Chris,

I was concerned that Pool.expire() might require permissions
(it writes to the socket channel and closes the socket),
but if I'm not mistaken you only need perms to create/bind
a socket, right?

best regards,

-- daniel

> It’s not clear to me why the construction was not always in a
> privileged block, maybe “modifyThread” was assumed. We now
> definitely need a privileged block as the context class loader is
> being set.
> -Chris.

More information about the core-libs-dev mailing list