"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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to