[ 
https://issues.apache.org/jira/browse/HTTPCORE-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485641
 ] 

Anders Wallgren commented on HTTPCORE-58:
-----------------------------------------

There seems to be a race condition in BufferingHttpClientHandler.submitRequest 
-- either that's OK and the assertion in 
DefaultNHttpClientConnection.submitRequest is the problem, or the race 
condition itself is a bug.

The test I wrote that triggers the assertion waits for a latch to drop in my 
submitRequest handler, then closes the connection.  Since the latch drops 
immediately before my submitRequest handler returns, the race is on...  If the 
connection is closed before BufferingHttpClientHandler.submitRequest actually 
calls NHttpClientConnection.submitRequest a few lines later (line 354, to be 
exact), the assertion triggers.


> IllegalStateException after cancelling
> --------------------------------------
>
>                 Key: HTTPCORE-58
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-58
>             Project: HttpComponents Core
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0-alpha4
>         Environment: Window Vista
>            Reporter: Anders Wallgren
>             Fix For: 4.0-alpha5
>
>
> Seeing this exception during tests when cancelling:
> 2007-03-14T18:04:39.600 | DEBUG | main          |                             
>                   | AgentManager                   | startCommand: 
> request[agent[localhost:62851],cancel-8]
> cancel
> 2007-03-14T18:04:39.603 | DEBUG | Agent-1       | cancel-8                    
>                   | AgentManager                   | initalizeContext: 
> request[agent[localhost:62851],cancel-8]
> 2007-03-14T18:04:39.605 | DEBUG | Agent-1       | cancel-8                    
>                   | AgentManager                   | submitRequest: 
> request[agent[localhost:62851],cancel-8, connected]
> 2007-03-14T18:04:39.605 | DEBUG | main          |                             
>                   | AgentRequest                   | Cancelling 
> request[agent[localhost:62851],cancel-8, connected] due to 
> com.electriccloud.commander.agent.AgentPingException: testCancel
> 2007-03-14T18:04:39.608 | DEBUG | Agent-1       |                             
>                   | CommanderThread                | Exiting 
> Thread[Agent-1,5,main]
> 2007-03-14T18:04:39.611 | ERROR | Agent-1       |                             
>                   | CommanderThread                | Uncaught exception in 
> Thread[Agent-1,5,main]: java.lang.IllegalStateException: Session request 
> already completed
> java.lang.IllegalStateException: Session request already completed
>     at 
> org.apache.http.impl.nio.reactor.SessionRequestImpl.completed(SessionRequestImpl.java:116)
>     at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processNewChannels(AbstractIOReactor.java:216)
>     at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:124)
>     at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:153)
>     at java.lang.Thread.run(Thread.java:619)
>     at 
> com.electriccloud.util.queue.CommanderThread.run(CommanderThread.java:78)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to