[Bug 62626] New: Tomcat 9.0.10 APR/Native crashes

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62626

Bug ID: 62626
   Summary: Tomcat 9.0.10 APR/Native crashes
   Product: Tomcat Native
   Version: 1.2.17
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Library
  Assignee: dev@tomcat.apache.org
  Reporter: jan.pfei...@centrum.cz
  Target Milestone: ---

Hello,

since upgrade to Tomcat 9 and switching to APR Tomcat regularly crashes.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc005) at pc=0x0001800e6fc9, pid=19764,
tid=51640
#
# JRE version: Java(TM) SE Runtime Environment (10.0.2+13) (build 10.0.2+13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (10.0.2+13, mixed mode, tiered,
compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [tcnative-1.dll+0xe6fc9]
#
# Core dump will be written. Default location: C:\Program Files\Apache Tomcat
9.0 Shop 4\hs_err_pid19764.mdmp
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---  S U M M A R Y 

Command Line: -Dcatalina.home=C:\Program Files\Apache Tomcat 9.0 Shop 4
-Dcatalina.base=C:\Program Files\Apache Tomcat 9.0 Shop 4
-Djava.io.tmpdir=C:\Program Files\Apache Tomcat 9.0 Shop 4\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms512M
-Xmx4500M -Duser.language=cs -Duser.region=CZ
-Djava.util.logging.config.file=C:\Program Files\Apache Tomcat 9.0 Shop
4\conf\logging.properties --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-modules=java.se.ee
exit abort -Xms515m -Xmx4000m 

Host: Intel(R) Xeon(R) CPU E5-4610 v2 @ 2.30GHz, 8 cores, 15G,  Windows Server
2012 , 64 bit Build 9200 (6.2.9200.16384)
Time: Wed Aug 15 08:56:53 2018 Central Europe Daylight Time elapsed time: 37881
seconds (0d 10h 31m 21s)

---  T H R E A D  ---

Current thread (0x33149800):  JavaThread
"https-openssl-apr-443-exec-132" daemon [_thread_in_native, id=51640,
stack(0x396e,0x397e)]

Stack: [0x396e,0x397e],  sp=0x397dea50,  free
space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [tcnative-1.dll+0xe6fc9]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 15519  org.apache.tomcat.jni.SSLSocket.handshake(J)I (0 bytes) @
0x15a94401 [0x15a943c0+0x0041]
J 20374 c2
org.apache.tomcat.util.net.AprEndpoint.setSocketOptions(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Z
(347 bytes) @ 0x165e540c [0x165e5320+0x00ec]
J 20186 c2
org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run()V (199
bytes) @ 0x1657f10c [0x1657f040+0x00cc]
J 20687 c2
java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
java.base@10.0.2 (187 bytes) @ 0x166e3980
[0x166e37a0+0x01e0]
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@10.0.2
j  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
J 20564 c2 java.lang.Thread.run()V java.base@10.0.2 (17 bytes) @
0x16507024 [0x16506fc0+0x0064]
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_ACCESS_VIOLATION (0xc005), reading address
0x00f0 
...
---  S Y S T E M  ---

OS: Windows Server 2012 , 64 bit Build 9200 (6.2.9200.16384)

CPU:total 8 (initial active 8) (2 cores per cpu, 1 threads per core) family 6
model 62 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1,
sse4.2, popcnt, avx, aes, clmul, erms, tsc

Memory: 4k page, physical 16776756k(8895804k free), swap 31456820k(18806572k
free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (10.0.2+13) for windows-amd64 JRE
(10.0.2+13), built on Jun 28 2018 01:57:56 by "mach5one" with MS VC++ 12.0
(VS2013)

END.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62626] Tomcat 9.0.10 APR/Native crashes

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62626

jan.pfei...@centrum.cz changed:

   What|Removed |Added

 OS||All
 CC||jan.pfei...@centrum.cz

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62626] Tomcat 9.0.10 APR/Native crashes

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62626

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |NEEDINFO

--- Comment #1 from Mark Thomas  ---
I haven't seen any APR crashes for a while now on any platform.

Some indication of how to reproduce this crash is going to be needed to
investigate this further.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62626] Tomcat 9.0.10 APR/Native crashes

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62626

