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

saroja nidadavolu updated HTTPASYNC-151:
----------------------------------------
    Affects Version/s:     (was: 4.1.4)
                       4.1.2

> MainClientExec.prepare() throws java.lang.IndexOutOfBoundsException: Index: 
> 0, Size: -1
> ---------------------------------------------------------------------------------------
>
>                 Key: HTTPASYNC-151
>                 URL: https://issues.apache.org/jira/browse/HTTPASYNC-151
>             Project: HttpComponents HttpAsyncClient
>          Issue Type: Bug
>    Affects Versions: 4.1.2
>            Reporter: saroja nidadavolu
>            Priority: Major
>             Fix For: 4.1.5
>
>
> There is a server which connects to third party server to fetch valid HTTP 
> response.
> Configured a thread pool of size 2 and trying to get the response through 
> future get and then facing IndexOutOfBoundsException: Index: 0, Size: -1. 
> Issue is seen *intermittently*.  
>  
> {code:java}
>  // My lines of code where issue is seen
>  public Object processRequest() throws Exception {
>  ..
>  ..
>  Future<HttpResponse> future = httpclient.execute(httpReq, context, null);
>  httpResponse = future.get();
>  ..
>  ..
> }{code}
> As a java developer, I have never seen IIndexOutOfBoundsException with size 
> of -1, so only thing I can guess is that the List is not being used in thread 
> safe manner(redirectLocations in MainClientExec.java), corrupting the list.
>  
>  
> Stack trace:
> java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: 
> Index: 0, Size: -1
>  at org.apache.http.concurrent.BasicFuture.getResult(BasicFuture.java:70)
>  at org.apache.http.concurrent.BasicFuture.get(BasicFuture.java:80)
>  at 
> com.bwinparty.apicontainer.outbound.rest.httpasync.HttpAsyncClientProcessor.processRequest(HttpAsyncClientProcessor.java:272)
>  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: -1
>  at java.util.AbstractList.rangeCheckForAdd(AbstractList.java:605)
>  at java.util.AbstractList.listIterator(AbstractList.java:325)
>  at java.util.AbstractList.removeRange(AbstractList.java:568)
>  at java.util.AbstractList.clear(AbstractList.java:234)
>  at 
> org.apache.http.impl.nio.client.MainClientExec.prepare(MainClientExec.java:135)
>  at 
> org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.start(DefaultClientExchangeHandlerImpl.java:124)
>  at 
> org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:141)
>  at 
> org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:74)
>  at 
> org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:107)
>  at 
> com.bwinparty.apicontainer.outbound.rest.httpasync.HttpAsyncClientProcessor.processRequest(HttpAsyncClientProcessor.java:271)
>  ... 15 more
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to