[
https://issues.apache.org/jira/browse/DIRMINA-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny updated DIRMINA-1037:
---------------------------------------
Fix Version/s: (was: 2.0.15)
2.0.14
> Throw exception in NioProcessor.write if the session is closing
> ---------------------------------------------------------------
>
> Key: DIRMINA-1037
> URL: https://issues.apache.org/jira/browse/DIRMINA-1037
> Project: MINA
> Issue Type: Bug
> Components: Core, Protocol - HTTP, Transport
> Affects Versions: 2.0.13
> Environment: Windows Server 2012 R2
> mina-core 2.0.13
> Reporter: Dave Heath
> Fix For: 2.0.14
>
> Attachments: throw_exception_when_closing.patch
>
>
> There seems to be a race condition where NioProcessor.write() can be called
> after the session has been marked as closing. This causes the session to
> remain open indefinitely, because it is waiting to finish writing before it
> closes. Over time, this causes memory issues as the number of sessions stuck
> open grows indefinitely (particularly because these sessions are using SSL).
> I'm attaching a patch that fixes the problem. It simply throws an exception
> if the session is already marked as closing when write() is called.
> This only seems to be an issue on Windows; I can't reproduce it on Unix
> systems. It also involves a problematic client that sends a RST packet as
> soon as it's done sending data to our HTTPS server; this sometimes causes the
> session to start closing before all of the data has been received.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)