--- Comment #2 from jan.pfei...@centrum.cz ---
It happens several times a day or even several times a hour. But it happens in
random manner. No single particular request can do it. 

There are no clues in logs. At least for me. I have one qutie busy image
serving servlet which produces tons of different client abort exceptions,
closeNowException, Stream is not writable etc.

I can only guess it is about concurent access to it. I have other logs
available, if you want to look.

After latest crash i have found this (only relevant log output before crash):

Caused by: java.io.IOException: Unexpected error [120,001] writing data to the
APR/native socket [975,220,944] with wrapper
[org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@1ce3e909:975220944].
at
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.doWriteInternal(AprEndpoint.java:2712)
at
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.doWrite(AprEndpoint.java:2640)
at
org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:691)
at
org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:628)
at
org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:618)
at
org.apache.coyote.http2.Http2UpgradeHandler.writeBody(Http2UpgradeHandler.java:653)
at
org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:777)
at
org.apache.coyote.http2.Stream$StreamOutputBuffer.doWrite(Stream.java:734)
at
org.apache.coyote.http2.Http2OutputBuffer.doWrite(Http2OutputBuffer.java:59)
at org.apache.coyote.Response.doWrite(Response.java:599)
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:328)

Do you want me to run some specific test or post server config or other logs?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62626] Tomcat 9.0.10 APR/Native crashes

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62626

--- Comment #3 from Christopher Schultz  ---
(In reply to jan.pfeifer from comment #2)
> It happens several times a day or even several times a hour.

At least it's reproducible, even if you can't guarantee a trigger.

> After latest crash i have found this (only relevant log output before crash):
> 
> Caused by: java.io.IOException: Unexpected error [120,001] writing data to
> the APR/native socket [975,220,944] with wrapper
> [org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@1ce3e909:975220944].

That error code [120001] is:

   APR_UTIL_START_STATUS  (10)
+ APR_OS_START_ERROR  ( 2)
+(os error code)  ( 1)

The OS error code is, unhelpfully, "Operation not permitted", at least on *NIX.
I'm not sure how that maps to Windows, which usually has error codes with
negative values.

Are you maybe trying to write-back to a socket which should be closed?

Is this NIO+OpenSSL or APR+OpenSSL? I'm guessing APR+OpenSSL. Are you able to
try using NIO+JSSE or NIO+OpenSSL?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1838100 - /tomcat/trunk/webapps/docs/changelog.xml

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 14:50:06 2018
New Revision: 1838100

URL: http://svn.apache.org/viewvc?rev=1838100&view=rev
Log:
Correct changelog

Modified:
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1838100&r1=1838099&r2=1838100&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Aug 15 14:50:06 2018
@@ -47,8 +47,10 @@
 
   
 
-  Fix potential deadlocks when using asynchronous Servlet processing with
-  HTTP/2 connectors. (markt)
+  
+Fix potential deadlocks when using asynchronous Servlet processing with
+HTTP/2 connectors. (markt)
+  
 
   
   



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62626] Tomcat 9.0.10 APR/Native crashes

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62626

--- Comment #4 from jan.pfei...@centrum.cz ---
(In reply to Christopher Schultz from comment #3)

Current configuration is for HTTP/2 so APR+openSSL

 
   






I am using Spring framework, so only "direct write" is when i manualy read
images and write them to the response output stream. There is also synchronized
block where current thread checks if requested image is being resized. if so
then it waits on task to finish. Actual code:

//tasks is ConcurentHashMap
try {
String syncKey = target.getAbsolutePath();
Thread task;

synchronized (this) {
task = tasks.get(syncKey);
if (task == null && !target.exists()) {
//debug("START", request);
ResizeTask resizeTask = new ResizeTask(source, target,
size);
resizeTask.setDebug(isDebug);
resizeTask.setLink(getFullURL(request));
task = new Thread(resizeTask);
tasks.put(syncKey, task);
task.start();
}
}

if(task != null) task.join();
tasks.remove(syncKey);
//debug("FINISH "+(System.currentTimeMillis() - time),
request);

} catch (InterruptedException e) {
e.printStackTrace();
}


But it seems lower level problem. To answer your question, yes i can try NIO(2)
jsse/openssl.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1838101 - in /tomcat/tc8.5.x/trunk: ./ webapps/docs/changelog.xml

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 14:51:30 2018
New Revision: 1838101

URL: http://svn.apache.org/viewvc?rev=1838101&view=rev
Log: (empty)

Modified:
tomcat/tc8.5.x/trunk/   (props changed)
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug 15 14:51:30 2018
@@ -1,2 +1,2 @@
 /tomcat/tc8.0.x/trunk:1809644
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739492,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409
 
,1741501,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744149,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745535,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747
 
404,1747506,1747536,1747924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756114,1756175,1756288-1
 
756289,1756408-1756410,1756778,1756798,1756878,1756898,1756939,1757123-1757124,1757126,1757128,1757132-1757133,1757136,1757145,1757167-1757168,1757175,1757180,1757182,1757195,1757271,1757278,1757347,1757353-1757354,1757363,1757374,1757399,1757406,1757408,1757485,1757495,1757499,1757527,1757578,1757684,1757722,1757727,1757790,1757799,1757813,1757853,1757883,1757903,1757976,1757997,1758000,1758058,1758072-1758075,1758078-1758079,1758223,1758257,1758261,1758276,1758292,1758369,1758378-1758383,1758421,1758423,1758425-1758427,1758430,1758443,1758448,1758459,1758483,1758486-1758487,1758499,1758525,1758556,1758580,1758582,1758584,1758588,1758842,1759019,1759212,1759224,1759227,1759252,1759274,1759513-1759516,1759611,1759757,1759785-1759790,1760005,1760022,1760109-1760110,1760135,1760200-1760201,1760227,1760300,1760397,1760446,1760454,1760640,1760648,1761057,1761422,1761491,1761498,1761500-1761501,1761550,1761553,1761572,1761574,1761625-1761626,1761628,1761682,1761740,1761752,1762051-176205
 
3,1762123,1762168,1762172,1762182,1762201-1762202,1762204,1762208,1762288,1762296,1762324,1762348,1762353,1762362,1762374,1762492,1762503,1762505,1762541,1762608,1762710,1762753,1762766,1762769,1762944,1762947,1762953,1763167,1763179,1763232,1763259,1763271-1763272,1763276-1763277,1763319-1763320,1763370,1763372,1763375,1763377,1763393,1763412,1763430,1763450,1763462,1763505,1763511-1763512,1763516,1763518,1763520,1763529,1763559,1763565,1763568,1763574,1763619,1763634-1763635,1763718,1763748,1763786,1763798-1763799,

svn commit: r1838104 - in /tomcat/trunk: java/org/apache/coyote/http2/ java/org/apache/tomcat/util/net/ webapps/docs/

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 15:06:56 2018
New Revision: 1838104

URL: http://svn.apache.org/viewvc?rev=1838104&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62620
Fix corruption of response bodies when writing large bodies using asynchronous 
processing over HTTP/2.

Added:
tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java   (with props)
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1838104&r1=1838103&r2=1838104&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Wed Aug 15 15:06:56 
2018
@@ -43,6 +43,7 @@ import org.apache.tomcat.util.buf.Messag
 import org.apache.tomcat.util.http.MimeHeaders;
 import org.apache.tomcat.util.http.parser.Host;
 import org.apache.tomcat.util.net.ApplicationBufferHandler;
+import org.apache.tomcat.util.net.WriteBuffer;
 import org.apache.tomcat.util.res.StringManager;
 
 class Stream extends AbstractStream implements HeaderEmitter {
@@ -712,9 +713,10 @@ class Stream extends AbstractStream impl
 }
 
 
-class StreamOutputBuffer implements HttpOutputBuffer {
+class StreamOutputBuffer implements HttpOutputBuffer, WriteBuffer.Sink {
 
 private final ByteBuffer buffer = ByteBuffer.allocate(8 * 1024);
+private final WriteBuffer writeBuffer = new WriteBuffer(32 * 1024);
 private volatile long written = 0;
 private volatile boolean closed = false;
 private volatile boolean endOfStreamSent = false;
@@ -742,6 +744,7 @@ class Stream extends AbstractStream impl
 // Only flush if we have more data to write and the buffer
 // is full
 if (flush(true, coyoteResponse.getWriteListener() == 
null)) {
+writeBuffer.add(chunk);
 break;
 }
 }
@@ -751,7 +754,33 @@ class Stream extends AbstractStream impl
 }
 
 final synchronized boolean flush(boolean block) throws IOException {
-return flush(false, block);
+/*
+ * Need to ensure that there is exactly one call to flush even when
+ * there is no data to write.
+ * Too few calls (i.e. zero) and the end of stream message is not
+ * sent for a completed asynchronous write.
+ * Too many calls and the end of stream message is sent too soon 
and
+ * trailer headers are not sent.
+ */
+boolean dataLeft = buffer.position() > 0;
+boolean flushed = false;
+
+if (dataLeft) {
+dataLeft = flush(false, block);
+flushed = true;
+}
+
+if (!dataLeft) {
+if (writeBuffer.isEmpty()) {
+if (!flushed) {
+dataLeft = flush(false, block);
+}
+} else {
+dataLeft = writeBuffer.write(this, block);
+}
+}
+
+return dataLeft;
 }
 
 private final synchronized boolean flush(boolean writeInProgress, 
boolean block)
@@ -827,6 +856,23 @@ class Stream extends AbstractStream impl
 public void flush() throws IOException {
 flush(true);
 }
+
+@Override
+public boolean writeFromBuffer(ByteBuffer src, boolean blocking) 
throws IOException {
+int chunkLimit = src.limit();
+int offset = 0;
+while (src.remaining() > 0) {
+int thisTime = Math.min(buffer.remaining(), src.remaining());
+src.limit(src.position() + thisTime);
+buffer.put(src);
+src.limit(chunkLimit);
+written += offset;
+if (flush(true, blocking)) {
+return true;
+}
+}
+return false;
+}
 }
 
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1838104&r1=1838103&r2=1838104&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Aug 15 
15:06:56 2018
@@ -48,7 +48,6 @@ import javax.net.ssl.SSLSession;
 import org.apache.juli.logging.Log;
 import org.apache.juli.log

Re: svn commit: r1838104 - in /tomcat/trunk: java/org/apache/coyote/http2/ java/org/apache/tomcat/util/net/ webapps/docs/

2018-08-15 Thread Mark Thomas
On 15/08/18 16:06, ma...@apache.org wrote:
> Author: markt
> Date: Wed Aug 15 15:06:56 2018
> New Revision: 1838104
> 
> URL: http://svn.apache.org/viewvc?rev=1838104&view=rev
> Log:
> Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62620
> Fix corruption of response bodies when writing large bodies using 
> asynchronous processing over HTTP/2.

There looks to be some opportunities to refactor / clean-up the code
further than this patch does but I wanted to get the actual fix
committed. Clean-up to follow.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1838105 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/coyote/http2/ java/org/apache/tomcat/util/net/ webapps/docs/

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 15:09:22 2018
New Revision: 1838105

URL: http://svn.apache.org/viewvc?rev=1838105&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62620
Fix corruption of response bodies when writing large bodies using asynchronous 
processing over HTTP/2.

Added:
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java
  - copied unchanged from r1838104, 
tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java
Modified:
tomcat/tc8.5.x/trunk/   (props changed)
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/Stream.java
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug 15 15:09:22 2018
@@ -1,2 +1,2 @@
 /tomcat/tc8.0.x/trunk:1809644
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739492,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409
 
,1741501,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744149,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745535,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747
 
404,1747506,1747536,1747924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756114,1756175,1756288-1
 
756289,1756408-1756410,1756778,1756798,1756878,1756898,1756939,1757123-1757124,1757126,1757128,1757132-1757133,1757136,1757145,1757167-1757168,1757175,1757180,1757182,1757195,1757271,1757278,1757347,1757353-1757354,1757363,1757374,1757399,1757406,1757408,1757485,1757495,1757499,1757527,1757578,1757684,1757722,1757727,1757790,1757799,1757813,1757853,1757883,1757903,1757976,1757997,1758000,1758058,1758072-1758075,1758078-1758079,1758223,1758257,1758261,1758276,1758292,1758369,1758378-1758383,1758421,1758423,1758425-1758427,1758430,1758443,1758448,1758459,1758483,1758486-1758487,1758499,1758525,1758556,1758580,1758582,1758584,1758588,1758842,1759019,1759212,1759224,1759227,1759252,1759274,1759513-1759516,1759611,1759757,1759785-1759790,1760005,1760022,1760109-1760110,1760135,1760200-1760201,1760227,1760300,1760397,1760446,1760454,1760640,1760648,1761057,1761422,1761491,1761498,1761500-1761501,1761550,1761553,1761572,1761574,1761625-1761626,1761628,17616

