[
https://issues.apache.org/jira/browse/HTTPCLIENT-1133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski resolved HTTPCLIENT-1133.
-------------------------------------------
Resolution: Won't Fix
Michael
AbstractPooledConnAdapter has been deprecated in the 4.2 branch and I simply
see no way of fixing it without breaking the API compatibility. The fix would
involve making a non-final variable final.
The problem should no longer occur with the new pooling connection manager.
As soon as HttpClient 4.2-alpha1 is out, please give it a try.
Oleg
> Super rare NPE in AbstractPooledConnAdapter
> -------------------------------------------
>
> Key: HTTPCLIENT-1133
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1133
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.1.1
> Environment: Android. Using repackaged httpcore 4.1.1 in an app
> obfuscated with Proguard.
> Reporter: Michael Pujos
> Priority: Minor
>
> I've got 1 report of exception below:
> java.lang.NullPointerException
> at
> com.bubblesoft.org.apache.http.impl.conn.AbstractPooledConnAdapter.getRoute(SourceFile:114)
> at
> com.bubblesoft.org.apache.http.client.protocol.RequestClientConnControl.process(SourceFile:84)
> at
> com.bubblesoft.org.apache.http.protocol.ImmutableHttpProcessor.process(SourceFile:108)
> at
> com.bubblesoft.org.apache.http.protocol.HttpRequestExecutor.preProcess(SourceFile:174)
> at
> com.bubblesoft.org.apache.http.impl.client.DefaultRequestDirector.execute(SourceFile:457)
> Here's the line:
> public HttpRoute getRoute() {
> AbstractPoolEntry entry = getPoolEntry();
> assertValid(entry);
> return (entry.tracker == null) ? null : entry.tracker.toRoute();
> // <= NPE here
> }
> Looking briefly at the code and if the stack trace is legit (it seems to be),
> the only possible cause of a NPE on this line
> is if entry.tracker becomes null after the test entry.tracker == null
> happens. It seems this could happen in the case the request is aborted and
> AbstractPoolEntry.shutdownEntry() is
> called in between, in another thread:
> protected void shutdownEntry() {
> tracker = null;
> state = null;
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]