[ https://issues.apache.org/jira/browse/HTTPCLIENT-776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12598357#action_12598357 ]
Sam Berlin commented on HTTPCLIENT-776: --------------------------------------- The NPE can happen if another thread calls AbortableHttpRequest.abort() while AbstractPoolEntry is in the process of opening. The abort flow is: HttpRequestBase.abort -> ConnectionReleaseTrigger.abortConnection -> AbstractClientConnAdapter.abortConnection -> AbstractPooledConnAdapter.shutdown -> AbstractPoolEntry.resetTrackedRoute The request flow can get into open() from another thread, leaving it open to tracker becoming null at any time. ... not completely sure right now how to fix it. > NPE w/ AbstractPoolEntry.open > ----------------------------- > > Key: HTTPCLIENT-776 > URL: https://issues.apache.org/jira/browse/HTTPCLIENT-776 > Project: HttpComponents HttpClient > Issue Type: Bug > Affects Versions: 4.0 Alpha 4 > Reporter: Sam Berlin > > java.lang.NullPointerException > at > org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:171) > at > org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) > at > org.apache.http.impl.client.DefaultClientRequestDirector.execute(DefaultClientRequestDirector.java:309) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:501) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:456) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:422) > at > com.limegroup.gnutella.http.DefaultHttpExecutor.performRequest(DefaultHttpExecutor.java:97) > at > com.limegroup.gnutella.http.DefaultHttpExecutor.access$000(DefaultHttpExecutor.java:26) > at > com.limegroup.gnutella.http.DefaultHttpExecutor$MultiRequestor.run(DefaultHttpExecutor.java:135) > at > org.limewire.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1006) > at > org.limewire.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:549) > at java.lang.Thread.run(Unknown Source) > Seeing a lot of these against Alpha4. Also seeing still the occassional > IllegalStateException of: > java.lang.IllegalStateException: Connection already open. > at > org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:150) > at > org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) > at > org.apache.http.impl.client.DefaultClientRequestDirector.execute(DefaultClientRequestDirector.java:309) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:501) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:456) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:422) > at > com.limegroup.gnutella.http.DefaultHttpExecutor.performRequest(DefaultHttpExecutor.java:97) > at > com.limegroup.gnutella.http.DefaultHttpExecutor.access$000(DefaultHttpExecutor.java:26) > at > com.limegroup.gnutella.http.DefaultHttpExecutor$MultiRequestor.run(DefaultHttpExecutor.java:135) > at > org.limewire.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1006) > at > org.limewire.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:549) > at java.lang.Thread.run(Unknown Source) -- 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]