Using apr-transport crashes jvm on Linux
----------------------------------------
Key: DIRMINA-584
URL: https://issues.apache.org/jira/browse/DIRMINA-584
Project: MINA
Issue Type: Bug
Components: Transport
Affects Versions: 2.0.0-M2
Environment: Linux jellikit 2.6.24-16-generic #1 SMP Thu Apr 10
13:23:42 UTC 2008 i686 GNU/Linux
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)
tomcat-native-1.1.13
apr-1.2.11
Reporter: Geoff Cadien
Priority: Blocker
To reproduce you can simply run the EchoServer from mina-example and use
AprIoAcceptor instead of NioAcceptor. I used the EchoClient from Julien
Vermillard's sandbox here:
https://svn.apache.org/repos/asf/mina/sandbox/jvermillard/ and used 20 or 30
concurrent connections.
AprIoProcessor.destroy() is called multiple times when an exception is
generated in AbstractPollingIoProcessor (RST, etc.) and either epoll or apr
doesn't like to remove a closed fd from the pollset. I believe that destroy is
called twice because AprIoProcessor.state() returns SessionState.OPEN when the
native fd is > 0. I don't believe once open it will ever be 0 again.
I was able to fix the problem by explicitly settion AprSession.descriptor to 0
after the socket was closed although I'm not sure this is the correct solution.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.