Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha User
    Join Date
    Nov 2009
    Location
    France
    Posts
    23
    Vote Rating
    0
    Pyja is on a distinguished road

      0  

    Default [OPEN][3.x] Floating Menu memory Leak - Ext.Shadows are never destroyed

    [OPEN][3.x] Floating Menu memory Leak - Ext.Shadows are never destroyed


    Hi,

    when clicking on the column menu, this create a menu and lots of DOM elements.
    When hide this menu, and when i destroy the gridPanel, these DOM elements are still here.

    Any idea ? I would prefer ask, because of my latest post was a memory leak bugfixed in the 3.1 version
    So, if it's already bugfixed, i would prefer to know now.

    Thanks for help

    P.S : any idea for the 3.1 release date ?

  2. #2
    Sencha - Community Support Team jay@moduscreate.com's Avatar
    Join Date
    Mar 2007
    Location
    Frederick MD, NYC, DC
    Posts
    16,337
    Vote Rating
    75
    jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all

      0  

    Default


    The menus themselves get destroyed, but the shadow elements are left behind.

  3. #3
    Sencha User
    Join Date
    Nov 2009
    Location
    France
    Posts
    23
    Vote Rating
    0
    Pyja is on a distinguished road

      0  

    Default


    so ?
    no fix available ? neither in 3.1 ?

  4. #4
    Sencha - Community Support Team jay@moduscreate.com's Avatar
    Join Date
    Mar 2007
    Location
    Frederick MD, NYC, DC
    Posts
    16,337
    Vote Rating
    75
    jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all

      0  

    Default


    so? These shadow elements are reused throughougt the application where menus are reshown.

    This is not a bug. You need to be clear on terms like "Memory leak". In my opinion, this is not a flaw and there is no memory leak present.

  5. #5
    Sencha - Community Support Team jay@moduscreate.com's Avatar
    Join Date
    Mar 2007
    Location
    Frederick MD, NYC, DC
    Posts
    16,337
    Vote Rating
    75
    jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all

      0  

    Default


    Btw, I tested this in the pre-final 3.1 release.

  6. #6
    Sencha User
    Join Date
    Nov 2009
    Location
    France
    Posts
    23
    Vote Rating
    0
    Pyja is on a distinguished road

      0  

    Default


    re-used ?
    don't agree with u.
    Be sure i do some tests (and some code reviews) before posting here
    My test case is the following :
    Show a grid, open the column menu, then destroy the grid : 23 DOM elements in sIEve
    repeat twice : 46 elements in sIEve
    repeat more : 69 elements ! and telling me re-used ? when ?
    not releasing elements in my menu :
    - 1 SPAN (x-menu-item-text) + 1 IMG (x-menu-item-icon) by Menu Item,
    - some DIV and BUTTONS (pagingtoolbar) not released due to sus-mentioned memory leak

  7. #7
    Sencha - Community Support Team jay@moduscreate.com's Avatar
    Join Date
    Mar 2007
    Location
    Frederick MD, NYC, DC
    Posts
    16,337
    Vote Rating
    75
    jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all

      0  

    Default


    I can't validate your test case because you're not providing enough information.

    You can't just go around posting threads in the bug forum like http://www.extjs.com/forum/showthrea...003#post417003 and expect to get a valid response.

    That said, please read the following thread: http://www.extjs.com/forum/showthread.php?t=71015 and post something that we can easily reproduce.

    I tested in Firebug while viewing the DOM manipulation piece in the array grid example.

  8. #8
    Sencha - Community Support Team jay@moduscreate.com's Avatar
    Join Date
    Mar 2007
    Location
    Frederick MD, NYC, DC
    Posts
    16,337
    Vote Rating
    75
    jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all

      0  

    Default


    The left over shadow elements are left for reuse for future menus to be displayed.

    I do think that they should be destroyed when no more instances of Ext.menu.Menu exist.

  9. #9
    Sencha User
    Join Date
    Nov 2009
    Location
    France
    Posts
    23
    Vote Rating
    0
    Pyja is on a distinguished road

      0  

    Default


    Okay guy...
    So, i'll wait for the 3.1 release, expecting this problem will disappear, otherwise i'll post a complete testcase.

    Thanks for your support

    Pyja

  10. #10
    Sencha - Community Support Team mystix's Avatar
    Join Date
    Mar 2007
    Location
    Singapore
    Posts
    6,236
    Vote Rating
    4
    mystix will become famous soon enough

      0  

    Default


    Hmmm.. there does seem to be a bug actually.

    floating Ext.menu.Menus (as is the case with gridpanel column menus) are actually just Ext.Layers with supporting Ext.Shadow instances.

    when a floating menu (i.e. an Ext.Layer) is destroyed, the corresponding Ext.Shadow is hidden but never destroyed. Here's the code for Ext.Layer#destroy()
    Code:
        // private
        destroy : function(){
            this.hideShim();
            if(this.shadow){
                this.shadow.hide();
            }
            this.removeAllListeners();
            Ext.removeNode(this.dom);
            delete this.dom;
        },
    note the portion in red.

    i do see code for an Ext.Shadow.Pool, but it seems that the only times Shadows are retrieved / returned to the Pool are when they're hidden / shown. In the case of Ext.Layers, the Shadows are always created anew for every instance.

    The code for Ext.Shadow / Ext.Shadow.Pool definitely needs to be looked at.

    I'll mark this thread [UNKNOWN] for closer scrutiny.
    Also renamed it for better visibility.
    Last edited by mystix; 9 Dec 2009 at 10:08 AM. Reason: An Ext.Layer only creates a new Shadow if a shadow config has been specified. Pool size, however, has no upper limit.

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar