[ 
https://issues.apache.org/jira/browse/ODFTOOLKIT-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15545001#comment-15545001
 ] 

Daniel Fernández commented on ODFTOOLKIT-300:
---------------------------------------------

Memory leak confirmed in simple-odf 0.8.2-incubating-SNAPSHOT (as of 
2016-10-04) on a large production application with high load of document 
handling.  The "Selection.SelectionManager.repository" variable can easily 
exceed 1GB in memory. 

Note the contents of the "Selection.SelectionManager.repository" Hashtable (or 
the Hashtable object itself) cannot be GC'ed because it is a static variable in 
a static class, using hard links.

Muito obrigado @surfx pelo workaround.



> Memory Leak in ODF Simple API
> -----------------------------
>
>                 Key: ODFTOOLKIT-300
>                 URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-300
>             Project: ODF Toolkit
>          Issue Type: Bug
>          Components: simple api
>    Affects Versions: 0.5-incubating
>         Environment: odfdom-java-0.8.7.jar; simple-odf-0.6.6.jar
>            Reporter: Mathias Silbermann
>            Assignee: Devin Han
>         Attachments: MemoryLeak_300.java, TestTextSelection.odt
>
>
> There is a memory leak in the ODF Simple API. I tried both, versions 0.6.6 
> and 0.6.5. It appears when running code like the examples on cookbook page
> http://incubator.apache.org/odftoolkit/simple/document/cookbook/Manipulate%20TextSearch.html
> In short, the call TextNavigation.nextSelection() leads to the leak. When you 
> look down the method's call stack, you will find that items are added to the 
> static variable "repository" of the static inner class 
> "Selection.SelectionManager". The added items are never removed from the 
> repository. One indication is that the method 
> Selection.SelectionManager.unregisterItem() is never called.
> The code works fine if text navigation is done with few documents. But when 
> its run on a server thousands of times, it will fill the JVMs memory.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to