netty/netty — Issue #200: OMATPE - Calling ExecutionHandler.releaseExternalResources() hangs
Author: dingwa
Created: 2012-02-25 04:59:03+00:00
State: open

This bug looks to be very similar to the one raised in NETTY-380

Calling ExecutionHandler.releaseExternalResources() from an OrderedMemoryAwareThreadPoolExecutor thread causes the ExecutorUtils.terminate() to infinite loop.

The ExecutorUtils.terminate() attempts to check for deadlocks by trying to find the currentParent, however this returns null so it bypasses the deadlock check. The result is that the ExecutorUtils.terminate() thread forever attempts to shutdown the OMATPE, however since the attempt was run on the OMATPE thread we reach a deadlock situation.

The workaround to this is to spawn another thread to call ExecutionHandler.releaseExternalResources().

Netty version tested on 3.2.5.Final