Bug 55269 - [EditorMgmt] (leak) Last editor hung onto by EditorWorkbook and SaveAction (and other ActiveEditorAction's)
Summary: [EditorMgmt] (leak) Last editor hung onto by EditorWorkbook and SaveAction (a...
Status: RESOLVED DUPLICATE of bug 53473
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P2 major (vote)
Target Milestone: 3.0 M8   Edit
Assignee: Chris McLaren CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-18 14:32 EST by Nick Edgar CLA
Modified: 2004-03-21 16:17 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Edgar CLA 2004-03-18 14:32:44 EST
build I20040318 + latest from HEAD

- new workbench
- close all editors
- open/close 5 text editors
- the last one is held onto in a few places:

SaveAction and other ActiveEditorAction subclasses (CloseEditorAction,
PinEditorAction) hang onto it in their activeEditor field because
getActiveEditor() during a partClosed notification still returns the last editor.

EditorWorkbook.current also hangs onto the last one.


All GC Roots -> org.eclipse.ui.internal.EditorPane #327537: Direct Paths

  |
  +---org.eclipse.core.internal.registry.Extension (#57336) [Java Frame] 
  | |
  | +---parent org.eclipse.core.internal.registry.BundleModel (#57569)
  |   |
  |   +---parent org.eclipse.core.internal.registry.ExtensionRegistry (#5123)
  |     |
  |     +---listeners java.util.HashMap (#5235)
  |       |
  |       +---table java.util.HashMap$Entry[16] (#5325)
  |         |
  |         +---[3]  java.util.HashMap$Entry (#85361)
  |           |
  |           +---key
org.eclipse.ui.internal.commands.ExtensionCommandRegistry$1 (#86453)
  |             |
  |             +---this$0
org.eclipse.ui.internal.commands.ExtensionCommandRegistry (#85236)
  |               |
  |               +---commandRegistryListeners java.util.ArrayList (#102565)
  |                 |
  |                 +---elementData java.lang.Object[10] (#102608)
  |                   |
  |                   +---[0]  org.eclipse.ui.internal.commands.CommandManager$1
(#102852)
  |                     |
  |                     +---this$0
org.eclipse.ui.internal.commands.CommandManager (#85237)
  |                       |
  |                       +---handlersByCommandId
java.util.Collections$UnmodifiableMap (#331029)
  |                         |
  |                         +---m java.util.HashMap (#330878)
  |                           |
  |                           +---table java.util.HashMap$Entry[256] (#330879)
  |                             |
  |                             +---[40]  java.util.HashMap$Entry (#331014)
  |                               |
  |                               +---value
org.eclipse.ui.commands.ActionHandler (#129527)
  |                                 |
  |                                 +---action
org.eclipse.ui.internal.SaveAction (#129338)
  |                                   |
  |                                   +---activeEditor
org.eclipse.ui.editors.text.TextEditor (#327515)
  |                                     |
  |                                     +---partSite
org.eclipse.ui.internal.EditorSite (#327540)
  |                                       |
  |                                       +---pane
org.eclipse.ui.internal.EditorPane (#327537)
  |
  +---org.eclipse.swt.widgets.Display (#64078) [Java Frame] 
    |
    +---controlTable org.eclipse.swt.widgets.Control[1024] (#64178)
      |
      +---[6]  org.eclipse.swt.widgets.ToolBar (#131890)
        |
        +---items org.eclipse.swt.widgets.ToolItem[4] (#132122)
          |
          +---[0]  org.eclipse.swt.widgets.ToolItem (#131891)
            |
            +---eventTable org.eclipse.swt.widgets.EventTable (#132123)
              |
              +---listeners org.eclipse.swt.widgets.Listener[4] (#132476)
                |
                +---[0]  org.eclipse.swt.widgets.TypedListener (#132725)
                  |
                  +---eventListener
org.eclipse.ui.internal.PerspectiveBarNewContributionItem$1 (#133042)
                    |
                    +---this$0
org.eclipse.ui.internal.PerspectiveBarNewContributionItem (#124154)
                      |
                      +---parent org.eclipse.ui.internal.PerspectiveBarManager
(#124156)
                        |
                        +---contributions java.util.ArrayList (#124260)
                          |
                          +---elementData java.lang.Object[10] (#124381)
                            |
                            +---[1] 
org.eclipse.ui.internal.PerspectiveBarContributionItem (#151203)
                              |
                              +---preferenceStore
org.eclipse.ui.plugin.AbstractUIPlugin$CompatibilityPreferenceStore (#97006)
                                |
                                +---listeners
org.eclipse.jface.util.ListenerList (#97668)
                                  |
                                  +---listeners java.lang.Object[15] (#151212)
                                    |
                                    +---[8] 
org.eclipse.ui.internal.presentations.EditorPresentation$2 (#151281)
                                      |
                                      +---this$0
org.eclipse.ui.internal.presentations.EditorPresentation (#151170)
                                        |
                                        +---site
org.eclipse.ui.internal.EditorWorkbook$1 (#135156)
                                          |
                                          +---this$0
org.eclipse.ui.internal.EditorWorkbook (#134953)
                                            |
                                            +---current
org.eclipse.ui.internal.EditorPane (#327537)


--------------------------------------------------------------------------------

All GC Roots -> org.eclipse.ui.internal.EditorPane #327537: Reverse Paths

  |
  +---org.eclipse.ui.internal.EditorPane (#327537)
    |
    +---pane of org.eclipse.ui.internal.EditorSite (#327540)
    | |
    | +---partSite of org.eclipse.ui.editors.text.TextEditor (#327515)
    |   |
    |   +---activeEditor of org.eclipse.ui.internal.SaveAction (#129338)
    |     |
    |     +---action of org.eclipse.ui.commands.ActionHandler (#129527)
    |       |
    |       +---value of java.util.HashMap$Entry (#331014)
    |         |
    |         +---[40]  of java.util.HashMap$Entry[256] (#330879)
    |           |
    |           +---table of java.util.HashMap (#330878)
    |             |
    |             +---m of java.util.Collections$UnmodifiableMap (#331029)
    |               |
    |               +---handlersByCommandId of
org.eclipse.ui.internal.commands.CommandManager (#85237)
    |                 |
    |                 +---this$0 of
org.eclipse.ui.internal.commands.CommandManager$1 (#102852)
    |                   |
    |                   +---[0]  of java.lang.Object[10] (#102608)
    |                     |
    |                     +---elementData of java.util.ArrayList (#102565)
    |                       |
    |                       +---commandRegistryListeners of
org.eclipse.ui.internal.commands.ExtensionCommandRegistry (#85236)
    |                         |
    |                         +---this$0 of
org.eclipse.ui.internal.commands.ExtensionCommandRegistry$1 (#86453)
    |                           |
    |                           +---key of java.util.HashMap$Entry (#85361)
    |                             |
    |                             +---[3]  of java.util.HashMap$Entry[16] (#5325)
    |                               |
    |                               +---table of java.util.HashMap (#5235)
    |                                 |
    |                                 +---listeners of
org.eclipse.core.internal.registry.ExtensionRegistry (#5123)
    |                                   |
    |                                   +---parent of
org.eclipse.core.internal.registry.BundleModel (#57569)
    |                                     |
    |                                     +---parent of
org.eclipse.core.internal.registry.Extension (#57336) [Java Frame] 
    |
    +---current of org.eclipse.ui.internal.EditorWorkbook (#134953)
      |
      +---this$0 of org.eclipse.ui.internal.EditorWorkbook$1 (#135156)
        |
        +---site of org.eclipse.ui.internal.presentations.EditorPresentation
(#151170)
          |
          +---this$0 of
org.eclipse.ui.internal.presentations.EditorPresentation$2 (#151281)
            |
            +---[8]  of java.lang.Object[15] (#151212)
              |
              +---listeners of org.eclipse.jface.util.ListenerList (#97668)
                |
                +---listeners of
org.eclipse.ui.plugin.AbstractUIPlugin$CompatibilityPreferenceStore (#97006)
                  |
                  +---preferenceStore of
org.eclipse.ui.internal.PerspectiveBarContributionItem (#151203)
                    |
                    +---[1]  of java.lang.Object[10] (#124381)
                      |
                      +---elementData of java.util.ArrayList (#124260)
                        |
                        +---contributions of
org.eclipse.ui.internal.PerspectiveBarManager (#124156)
                          |
                          +---parent of
org.eclipse.ui.internal.PerspectiveBarNewContributionItem (#124154)
                            |
                            +---this$0 of
org.eclipse.ui.internal.PerspectiveBarNewContributionItem$1 (#133042)
                              |
                              +---eventListener of
org.eclipse.swt.widgets.TypedListener (#132725)
                                |
                                +---[0]  of org.eclipse.swt.widgets.Listener[4]
(#132476)
                                  |
                                  +---listeners of
org.eclipse.swt.widgets.EventTable (#132123)
                                    |
                                    +---eventTable of
org.eclipse.swt.widgets.ToolItem (#131891)
                                      |
                                      +---[0]  of
org.eclipse.swt.widgets.ToolItem[4] (#132122)
                                        |
                                        +---items of
org.eclipse.swt.widgets.ToolBar (#131890)
                                          |
                                          +---[6]  of
org.eclipse.swt.widgets.Control[1024] (#64178)
                                            |
                                            +---controlTable of
org.eclipse.swt.widgets.Display (#64078) [Java Frame]
Comment 1 Nick Edgar CLA 2004-03-18 14:33:26 EST
Not a continuous leak, but still.
Comment 2 Nick Edgar CLA 2004-03-18 14:49:51 EST
Should address for M8, otherwise the JDT editor leak test will continue to fail.
Comment 3 Chris McLaren CLA 2004-03-21 16:17:19 EST

*** This bug has been marked as a duplicate of 53473 ***