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.

Reply via email to