You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2016/08/25 14:05:21 UTC

[jira] [Resolved] (DIRMINA-1042) Epoll spinning causes memory leak

     [ https://issues.apache.org/jira/browse/DIRMINA-1042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny resolved DIRMINA-1042.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.0.14

The loop was way too rigid, creating a new Selector whenever the {{select()}} was returning 0 with a delta of 0. That would lead to some heavy CPU usage.

Giving a chance for the loop to retry a few times solve this issue : most of the time, retrying a select immediately simply work. Now, we try up to 10 times before bailing out and creating a new Selector

> Epoll spinning causes memory leak
> ---------------------------------
>
>                 Key: DIRMINA-1042
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1042
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.13
>         Environment: Linux 2.6.18-409.el5 
>            Reporter: Eric Lapierre
>             Fix For: 2.0.14
>
>         Attachments: Screen Shot 2016-08-16 at 11.02.14 AM.png
>
>
> We get a lot of occurrences of this message : "Create a new selector. Selected is 0, delta = 0"
> accompanied with a memory leak.  The SelectionKeyImpl in the fdToKey HashMap of the EPollSelectorImpl don't get remove.
> I suspect that the registerNewSelector() method in the org.apache.mina.transport.socket.nio.NioProcessor class should cancel the key.



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