Skip to content

I20260601-0713

@tobias-melcher tobias-melcher tagged this 20 May 15:15
JavaReferenceCodeMining and JavaImplementationCodeMining ran their
blocking JDT search calls via CompletableFuture.runAsync on
ForkJoinPool.commonPool(). The JDT indexer also uses the common pool for
parallel search and holds the IndexManager monitor while waiting for
results, so a busy editor could deadlock: every common pool worker held
the IndexManager monitor in JobManager.performConcurrentJob while the
indexer waited on ForkJoinTask.get. Route code mining resolution through
a dedicated bounded executor (JavaCodeMiningExecutor) instead.

Fixes https://github.com/eclipse-jdt/eclipse.jdt.ui/issues/2994
Assets 2
Loading