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

Emmanuel Lecharny closed DIRMINA-81.
------------------------------------


> race condition in SocketConnector::connect
> ------------------------------------------
>
>                 Key: DIRMINA-81
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-81
>             Project: MINA
>          Issue Type: Bug
>    Affects Versions: 0.7.3
>            Reporter: Rodrigo Kumpera
>            Assignee: Trustin Lee
>             Fix For: 0.7.4
>
>
> The problem happens in the connect method when the selector is waken up. The 
> following scenario will show the error:
> main-thread:
> -acquire "this" monitor
> -acquire "connectQueue" monitor
> -push the new request
> -release "connectQueue" monitor
> -call startupWorker() -> this will create the Selector and the Worker thread
> -release  "this" monitor
> worker thread:
> -process the required connect request
> -acquire "SocketConnector.this" monitor
> -close the selector and assign null
> -thread dies
> main thread:
> -tries to call selector.wakeup() and get a NullPointerException
> This problem can be reproduced easily with the help of a debugger, put a 
> breakpoint on "selector.wakeup()" and wait for the Worker thread to die.
> It seens that SocketConnector wan´t made with the purpoise of handling a lot 
> of connect() calls, but more like a single shot thing. It should behave more 
> like a Service.

-- 
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