You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Trustin Lee (JIRA)" <ji...@apache.org> on 2008/05/15 09:45:55 UTC

[jira] Updated: (DIRMINA-584) Using apr-transport crashes jvm on Linux

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

Trustin Lee updated DIRMINA-584:
--------------------------------

             Priority: Major  (was: Blocker)
    Affects Version/s:     (was: 2.0.0-M2)
                       2.0.0-M1
        Fix Version/s: 2.0.0-M2

This is not a blocker because you can always revert back to NIO transport.  Thank you for the detailed report.  Let me fix it ASAP.

> 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-M1
>         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
>             Fix For: 2.0.0-M2
>
>
> 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.