You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.
The temporary resource sets created and populated during rename or move refactorings are kept in memory for too long, potentially for whole life of the application. That may happen if the language injectors are initialized in a ModalContextThread, which transitively holds the refactoring data, because Guice 3.0 injectors hold the creatingThread objects for their entire lifes, see
IMO the observed scenario is hardly avoidable without changing the implementation ModalContext, modifying Guice, or significantly changing the initialization of the involved injectors. However, at least the ChangeSerializer instances with their temporary data should be disposed once the text changes have been prepared.
The text was updated successfully, but these errors were encountered:
is fixed, so the issue can be closed.
An open question is whether that aspect could be improved:
because Guice 3.0 injectors hold the creatingThread objects for their entire lifes
I saw that with Guice 4.1 that part changed significantly but I don't know wether it would be desirable or even possible to update Guice. Maybe a change of ModalContextThread should be proposed that adds dropping of the operation data once the thread is terminated.
The temporary resource sets created and populated during rename or move refactorings are kept in memory for too long, potentially for whole life of the application. That may happen if the language injectors are initialized in a
ModalContextThread
, which transitively holds the refactoring data, because Guice 3.0 injectors hold thecreatingThread
objects for their entire lifes, seeIMO the observed scenario is hardly avoidable without changing the implementation
ModalContext
, modifying Guice, or significantly changing the initialization of the involved injectors. However, at least theChangeSerializer
instances with their temporary data should be disposed once the text changes have been prepared.The text was updated successfully, but these errors were encountered: