hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HTTPCORE-241) "Socket Exception: Bad file number" when passing chunked entity back to response
Date Wed, 24 Nov 2010 14:08:14 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12935329#action_12935329
] 

Oleg Kalnichevski commented on HTTPCORE-241:
--------------------------------------------

>   - ImmutableHttpProcessor references (change back to BasicHttpProcessor?)

Correct

>   - SyncBasicHttpParams references (change back to BasicHttpParams?)

Correct

>   - HttpService constructor has a few more params?

Those extra dependencies can also be injected with setters (deprecated in 4.1)

> (I'm assuming that is possible and simple)?

I _believe_ one can ship a newer version of HttpCore bundled with the application. The app
class loader _should_ pick up newer classes from the app classpath.

> P.S. Do you have any insight into the HttpComponents version that Google
> will use on upcoming versions of Android?

I certainly cannot speak for Google but I can say that, sadly, the situation is a mess. Google's
semi-official take on the situation can be found here [1]. Basically HttpCore/HttpClient are
not a priority for them. At some point they are likely to end up removing HttpClient from
the core Android platform. You may still want to raise an issue with Android project and kindly
ask them to consider upgrading.

Cheers

Oleg

[1] http://markmail.org/message/xjctrn76m3pu44uz

> "Socket Exception: Bad file number" when passing chunked entity back to response
> --------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-241
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-241
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore
>         Environment: Android Froyo 2.2 (FRF50)
> Running as Root on a Nexus One
> I think Android Froyo is running HttpCore 4.0 but not sure. I tried to dump VersionInfo
on several packages but didn't get any info returned.
>            Reporter: John B. Hansen
>
> I'm a new user with HttpCore and didn't know where else to turn for support.. And, this
problem may be my fault...
> Just looking for some suggestions...
> I'm doing a ProxyServer by using a variation of ElementalHttpServer  to send a request
to proxy code.
> The proxy code then makes an actual client request to the target site. The proxy request
gets a response
> back and sets the statusline, headers, and entity back in the original response in the
 handler  (which sends
>  it back to the Browser).
> For simple HTML sites, this works fine. But, on chunked sites (transfer-encoding=chunked)
e.g. www.google.com 
> I'm getting a "Socket Exception: Bad File Number" following the first response back to
the browser i.e.
> 11-17 13:48:05.307: ERROR/MTHttpProxy:(2767): proxyResponse entity is CHUNKED
> 11-17 13:48:05.307: ERROR/MTHttpProxy:(2767): proxyResponse entity is STREAMING
> 11-17 13:48:05.307: ERROR/MTHttpProxy:(2767): ======================= Done Handling Request-Response
=======================
> 11-17 13:48:05.317: ERROR/MTHttpProxy:(2767): ERROR: I/O error from call to handle request:
Bad file number
> 11-17 13:48:05.317: WARN/System.err(2767): java.net.SocketException: Bad file number
> 11-17 13:48:05.327: WARN/System.err(2767):     at org.apache.harmony.luni.platform.OSNetworkSystem.readSocketImpl(Native
Method)
> 11-17 13:48:05.327: WARN/System.err(2767):     at org.apache.harmony.luni.platform.OSNetworkSystem.read(OSNetworkSystem.java:358)
> 11-17 13:48:05.327: WARN/System.err(2767):     at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:561)
> 11-17 13:48:05.327: WARN/System.err(2767):     at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:88)
> 11-17 13:48:05.327: WARN/System.err(2767):     at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
> 11-17 13:48:05.327: WARN/System.err(2767):     at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:134)
> 11-17 13:48:05.337: WARN/System.err(2767):     at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:161)
> 11-17 13:48:05.337: WARN/System.err(2767):     at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:175)
> 11-17 13:48:05.337: WARN/System.err(2767):     at org.apache.http.entity.BasicHttpEntity.writeTo(BasicHttpEntity.java:129)
> 11-17 13:48:05.337: WARN/System.err(2767):     at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:97)
> 11-17 13:48:05.337: WARN/System.err(2767):     at org.apache.http.impl.AbstractHttpServerConnection.sendResponseEntity(AbstractHttpServerConnection.java:182)
> 11-17 13:48:05.337: WARN/System.err(2767):     at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:209)
> 11-17 13:48:05.337: WARN/System.err(2767):     at com.test.MultiHttpProxy$WorkerThread.run(MultiHttpProxy.java:446)
> BTW: I have no reason to suspect bugs in the Chunk handling. I'm just not seeing this
on the few non-chunked sites I've tested.
> Any ideas what could be wrong or how to debug? Any advice appreciated....Thanks!
> PS, if anyone can clarify the version of HttpComponents on Android 2.2 also, that would
be great. Thx.

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message