Community
Participate
Working Groups
Build Identifier: Sometime call hierarchy doesn't return anything for callees, especially for a long list. Reproducible: Always
The bug is caused by handleGetCallees() function in CDTMiner class, the function sets the miner request status to 'done' before the return result is set completely, so when the result is small, it may be finished before the status is set, then the call hierarchy function works as expected, but when the result is big, the 'done' status may be sent back before the result, then we get an empty list for callees in this case.
Created attachment 179996 [details] Patch applied to org.eclipse.ptp.internal.rdt.core.miners.CDTMiner The patch contains these fixes: 1, Fix the function handleGetCallees() by moving the call of "statusDone(status);" to its finally block. 2, A bunch of functions call "statusDone(status);" in try block, this may cause a deadlock in the client side when there is an exception happens before the status is set in the server side. So update all of these functions by moving the call of "statusDone(status);" to their finally block.
Applied to ptp_4_0 and HEAD