Hi Supun, Oleg
When a response is written back to the client the chunking was incorrect. All
the communications were done through HTTPS. Do you think the same problem is
there in the client side of the HTTPCore NIO as well?
I've encountered the following stack trace with 4.1-beta1 from a user
over HTTP, which possibly indicates some issue with the chunk encoder.
I've been trying to reproduce this with a test case, but I've not been
able to yet.. Right now I'm fiddling with the test case for the chunk
encoder to see how the limit of the buffer is exceeded..
Oleg - looking at the following trace, could you spot something here?
Supun - do you have a stacktrace when you say that the "chunking was
incorrect" ?
thanks
asankha
2010-10-13 12:35:37,906 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
HTTP/1.1 200 OK
2010-10-13 12:35:37,906 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Content-Disposition: attachment; filename="gsoap.tar.gz"
2010-10-13 12:35:37,906 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Accept-Ranges: bytes
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Content-Type: application/x-gzip
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Content-Range: 0-30354306/30354307
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Date: Wed, 13 Oct 2010 18:35:37 GMT
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Server: UltraESB/1.2.0 (GA)
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Transfer-Encoding: chunked
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Content-Encoding: gzip
2010-10-13 12:35:37,907 [-] [L-I/O dispatcher 1] DEBUG headers SND <-
Connection: keep-alive
2010-10-13 12:35:37,964 [-] [L-I/O dispatcher 1] WARN HttpNIOListener
System may be unstable: IOReactor encountered a runtime exception : null
java.lang.IllegalArgumentException
at java.nio.Buffer.limit(Buffer.java:249)
at org.apache.http.impl.nio.codecs.ChunkEncoder.write(ChunkEncoder.java:99)
at
org.adroitlogic.ultraesb.transport.http.compress.GzipCompressingEntity$1.write(GzipCompressingEntity.java:89)
at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:161)
at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:118)
at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72)
at
org.adroitlogic.ultraesb.transport.http.compress.GzipCompressingEntity.writeTo(GzipCompressingEntity.java:78)
at
org.adroitlogic.ultraesb.transport.http.compress.GzipCompressingEntity.produceContent(GzipCompressingEntity.java:85)
--
Asankha C. Perera
AdroitLogic, http://adroitlogic.org
http://esbmagic.blogspot.com