[Bug 62620] Async servlet over HTTP/2 large write data corrupted

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62620

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Mark Thomas  ---
Fixed in:
- trunk for 9.0.12 onwards
- 8.5.x for 8.5.34 onwards

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1838106 - in /tomcat/trunk/java/org/apache/tomcat/util/net: Nio2Endpoint.java WriteBuffer.java

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 15:21:12 2018
New Revision: 1838106

URL: http://svn.apache.org/viewvc?rev=1838106&view=rev
Log:
Reduce code duplication

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1838106&r1=1838105&r2=1838106&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Aug 15 
15:21:12 2018
@@ -32,8 +32,6 @@ import java.nio.channels.CompletionHandl
 import java.nio.channels.FileChannel;
 import java.nio.channels.NetworkChannel;
 import java.nio.file.StandardOpenOption;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
@@ -577,11 +575,7 @@ public class Nio2Endpoint extends Abstra
 } else if (!writeBuffer.isEmpty()) {
 nestedWriteCompletionCount.get().incrementAndGet();
 // Continue writing data using a gathering write
-List arrayList = new ArrayList<>();
-if (attachment.hasRemaining()) {
-arrayList.add(attachment);
-}
-ByteBuffer[] array = 
writeBuffer.transferToListAsArray(arrayList);
+ByteBuffer[] array = 
writeBuffer.toArray(attachment);
 getSocket().write(array, 0, array.length,
 toNio2Timeout(getWriteTimeout()), 
TimeUnit.MILLISECONDS,
 array, gatheringWriteCompletionHandler);
@@ -628,15 +622,9 @@ public class Nio2Endpoint extends Abstra
 if (nBytes.longValue() < 0) {
 failed(new 
EOFException(sm.getString("iob.failedwrite")), attachment);
 } else if (!writeBuffer.isEmpty() || 
arrayHasData(attachment)) {
-// Continue writing data
+// Continue writing data using a gathering write
 nestedWriteCompletionCount.get().incrementAndGet();
-List arrayList = new ArrayList<>();
-for (ByteBuffer buffer : attachment) {
-if (buffer.hasRemaining()) {
-arrayList.add(buffer);
-}
-}
-ByteBuffer[] array = 
writeBuffer.transferToListAsArray(arrayList);
+ByteBuffer[] array = 
writeBuffer.toArray(attachment);
 getSocket().write(array, 0, array.length,
 toNio2Timeout(getWriteTimeout()), 
TimeUnit.MILLISECONDS,
 array, gatheringWriteCompletionHandler);
@@ -1287,12 +1275,7 @@ public class Nio2Endpoint extends Abstra
 if (hasPermit || writePending.tryAcquire()) {
 socketBufferHandler.configureWriteBufferForRead();
 if (!writeBuffer.isEmpty()) {
-// Gathering write of the main buffer plus all 
leftovers
-List arrayList = new ArrayList<>();
-if 
(socketBufferHandler.getWriteBuffer().hasRemaining()) {
-
arrayList.add(socketBufferHandler.getWriteBuffer());
-}
-ByteBuffer[] array = 
writeBuffer.transferToListAsArray(arrayList);
+ByteBuffer[] array = 
writeBuffer.toArray(socketBufferHandler.getWriteBuffer());
 Nio2Endpoint.startInline();
 getSocket().write(array, 0, array.length, 
toNio2Timeout(getWriteTimeout()),
 TimeUnit.MILLISECONDS, array, 
gatheringWriteCompletionHandler);

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java?rev=1838106&r1=1838105&r2=1838106&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java Wed Aug 15 
15:21:12 2018
@@ -18,6 +18,7 @@ package org.apache.tomcat.util.net;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
 import java.util.Iterator;
 i

svn commit: r1838107 - /tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 15:25:17 2018
New Revision: 1838107

URL: http://svn.apache.org/viewvc?rev=1838107&view=rev
Log:
Add missing check

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java?rev=1838107&r1=1838106&r2=1838107&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java Wed Aug 15 
15:25:17 2018
@@ -85,7 +85,9 @@ public class WriteBuffer {
 ByteBuffer[] toArray(ByteBuffer... prefixes) {
 List result = new ArrayList<>();
 for (ByteBuffer prefix : prefixes) {
-result.add(prefix);
+if (prefix.hasRemaining()) {
+result.add(prefix);
+}
 }
 for (ByteBufferHolder buffer : buffers) {
 buffer.flip();



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1838108 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/tomcat/util/net/Nio2Endpoint.java java/org/apache/tomcat/util/net/WriteBuffer.java

2018-08-15 Thread markt
Author: markt
Date: Wed Aug 15 15:26:24 2018
New Revision: 1838108

URL: http://svn.apache.org/viewvc?rev=1838108&view=rev
Log:
Reduce code duplication

Modified:
tomcat/tc8.5.x/trunk/   (props changed)
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/WriteBuffer.java

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug 15 15:26:24 2018
@@ -1,2 +1,2 @@
 /tomcat/tc8.0.x/trunk:1809644
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739492,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409
 
,1741501,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744149,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745535,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747
 
404,1747506,1747536,1747924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756114,1756175,1756288-1
 
756289,1756408-1756410,1756778,1756798,1756878,1756898,1756939,1757123-1757124,1757126,1757128,1757132-1757133,1757136,1757145,1757167-1757168,1757175,1757180,1757182,1757195,1757271,1757278,1757347,1757353-1757354,1757363,1757374,1757399,1757406,1757408,1757485,1757495,1757499,1757527,1757578,1757684,1757722,1757727,1757790,1757799,1757813,1757853,1757883,1757903,1757976,1757997,1758000,1758058,1758072-1758075,1758078-1758079,1758223,1758257,1758261,1758276,1758292,1758369,1758378-1758383,1758421,1758423,1758425-1758427,1758430,1758443,1758448,1758459,1758483,1758486-1758487,1758499,1758525,1758556,1758580,1758582,1758584,1758588,1758842,1759019,1759212,1759224,1759227,1759252,1759274,1759513-1759516,1759611,1759757,1759785-1759790,1760005,1760022,1760109-1760110,1760135,1760200-1760201,1760227,1760300,1760397,1760446,1760454,1760640,1760648,1761057,1761422,1761491,1761498,1761500-1761501,1761550,1761553,1761572,1761574,1761625-1761626,1761628,1761682,1761740,1761752,1762051-176205
 
3,1762123,1762168,1762172,1762182,1762201-1762202,1762204,1762208,1762288,1762296,1762324,1762348,1762353,1762362,1762374,1762492,1762503,1762505,1762541,1762608,1762710,1762753,1762766,1762769,1762944,1762947,1762953,1763167,1763179,1763232,1763259,1763271-1763272,1763276-1763277,1763319-1763320,1763370,1763372,1763375,1763377,1763393,1763412,1763430,1763450,1763462,1763505,1763511-1763512,1763516,1763518

Re: [VOTE] Release Apache Tomcat 9.0.11

2018-08-15 Thread Felix Schumacher



Am 11. August 2018 21:32:01 GMT+01:00 schrieb Mark Thomas :
>The proposed Apache Tomcat 9.0.11 release is now available for voting.
>
>The major changes compared to the 9.0.10 release are:
>
>- Fix issues with Servlet asynchronous listeners when using the
>  asynchronous Servlet API in conjunction with HTTP/2.
>
>- Add a default location for the native library: ${catalina.home}/bin
>
>- Make the Jasper (JSP Engine) Java file generation process
>  multi-threaded. By default, one thread will be used per core.
>  Based on a patch by Dan Fabulich.
>
>
>Along with lots of other bug fixes and improvements.
>
>For full details, see the changelog:
>http://svn.apache.org/repos/asf/tomcat/trunk/webapps/docs/changelog.xml
>
>It can be obtained from:
>https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.11/
>The Maven staging repo is:
>https://repository.apache.org/content/repositories/orgapachetomcat-1191/
>The svn tag is:
>http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_9_0_11/
>
>The proposed 9.0.11 release is:
>[ ] Broken - do not release
>[x] Stable - go ahead and release as 9.0.11

Regards, 
 Felix 

>
>-
>To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>For additional commands, e-mail: dev-h...@tomcat.apache.org

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [VOTE] Release Apache Tomcat 8.5.33

2018-08-15 Thread Felix Schumacher



Am 12. August 2018 09:43:37 GMT+01:00 schrieb Mark Thomas :
>The proposed Apache Tomcat 8.5.33 release is now available for voting.
>
>The major changes compared to the 8.5.32 release are:
>
>- Fix issues with Servlet asynchronous listeners when using the
>  asynchronous Servlet API in conjunction with HTTP/2.
>
>- When pre-compiling with JspC, report all compilation errors rather
>  than stopping after the first error. A new option -failFast can be
>  used to restore the previous behaviour of stopping after the first
>  error.
>  Based on a patch provided by Marc Pompl.
>
>- Make the Jasper (JSP Engine) Java file generation process
>  multi-threaded. By default, one thread will be used per core.
>  Based on a patch by Dan Fabulich.
>
>Along with lots of other bug fixes and improvements.
>
>It can be obtained from:
>https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.33/
>The Maven staging repo is:
>https://repository.apache.org/content/repositories/orgapachetomcat-1192/
>The svn tag is:
>http://svn.apache.org/repos/asf/tomcat/tc8.5.x/tags/TOMCAT_8_5_33/
>
>The proposed 8.5.33 release is:
>[ ] Broken - do not release
>[x] Stable - go ahead and release as 8.5.33

Regards, 
 Felix 

>
>-
>To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>For additional commands, e-mail: dev-h...@tomcat.apache.org

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62628] New: Async servlet over HTTP/2 non-blocking write does not work if client sets custom SETTINGS_INITIAL_WINDOW_SIZE

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62628

Bug ID: 62628
   Summary: Async servlet over HTTP/2 non-blocking write does not
work if client sets custom
SETTINGS_INITIAL_WINDOW_SIZE
   Product: Tomcat 9
   Version: 9.0.10
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Servlet
  Assignee: dev@tomcat.apache.org
  Reporter: zdap...@google.com
  Target Milestone: -

Same test cases as in https://bz.apache.org/bugzilla/show_bug.cgi?id=62620

Run nghttp client with commands
$ nghttp "http://localhost:8080/largeasyncwrite"; -v --window-bits=17
$ nghttp "http://localhost:8080/largeasyncwrite2"; -v --window-bits=17

Note: Test case 2. had a bug at line 55:
"while (ready = output.isReady() && i.get() <= 3) {"
should be
"while ((ready = output.isReady()) && i.get() <= 3) {"

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62628] Async servlet over HTTP/2 non-blocking write does not work if client sets custom SETTINGS_INITIAL_WINDOW_SIZE

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62628

--- Comment #1 from Mark Thomas  ---
Please retest with latest 9.0.x built from svn.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62628] Async servlet over HTTP/2 non-blocking write does not work if client sets custom SETTINGS_INITIAL_WINDOW_SIZE

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62628

--- Comment #2 from Dapeng Zhang  ---
Mark, my test is based on
commit 36eba2e863abc943a8a79898ff2ae553fc49139b (HEAD -> trunk, origin/trunk,
origin/HEAD)
Author: Mark Thomas 
Date:   Wed Aug 15 15:25:17 2018 +

Add missing check

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1838107
13f79535-47bb-0310-9956-ffa450edef68

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62628] Async servlet over HTTP/2 non-blocking write does not work if client sets custom SETTINGS_INITIAL_WINDOW_SIZE

2018-08-15 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62628

Mark Thomas  changed:

   What|Removed |Added

Version|9.0.10  |9.0.x

--- Comment #3 from Mark Thomas  ---
Thanks. I've added a 9.0.x version to Bugzilla and set it for this issue.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org