mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-18029 Race condition on async value evaluation fixed
`myCallbackHashMap` with the freshly requested async evaluation sequence number was accessed in `returnFullValue()` method before putting this sequence value into the map in `loadAsyncVariablesValues()` method. This resulted in NPE after switching to the new fast Thrift transport.
This commit is contained in:
@@ -544,11 +544,11 @@ public class PydevConsoleCommunication extends AbstractConsoleCommunication impl
|
||||
evaluationExpressions.add(GetVariableCommand.composeName(asyncValue.getDebugValue()));
|
||||
}
|
||||
final int seq = getNextFullValueSeq();
|
||||
myCallbackHashMap.put(seq, pyAsyncValues);
|
||||
|
||||
// @alexander todo add specific exception to the method (previously processed by `checkError()`)
|
||||
myClient.loadFullValue(seq, evaluationExpressions);
|
||||
|
||||
myCallbackHashMap.put(seq, pyAsyncValues);
|
||||
|
||||
// @alexander todo it was expected here that `loadFullValue()` might return `List<PyDebugValue>` somehow...
|
||||
}
|
||||
// @alexander todo uncomment probably
|
||||
|
||||
Reference in New Issue
Block a user