| Summary: | Potential memory leak when closing Sirius session | ||
|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Pierre Guilet <pierre.guilet> |
| Component: | Core | Assignee: | Project inbox <sirius.core-inbox> |
| Status: | CLOSED FIXED | QA Contact: | Julien Dupont <julien.dupont> |
| Severity: | normal | ||
| Priority: | P3 | CC: | julien.dupont, maxime.porhel, pierre-charles.david |
| Version: | 4.1.1 | Keywords: | triaged |
| Target Milestone: | 5.1.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
https://git.eclipse.org/r/87800 https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=e9a585867ce24852f0d9473b614e8cefb5fd987e |
||
| Whiteboard: | |||
|
Description
Pierre Guilet
Also when closing the Sirius session, we call the method org.eclipse.sirius.business.internal.session.danalysis.Saver.dispose() on the session's Saver object. But this method does not clear the Saver's transactional editing domain and the resource set inside. The Saver is also not set to null in the session org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl So if for any reason the session is kept in memory for example in a provided menu action having such a reference that is not cleared when closing the session, then we have a memory leak. New Gerrit change created: https://git.eclipse.org/r/87800 Hi Pierre, Thanks for the detail bug report, analysis and draft patch. Gerrit change https://git.eclipse.org/r/87800 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=e9a585867ce24852f0d9473b614e8cefb5fd987e Fixed by e9a585867ce24852f0d9473b614e8cefb5fd987e. This is a rather technical issue, which was difficult to reproduce and to observe when it happens (it requires analysing a memory snapshot), but the patch seems safe enough. No tests (manual or otherwise) or validation needed. Available in Sirius 5.1.0, see https://wiki.eclipse.org/Sirius/5.1.0. |