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