openjdk team mailing list archive
-
openjdk team
-
Mailing list archive
-
Message #08006
[Bug 995000] [NEW] Java: Exception in light weight http server code
Public bug reported:
The sun.net.httpserver randomly fails with
java.lang.ArrayIndexOutOfBoundsException: 4104 at
sun.net.httpserver.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:120)
- full stack trace below.
In essence a combination of writes to the class can end up leaving the
ChunkedOutputStream with exactly CHUNK_SIZE bytes in, and a further
write will under various circumstances overfill the buffer. This will
then cause an exception with the chunk is written.
This bug is documented at Sun/Oracle with bug number #6744329:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6744329
The patch to fix it is here:
http://hg.openjdk.java.net/jdk7/jsn/jdk/rev/b0378bb50d83
The bug at Sun marks this fixed as follows:
Release Fixed 7(b37), 6u18(b03) (Bug ID:2183328)
However, despite the 6u18(b03) tag above, the Ubuntu source the current
Lucide openjdk build (openjdk-6_6b20-1.9.13-0ubuntu1~10.04.1) does not
contain the relevant patch. My reading of the the relevant Java version
numbers (which might not be correct) is that it should contain this
patch (18<20), so it appears to have dropped somewhere.
As the effects are serious (random failure of http server), and the
patch is upstream, has been around since Sep 2008, and is obviously
correct, I am asking for an SRU.
I have verified this problem on Lucid. I have not verified on Maverick,
Natty, or Oneiric, but I expect it is the same. I have not verified it
on Precise, though I think that might have openjdk 7 on.
Full stack trace:
May 3 16:01:19 extility-qav-2kvm jade: java.lang.ArrayIndexOutOfBoundsException: 4104
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:120)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ChunkedOutputStream.flush(ChunkedOutputStream.java:156)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ChunkedOutputStream.close(ChunkedOutputStream.java:131)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.PlaceholderOutputStream.close(ExchangeImpl.java:421)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ExchangeImpl.close(ExchangeImpl.java:141)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.HttpExchangeImpl.close(HttpExchangeImpl.java:67)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:100)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:80)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:83)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:72)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:86)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:589)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:83)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:561)
May 3 16:01:19 extility-qav-2kvm jade: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
May 3 16:01:19 extility-qav-2kvm jade: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
May 3 16:01:19 extility-qav-2kvm jade: at java.lang.Thread.run(Thread.java:636)
** Affects: openjdk-6 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in Ubuntu.
https://bugs.launchpad.net/bugs/995000
Title:
Java: Exception in light weight http server code
Status in “openjdk-6” package in Ubuntu:
New
Bug description:
The sun.net.httpserver randomly fails with
java.lang.ArrayIndexOutOfBoundsException: 4104 at
sun.net.httpserver.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:120)
- full stack trace below.
In essence a combination of writes to the class can end up leaving the
ChunkedOutputStream with exactly CHUNK_SIZE bytes in, and a further
write will under various circumstances overfill the buffer. This will
then cause an exception with the chunk is written.
This bug is documented at Sun/Oracle with bug number #6744329:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6744329
The patch to fix it is here:
http://hg.openjdk.java.net/jdk7/jsn/jdk/rev/b0378bb50d83
The bug at Sun marks this fixed as follows:
Release Fixed 7(b37), 6u18(b03) (Bug ID:2183328)
However, despite the 6u18(b03) tag above, the Ubuntu source the
current Lucide openjdk build (openjdk-6_6b20-1.9.13-0ubuntu1~10.04.1)
does not contain the relevant patch. My reading of the the relevant
Java version numbers (which might not be correct) is that it should
contain this patch (18<20), so it appears to have dropped somewhere.
As the effects are serious (random failure of http server), and the
patch is upstream, has been around since Sep 2008, and is obviously
correct, I am asking for an SRU.
I have verified this problem on Lucid. I have not verified on
Maverick, Natty, or Oneiric, but I expect it is the same. I have not
verified it on Precise, though I think that might have openjdk 7 on.
Full stack trace:
May 3 16:01:19 extility-qav-2kvm jade: java.lang.ArrayIndexOutOfBoundsException: 4104
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:120)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ChunkedOutputStream.flush(ChunkedOutputStream.java:156)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ChunkedOutputStream.close(ChunkedOutputStream.java:131)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.PlaceholderOutputStream.close(ExchangeImpl.java:421)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ExchangeImpl.close(ExchangeImpl.java:141)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.HttpExchangeImpl.close(HttpExchangeImpl.java:67)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:100)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:80)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:83)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:72)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:86)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:589)
May 3 16:01:19 extility-qav-2kvm jade: at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:83)
May 3 16:01:19 extility-qav-2kvm jade: at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:561)
May 3 16:01:19 extility-qav-2kvm jade: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
May 3 16:01:19 extility-qav-2kvm jade: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
May 3 16:01:19 extility-qav-2kvm jade: at java.lang.Thread.run(Thread.java:636)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/995000/+subscriptions
Follow ups
References