Complete IDE freezes when using PyDebugValue::frameEvaluator
inside the AnAction::update
method.
-
start gradle task
runIde
-
setup a local Python Interpreter (Python 3, no additional Python modules required)
-
enter
a = 1
into the activePython Console
-
select variable
a
in the variable view -
use key binding
alt x
to trigger the action which causes the IDE to freeze
The IDE should be able to execute the executed action without freezing the IDE.
The IDE freezes and no interaction with the IDE is possible.
The plugin contains four different actions (A
, B
, C
and X
) in the linked plugin example to demo the problem. Only action X
results into a freezing IDE if executed via the mapped key binding.
- key binding
alt a
- does not evaluate in the
AnAction::update
method - action update thread is
ActionUpdateThread.BGT
- key binding
alt b
- does not evaluate in the
AnAction::update
method - action update thread is
ActionUpdateThread.EDT
- key binding
alt c
- does evaluate in the
AnAction::update
method - action update thread is
ActionUpdateThread.EDT
- key binding
alt x
- does evaluate in the
AnAction::update
method - action update thread is
ActionUpdateThread.BGT
All actions, A
, B
, C
and X
, run successfully if:
- the action is executed on a variable from the
Python Console
via the context menu (right click on variable in variable view) instead of the mapped key binding - the action is executed on a variable from a debugger session no matter if the key binding or context menu was used