You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2012/09/06 07:49:37 UTC

[Bug 120828] New: All ChartModel/ChartView objects are not released

https://issues.apache.org/ooo/show_bug.cgi?id=120828

          Priority: P3
            Bug ID: 120828
          Assignee: ooo-issues@incubator.apache.org
           Summary: All ChartModel/ChartView objects are not released
          Severity: normal
        Issue Type: DEFECT
    Classification: Application
                OS: All
          Reporter: zhangjf@apache.org
          Hardware: All
            Status: CONFIRMED
           Version: AOO 3.4.1
         Component: code
           Product: chart

You can recreate the problem by simply opening a document with a chart inside
then close the document, from the code, you can observe that ChartModel dtor
api are never called.


It is a regression problem since hg changeset 274456,

undoapi: step 0.1 of the migration of css.chart2.XUndoManager to
css.document.XUndoManager: remove the XModel paramter from the XUndoManager
methods, they're an implicit attribute of the instance
author    Frank Schoenheit [fs] <fr...@oracle.com>
    Tue Nov 09 21:36:54 2010 +0100 (22 months ago)
changeset 274456    87f2fab49f69
parent 274455     3bf4889782b9
child 274457     491247d7bc5c
undoapi: step 0.1 of the migration of css.chart2.XUndoManager to
css.document.XUndoManager: remove the XModel paramter from the XUndoManager
methods, they're an implicit attribute of the instance

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120828] All ChartModel/ChartView objects are not released

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120828

zhang jianfang <zh...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #79311|review?                     |
              Flags|                            |

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120828] All ChartModel/ChartView objects are not released

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120828

--- Comment #1 from zhang jianfang <zh...@apache.org> ---
The root cause is in ChartModel ctor,

it calls,

       m_xOldModelAgg.set(
            m_xContext->getServiceManager()->createInstanceWithContext(
            CHART_CHARTAPIWRAPPER_SERVICE_NAME,
            m_xContext ), uno::UNO_QUERY_THROW );
        m_xOldModelAgg->setDelegator( *this );

Then xOldModelAgg has a cycle reference back to ChartModel object itself.

While in hg changeset 274456, it removes below code from ChartModel::Dispose()

    if( m_xOldModelAgg.is())
    {
        m_xOldModelAgg->setDelegator( 0 );
        m_xOldModelAgg.clear();
    }

So it never has a chance to reset the cyclic reference.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120828] All ChartModel/ChartView objects are not released

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120828

zhang jianfang <zh...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|ooo-issues@incubator.apache |zhangjf@apache.org
                   |.org                        |
   Target Milestone|---                         |AOO 3.5.0

--- Comment #3 from zhang jianfang <zh...@apache.org> ---
Take the defect.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120828] All ChartModel/ChartView objects are not released

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120828

zhang jianfang <zh...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |120831

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120828] All ChartModel/ChartView objects are not released

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120828

zhang jianfang <zh...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #79311|                            |review?
              Flags|                            |

--- Comment #2 from zhang jianfang <zh...@apache.org> ---
Created attachment 79311
  --> https://issues.apache.org/ooo/attachment.cgi?id=79311&action=edit
fix code patch

So the simple fix is to take back the code to break the cyclic reference.
Please anyone who is familiar with this part of historic code help to review
the patch. Thanks.

-- 
You are receiving this mail because:
You are the assignee for the bug.