Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 83164 Details for
Bug 210177
Memory leak when deleting an analyzed log file
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Pacth for bug 210177
Bug210177.txt (text/plain), 11.34 KB, created by
Alex Nan
on 2007-11-17 17:12:17 EST
(
hide
)
Description:
Pacth for bug 210177
Filename:
MIME Type:
Creator:
Alex Nan
Created:
2007-11-17 17:12:17 EST
Size:
11.34 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.hyades.sdb >Index: src-engine/org/eclipse/tptp/symptom/analysis/XPathCorrelationEngine.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.hyades.sdb/src-engine/org/eclipse/tptp/symptom/analysis/XPathCorrelationEngine.java,v >retrieving revision 1.40 >diff -u -r1.40 XPathCorrelationEngine.java >--- src-engine/org/eclipse/tptp/symptom/analysis/XPathCorrelationEngine.java 22 Aug 2007 20:32:24 -0000 1.40 >+++ src-engine/org/eclipse/tptp/symptom/analysis/XPathCorrelationEngine.java 17 Nov 2007 22:11:31 -0000 >@@ -234,6 +234,8 @@ > }catch(Exception e){ > log(e); > } >+ //reset delegator >+ cbeDelegator.setEvent(null);//bugzilla 210177 > context.setStatus(new OperationStatusImpl(IOperationStatus.OK, PLUGIN_ID, IOperationStatus.OK, "", null)); > } > >Index: src/org/eclipse/tptp/symptom/internal/presentation/view/SymptomAnalysisDetailsPageBook.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.hyades.sdb/src/org/eclipse/tptp/symptom/internal/presentation/view/SymptomAnalysisDetailsPageBook.java,v >retrieving revision 1.10 >diff -u -r1.10 SymptomAnalysisDetailsPageBook.java >--- src/org/eclipse/tptp/symptom/internal/presentation/view/SymptomAnalysisDetailsPageBook.java 8 Aug 2007 22:16:43 -0000 1.10 >+++ src/org/eclipse/tptp/symptom/internal/presentation/view/SymptomAnalysisDetailsPageBook.java 17 Nov 2007 22:11:31 -0000 >@@ -27,6 +27,7 @@ > import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; > import org.eclipse.hyades.loaders.hierarchy.Constants; > import org.eclipse.hyades.models.cbe.CBECommonBaseEvent; >+import org.eclipse.hyades.models.cbe.CBEDefaultEvent; > import org.eclipse.hyades.models.hierarchy.util.HierarchyResourceSetImpl; > import org.eclipse.hyades.models.plugin.ModelsPlugin; > import org.eclipse.hyades.sdb.internal.SDbPluginImages; >@@ -70,6 +71,8 @@ > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Menu; > import org.eclipse.swt.widgets.Table; >+import org.eclipse.tptp.platform.common.internal.util.CBECommonBaseEventWeakRef; >+import org.eclipse.tptp.platform.common.internal.util.CBEDefaultEventWeakRef; > import org.eclipse.tptp.platform.models.symptom.Symptom; > import org.eclipse.tptp.platform.models.symptom.SymptomDefinition; > import org.eclipse.tptp.symptom.editor.ISymptomDetailsPage; >@@ -274,7 +277,32 @@ > Table cbeTable = toolkit.createTable(_cbeMatchedEvents, SWT.MULTI > | SWT.V_SCROLL | SWT.H_SCROLL); > cbeTable.setLayoutData(GridUtil.createFill()); >- _cbeTableViewer = new TableViewer(cbeTable); >+ _cbeTableViewer = new TableViewer(cbeTable){ >+ //bugzilla 210177 >+ public ISelection getSelection() { >+ >+ ISelection newSelection = null; >+ ISelection selection = super.getSelection(); >+ >+ newSelection = SymptomAnalysisDetailsPageBook.this.updateSelection(selection); >+ if(newSelection == null){ >+ newSelection = StructuredSelection.EMPTY; >+ } >+ //return CBE weak references >+ return newSelection; >+ } >+ //bugzilla 210177 >+ protected void updateSelection(ISelection selection) { >+ >+ ISelection newSelection = SymptomAnalysisDetailsPageBook.this.updateSelection(selection); >+ >+ if(newSelection != null && !newSelection.isEmpty()){ >+ super.updateSelection(newSelection); >+ }else{ >+ super.updateSelection(selection); >+ } >+ } >+ }; > _cbeTableViewer.setContentProvider(new CBETableContentProvider()); > _cbeTableViewer.setLabelProvider(new CBETableLabelProvider()); > toolkit.paintBordersFor(_cbeMatchedEvents); >@@ -297,12 +325,14 @@ > _cbeTableViewer.addDoubleClickListener(new IDoubleClickListener() { > public void doubleClick(DoubleClickEvent event) { > ISelection sel = event.getSelection(); >+ sel = updateSelection(sel); > if (sel instanceof IStructuredSelection > && ((IStructuredSelection) sel).size() == 1) { > Object object = ((IStructuredSelection) sel) > .getFirstElement(); >- if (object instanceof CBECommonBaseEvent) { >- openView((CBECommonBaseEvent) object, true); >+ if (object instanceof CBECommonBaseEventWeakRef) { >+ //bugzilla 210177 >+ openView((CBECommonBaseEventWeakRef) object, true); > } > if (object instanceof TablePageDownControl) { > ((TablePageDownControl) object).run(); >@@ -367,6 +397,35 @@ > _cbeTabItem.setControl(_cbeMatchedEvents); > > } >+ //bugzilla 210177 >+ protected ISelection updateSelection(ISelection selection){ >+ IStructuredSelection newSelection = null; >+ CBECommonBaseEventWeakRef weakRefCBE = null; >+ CBEDefaultEventWeakRef weakRefDefEvent = null; >+ >+ if(selection instanceof IStructuredSelection){ >+ List selObjects = new ArrayList(); >+ for (Iterator iterator = ((IStructuredSelection)selection).iterator(); iterator.hasNext();) { >+ Object object = iterator.next(); >+ if(object instanceof CBECommonBaseEventWeakRef){ >+ selObjects.add(object); >+ }else if(object instanceof CBEDefaultEventWeakRef){ >+ selObjects.add(object); >+ }if(object instanceof CBECommonBaseEvent){ >+ weakRefCBE = new CBECommonBaseEventWeakRef((CBECommonBaseEvent)object); >+ selObjects.add(weakRefCBE); >+ }else if(object instanceof CBEDefaultEvent){ >+ weakRefDefEvent = new CBEDefaultEventWeakRef((CBEDefaultEvent)object); >+ selObjects.add(weakRefDefEvent); >+ }else{ >+ selObjects.add(selObjects); >+ } >+ >+ } >+ newSelection = new StructuredSelection(selObjects); >+ } >+ return newSelection != null ? newSelection : selection; >+ } > > /* > * (non-Javadoc) >@@ -844,7 +903,7 @@ > > } > >- protected void openView(CBECommonBaseEvent cbeEvent, boolean force) { >+ protected void openView(CBECommonBaseEventWeakRef cbeEvent, boolean force) { > if(openLogViewActionDelegate == null){ > IConfigurationElement[] extensionList = Platform.getExtensionRegistry() > .getConfigurationElementsFor("org.eclipse.ui", "popupMenus"); >@@ -908,6 +967,9 @@ > if (_cbeTableViewer.getLabelProvider() != null) > _cbeTableViewer.getLabelProvider().dispose(); > _cbeTableViewer.getTable().dispose(); >+ //bugzilla 210177 >+ openLogViewActionDelegate = null; >+ openLogViewAction = null; > // UIPlugin.getDefault().removeViewSelectionChangedListener(this); > super.dispose(); > } >#P org.eclipse.tptp.platform.log.views >Index: src/org/eclipse/tptp/platform/log/views/internal/actions/OpenLogViewActionDelegate.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.log.views/src/org/eclipse/tptp/platform/log/views/internal/actions/OpenLogViewActionDelegate.java,v >retrieving revision 1.7 >diff -u -r1.7 OpenLogViewActionDelegate.java >--- src/org/eclipse/tptp/platform/log/views/internal/actions/OpenLogViewActionDelegate.java 18 Aug 2006 20:56:30 -0000 1.7 >+++ src/org/eclipse/tptp/platform/log/views/internal/actions/OpenLogViewActionDelegate.java 17 Nov 2007 22:11:31 -0000 >@@ -1,5 +1,5 @@ > /********************************************************************** >- * Copyright (c) 2006 IBM Corporation and others. >+ * Copyright (c) 2006, 2007 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -13,14 +13,13 @@ > package org.eclipse.tptp.platform.log.views.internal.actions; > > import org.eclipse.emf.ecore.EObject; >-import org.eclipse.hyades.models.cbe.CBECommonBaseEvent; > import org.eclipse.hyades.models.hierarchy.TRCAgent; > import org.eclipse.hyades.models.hierarchy.TRCAgentProxy; > import org.eclipse.hyades.trace.ui.HyadesUtil; >- > import org.eclipse.jface.action.IAction; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.tptp.platform.common.internal.util.CBECommonBaseEventWeakRef; > import org.eclipse.tptp.platform.common.ui.internal.CommonUIConstants; > import org.eclipse.tptp.platform.log.views.internal.LogViewsPlugin; > import org.eclipse.tptp.platform.log.views.internal.util.LogUtil; >@@ -45,13 +44,14 @@ > .showView(CommonUIConstants.LOG_VIEW_ID)); > > if (viewer != null) { >- EObject container = ((CBECommonBaseEvent)selObject).eContainer(); >+ //changed to CBECommonBaseEventWeakRef in bugzilla 210177 >+ EObject container = ((CBECommonBaseEventWeakRef)selObject).getDelegate().eContainer(); > if (container != null > && container instanceof TRCAgent) { >- TRCAgentProxy viewerInput = ((TRCAgent) ((CBECommonBaseEvent)selObject).eContainer()) >+ TRCAgentProxy viewerInput = ((TRCAgent) ((CBECommonBaseEventWeakRef)selObject).getDelegate().eContainer()) > .getAgentProxy(); > viewer.addViewPage(viewerInput); >- LogUtil.notifyViewSelectionChanged(this, null, ((CBECommonBaseEvent)selObject)); >+ LogUtil.notifyViewSelectionChanged(this, null, ((CBECommonBaseEventWeakRef)selObject).getDelegate()); > } > } > >@@ -61,7 +61,7 @@ > if (viewer != null) { > EObject object = HyadesUtil.getMofObject(); > if (object != null) { >- LogUtil.notifyViewSelectionChanged(this, null, ((CBECommonBaseEvent)selObject)); >+ LogUtil.notifyViewSelectionChanged(this, null, ((CBECommonBaseEventWeakRef)selObject).getDelegate()); > } > } > } >@@ -77,7 +77,8 @@ > public void selectionChanged(IAction action, ISelection selection) { > if(selection!=null && selection instanceof IStructuredSelection && !selection.isEmpty()){ > selObject = ((IStructuredSelection)selection).getFirstElement(); >- if(action!=null && selObject!=null && selObject instanceof CBECommonBaseEvent){ >+ //changed to CBECommonBaseEventWeakRef in bugzilla 210177 >+ if(action!=null && selObject!=null && selObject instanceof CBECommonBaseEventWeakRef){ > action.setEnabled(true); > return; > } >Index: src/org/eclipse/tptp/platform/log/views/internal/actions/ExtendedAnalyzeAction.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.log.views/src/org/eclipse/tptp/platform/log/views/internal/actions/ExtendedAnalyzeAction.java,v >retrieving revision 1.15 >diff -u -r1.15 ExtendedAnalyzeAction.java >--- src/org/eclipse/tptp/platform/log/views/internal/actions/ExtendedAnalyzeAction.java 19 Mar 2007 20:03:31 -0000 1.15 >+++ src/org/eclipse/tptp/platform/log/views/internal/actions/ExtendedAnalyzeAction.java 17 Nov 2007 22:11:31 -0000 >@@ -170,10 +170,8 @@ > String msg = perf.getMessage() + ": deltaTime=" + perf.getTime() + " - usedMemoryDelta=" + perf.getUsedMemoryDelta() +" - freeMemoryDelta=" + perf.getFreeMemoryDelta()+ " - totalMemoryDelta=" + perf.getTotalMemoryDelta() + " - usedMemoryAfter=" + perf.getUsedMemoryAfter()+ " - freeMemoryAfter=" + perf.getFreeMemoryAfter() +" - totalMemoryAfter=" + perf.getTotalMemoryAfter(); > LogViewsPlugin.log(new Status(IStatus.INFO, LogViewsPlugin.PLUGIN_ID, IStatus.INFO, msg, null)); > } >-// if(result != null){ >-// result.clear(); >-// result = null; >-// } >+ //avoid keeping any cached events, set reference to events list to null >+ listToAnalyze = null;//bugzilla 210177 > } > }); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 210177
:
83152
| 83164 |
83934
|
83935
|
83936