hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John B. Hansen (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 01:04:18 GMT

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

John B. Hansen commented on HTTPCORE-241:

Hi Oleg,

  I took your advice and downloaded 4.1 on the desktop and worked on a fresh
build environment using J2SE It has worked like you said.

   - The transfer encoding: chunked site worked fine
   - I was also able to make other proxy changes successfully avoiding the
   bad file number socket problems (below).

But, I still need to port 4.1 now to Android. I'm wondering if I still have
to do that because the only unresolved references
in my new code (relative to 40-beta2) are:

   - ImmutableHttpProcessor references (change back to BasicHttpProcessor?)
   - SyncBasicHttpParams references (change back to BasicHttpParams?)
   - HttpService constructor has a few more params?

I realize the 40-beta2 code is old but it is still installed on all the
ANdroid 2.2 phones. Wondering if you strongly
recommend the 4.1 porting? If you do, is that just a matter of importing the
4.1 JAR and establishing
a new namespace for it so it doesn't conflict with the HttpComponent code in
ANdroid 2.2
(I'm assuming that is possible and simple)?

Anyway, let me know what you think. I really appreciate all your help and I
can close my earlier bug if you like.


P.S. Do you have any insight into the HttpComponents version that Google
will use on upcoming versions of Android?
I understand if you don't or cannot comment.

On Wed, Nov 17, 2010 at 2:45 PM, Oleg Kalnichevski (JIRA)

> "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
> 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

View raw message