Community
Participate
Working Groups
We run evaluations to populate the variables view. For us to run the evaluations, we call IJavaThread.queueRunnable(...) to queue our evaluation runnable onto JDIThread. We then wait for the runnable to get run before returning the variables. The problem is that if the JDIThread that we queue our runnable on has terminated while we are waiting for the runnable to run, the JDIThread simply discards our runnable without running them. We do not get a notification that the runnable has been discarded and will continue waiting. We are waiting for the runnable on the Label Update Job. Since we are forever waiting, we hold up the label update jobs and all subsequent requests to update the variables view. Things just queue up on the label update job, and no variables labels will get updated once we get to this state. I am requesting that we enhance the IJavaThread.queueRunnable API to allow us to monitor our runnable. Thereby, allowing us to stop waiting if we know that our runnable has been cancelled.