Lambda in CodeLocatorApplicationInitializedListener retains released EditorImpl
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start at CodeLocatorApplicationInitializedListener, especially the lambda retaining editor and the editorPathMap field shown in the heap paths. Trace how listeners and map entries are registered and released, then reproduce the retained disposed EditorImpl objects; done means released editors and their disposed PsiAwareTextEditorComponent and CaretModelImpl are no longer reachable.
Written by the indexing model from the issue text.
Description
And in the subttree of the released editors there are references to disposed instances of PsiAwareTextEditorComponent, CaretModelImpl. Could you please take a look.
editor field:
239MB/1 objects | | | arg$1: com.intellij.openapi.editor.impl.EditorImpl
238MB/1 objects | | | myDocument: com.intellij.openapi.editor.impl.DocumentImpl
238MB/1 objects | | | myDocumentListeners: com.intellij.openapi.editor.impl.LockFreeCOWSortedArray
238MB/1 objects | | | value: [Lcom.intellij.openapi.editor.event.DocumentListener;
68.5MB/4 objects | | | []: com.bytedance.tools.codelocator.listener.CodeLocatorApplicationInitializedListener$5$1
68.5MB/4 objects | | | val$editor: com.intellij.openapi.editor.impl.EditorImpl
66.5MB/4 objects | | | myPanel: javax.swing.JPanel
66.5MB/4 objects | | | parent: com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorComponent(disposed)
editorPathMap field:
65.0MB/1 objects +-this$1: com.bytedance.tools.codelocator.listener.CodeLocatorApplicationInitializedListener$5
65.0MB/1 objects | editorPathMap: java.util.HashMap
65.0MB/1 objects | table: [Ljava.util.HashMap$Node;
55.4MB/43 objects | []: java.util.HashMap$Node
34.9MB/38 objects | +-key: com.intellij.openapi.editor.impl.EditorImpl
22.0MB/5 objects | | myCaretModel: com.intellij.openapi.editor.impl.CaretModelImpl(disposed)
- Dominant language
- Java
- Stars
- 2.2k
- Forks
- 182
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bytedance/CodeLocator
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
bytedance/CodeLocator#101 ·
-
能否支持compose? Open
Difficulty 5/5 Over a week Newbie friendliness 20/100
bytedance/CodeLocator#99 ·
-
支持compose Open
Difficulty 4/5 3-5 days Newbie friendliness 42/100
bytedance/CodeLocator#96 · 1 comment · 4 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
bytedance/CodeLocator#94 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
bytedance/CodeLocator#93 ·
All issues in bytedance/CodeLocator
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100