[Bug 66455] New: ava.lang.ClassCastException: class org.apache.coyote.http2.RecycledStream cannot be cast to class org.apache.coyote.http2.Stream

2023-01-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66455

Bug ID: 66455
   Summary: ava.lang.ClassCastException: class
org.apache.coyote.http2.RecycledStream cannot be cast
to class org.apache.coyote.http2.Stream
   Product: Tomcat 9
   Version: 9.0.71
  Hardware: PC
OS: Linux
Status: NEW
  Severity: major
  Priority: P2
 Component: Connectors
  Assignee: dev@tomcat.apache.org
  Reporter: boris_pet...@live.com
  Target Milestone: -

Today I saw some ClassCastExceptions in my logs:

java.lang.ClassCastException: class org.apache.coyote.http2.RecycledStream
cannot be cast to class org.apache.coyote.http2.Stream
(org.apache.coyote.http2.RecycledStream and org.apache.coyote.http2.Stream are
in unnamed module of loader java.net.URLClassLoader @2a742aa2)
at
org.apache.coyote.http2.Http2UpgradeHandler.incrementWindowSize(Http2UpgradeHandler.java:1031)
at
org.apache.coyote.http2.Http2UpgradeHandler.incrementWindowSize(Http2UpgradeHandler.java:1879)
at
org.apache.coyote.http2.Http2AsyncUpgradeHandler.incrementWindowSize(Http2AsyncUpgradeHandler.java:41)
at
org.apache.coyote.http2.Http2Parser.readWindowUpdateFrame(Http2Parser.java:449)
at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:274)
at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:166)
at
org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1122)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1697)
at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:1589)

I'm not sure why that happens but it seems like a bug in Tomcat.

-- 
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 66455] java.lang.ClassCastException: class org.apache.coyote.http2.RecycledStream cannot be cast to class org.apache.coyote.http2.Stream

2023-01-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66455

Mark Thomas  changed:

   What|Removed |Added

Summary|ava.lang.ClassCastException |java.lang.ClassCastExceptio
   |: class |n: class
   |org.apache.coyote.http2.Rec |org.apache.coyote.http2.Rec
   |ycledStream cannot be cast  |ycledStream cannot be cast
   |to class|to class
   |org.apache.coyote.http2.Str |org.apache.coyote.http2.Str
   |eam |eam

--- Comment #1 from Mark Thomas  ---
Looks like a recycled stream ended up in the backlog.

Fixing the symptom would be fairly simple but I'd rather understand the root
cause. Need to see if we can figure out how this might happen.

-- 
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 66455] java.lang.ClassCastException: class org.apache.coyote.http2.RecycledStream cannot be cast to class org.apache.coyote.http2.Stream

2023-01-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66455

--- Comment #2 from Mark Thomas  ---
Found it. I have  a test case and a fix. Just need to run the full test suite
to check for regressions.

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



[tomcat] branch 9.0.x updated: Fix BZ 66455 - avoid ClassCastException when processing window update

2023-01-30 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 08443cd8ac Fix BZ 66455 - avoid ClassCastException when processing 
window update
08443cd8ac is described below

commit 08443cd8acb3c82cde7e28f13c7a95dd08547e44
Author: Mark Thomas 
AuthorDate: Mon Jan 30 11:57:20 2023 +

Fix BZ 66455 - avoid ClassCastException when processing window update

https://bz.apache.org/bugzilla/show_bug.cgi?id=66455
---
 .../apache/coyote/http2/Http2UpgradeHandler.java   |  2 +-
 .../apache/coyote/http2/TestHttp2Section_5_3.java  | 50 ++
 webapps/docs/changelog.xml |  6 +++
 3 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index c14eeafc08..f38b8beb90 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1037,13 +1037,13 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 if (stream.getConnectionAllocationRequested() > 0) {
 
stream.setConnectionAllocationMade(stream.getConnectionAllocationRequested());
 stream.setConnectionAllocationRequested(0);
+result.add(stream);
 }
 }
 remaining -= backLogSize;
 backLogSize = 0;
 super.incrementWindowSize(remaining);
 
-result.addAll(backLogStreams);
 backLogStreams.clear();
 } else {
 allocate(this, remaining);
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
index 32fdb9fed6..4a50528dd6 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
@@ -242,6 +242,56 @@ public class TestHttp2Section_5_3 extends Http2TestBase {
 }
 
 
+@Test
+public void testReleaseFullBacklog() throws Exception {
+
+http2Connect();
+
+// This test uses small window updates that will trigger the excessive
+// overhead protection so disable it.
+http2Protocol.setOverheadWindowUpdateThreshold(0);
+// May also see (rarely, depends on timing) sequential 1 byte data
+// frames on the same Stream
+http2Protocol.setOverheadDataThreshold(0);
+
+
+// Default connection window size is 64k - 1. Initial request will have
+// used 8k (56k -1). Increase it to 57k
+sendWindowUpdate(0, 1 + 1024);
+
+// Use up 56k of the connection window
+for (int i = 3; i < 17; i += 2) {
+sendSimpleGetRequest(i);
+readSimpleGetResponse();
+}
+
+output.clearTrace();
+
+// At this point the connection window should be 1k and any new stream
+// should have a window of 64k
+
+// Create priority tree. This test requires a blocked stream to depend 
on a closed stream
+sendPriority(17,  15, 15);
+
+// Process a request on stream 17.
+// This should consume the connection window and put streams 15 and 17 
in the backlog.
+sendSimpleGetRequest(17);
+// 17-headers, 17-1k-body
+parser.readFrame();
+parser.readFrame();
+output.clearTrace();
+
+// At this point 17 is blocked because the connection window is zero
+
+// Send a large enough Window update to free the whole backlog
+sendWindowUpdate(0, 8 * 1024);
+
+parser.readFrame();
+
+Assert.assertEquals("17-Body-7168\n17-EndOfStream\n", 
output.getTrace());
+}
+
+
 private int[] parseBodyFrame(String output) {
 String[] parts = output.trim().split("-");
 if (parts.length != 3 || !"Body".equals(parts[1])) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 01b994cc13..69fe963b5e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -124,6 +124,12 @@
 ensure that the end of stream flag is set on the headers frame and that
 no data frame is sent. (markt)
   
+  
+66455: Fix the cause of a potential
+ClassCastException when processing a
+WINDOW_UPDATE frame on an HTTP/2 connection where the flow
+control window for the overall connection has been exhausted. (markt)
+  
 
   
   


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



[tomcat] branch 8.5.x updated: Fix BZ 66455 - avoid ClassCastException when processing window update

2023-01-30 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 9ae7da6a6f Fix BZ 66455 - avoid ClassCastException when processing 
window update
9ae7da6a6f is described below

commit 9ae7da6a6f3142e406e8ae97210be7ed3e7c1667
Author: Mark Thomas 
AuthorDate: Mon Jan 30 11:57:20 2023 +

Fix BZ 66455 - avoid ClassCastException when processing window update

https://bz.apache.org/bugzilla/show_bug.cgi?id=66455
---
 .../apache/coyote/http2/Http2UpgradeHandler.java   |  2 +-
 .../apache/coyote/http2/TestHttp2Section_5_3.java  | 50 ++
 webapps/docs/changelog.xml |  6 +++
 3 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 919be51988..94936283d4 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1021,13 +1021,13 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 if (stream.getConnectionAllocationRequested() > 0) {
 
stream.setConnectionAllocationMade(stream.getConnectionAllocationRequested());
 stream.setConnectionAllocationRequested(0);
+result.add(stream);
 }
 }
 remaining -= backLogSize;
 backLogSize = 0;
 super.incrementWindowSize(remaining);
 
-result.addAll(backLogStreams);
 backLogStreams.clear();
 } else {
 allocate(this, remaining);
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
index 32fdb9fed6..4a50528dd6 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
@@ -242,6 +242,56 @@ public class TestHttp2Section_5_3 extends Http2TestBase {
 }
 
 
+@Test
+public void testReleaseFullBacklog() throws Exception {
+
+http2Connect();
+
+// This test uses small window updates that will trigger the excessive
+// overhead protection so disable it.
+http2Protocol.setOverheadWindowUpdateThreshold(0);
+// May also see (rarely, depends on timing) sequential 1 byte data
+// frames on the same Stream
+http2Protocol.setOverheadDataThreshold(0);
+
+
+// Default connection window size is 64k - 1. Initial request will have
+// used 8k (56k -1). Increase it to 57k
+sendWindowUpdate(0, 1 + 1024);
+
+// Use up 56k of the connection window
+for (int i = 3; i < 17; i += 2) {
+sendSimpleGetRequest(i);
+readSimpleGetResponse();
+}
+
+output.clearTrace();
+
+// At this point the connection window should be 1k and any new stream
+// should have a window of 64k
+
+// Create priority tree. This test requires a blocked stream to depend 
on a closed stream
+sendPriority(17,  15, 15);
+
+// Process a request on stream 17.
+// This should consume the connection window and put streams 15 and 17 
in the backlog.
+sendSimpleGetRequest(17);
+// 17-headers, 17-1k-body
+parser.readFrame();
+parser.readFrame();
+output.clearTrace();
+
+// At this point 17 is blocked because the connection window is zero
+
+// Send a large enough Window update to free the whole backlog
+sendWindowUpdate(0, 8 * 1024);
+
+parser.readFrame();
+
+Assert.assertEquals("17-Body-7168\n17-EndOfStream\n", 
output.getTrace());
+}
+
+
 private int[] parseBodyFrame(String output) {
 String[] parts = output.trim().split("-");
 if (parts.length != 3 || !"Body".equals(parts[1])) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 9a0cee9c51..dbb4473c4e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -124,6 +124,12 @@
 ensure that the end of stream flag is set on the headers frame and that
 no data frame is sent. (markt)
   
+  
+66455: Fix the cause of a potential
+ClassCastException when processing a
+WINDOW_UPDATE frame on an HTTP/2 connection where the flow
+control window for the overall connection has been exhausted. (markt)
+  
 
   
   


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



[tomcat] branch 10.1.x updated: Fix BZ 66455 - avoid ClassCastException when processing window update

2023-01-30 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 8d2e2967c0 Fix BZ 66455 - avoid ClassCastException when processing 
window update
8d2e2967c0 is described below

commit 8d2e2967c0a30c250ffa9e4793e8324d2471798e
Author: Mark Thomas 
AuthorDate: Mon Jan 30 11:57:20 2023 +

Fix BZ 66455 - avoid ClassCastException when processing window update

https://bz.apache.org/bugzilla/show_bug.cgi?id=66455
---
 .../apache/coyote/http2/Http2UpgradeHandler.java   |  2 +-
 .../apache/coyote/http2/TestHttp2Section_5_3.java  | 50 ++
 webapps/docs/changelog.xml |  6 +++
 3 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 9f1d35aaf6..48d5f449d2 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1059,13 +1059,13 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 if (stream.getConnectionAllocationRequested() > 0) {
 
stream.setConnectionAllocationMade(stream.getConnectionAllocationRequested());
 stream.setConnectionAllocationRequested(0);
+result.add(stream);
 }
 }
 remaining -= backLogSize;
 backLogSize = 0;
 super.incrementWindowSize(remaining);
 
-result.addAll(backLogStreams);
 backLogStreams.clear();
 } else {
 allocate(this, remaining);
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
index 32fdb9fed6..4a50528dd6 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
@@ -242,6 +242,56 @@ public class TestHttp2Section_5_3 extends Http2TestBase {
 }
 
 
+@Test
+public void testReleaseFullBacklog() throws Exception {
+
+http2Connect();
+
+// This test uses small window updates that will trigger the excessive
+// overhead protection so disable it.
+http2Protocol.setOverheadWindowUpdateThreshold(0);
+// May also see (rarely, depends on timing) sequential 1 byte data
+// frames on the same Stream
+http2Protocol.setOverheadDataThreshold(0);
+
+
+// Default connection window size is 64k - 1. Initial request will have
+// used 8k (56k -1). Increase it to 57k
+sendWindowUpdate(0, 1 + 1024);
+
+// Use up 56k of the connection window
+for (int i = 3; i < 17; i += 2) {
+sendSimpleGetRequest(i);
+readSimpleGetResponse();
+}
+
+output.clearTrace();
+
+// At this point the connection window should be 1k and any new stream
+// should have a window of 64k
+
+// Create priority tree. This test requires a blocked stream to depend 
on a closed stream
+sendPriority(17,  15, 15);
+
+// Process a request on stream 17.
+// This should consume the connection window and put streams 15 and 17 
in the backlog.
+sendSimpleGetRequest(17);
+// 17-headers, 17-1k-body
+parser.readFrame();
+parser.readFrame();
+output.clearTrace();
+
+// At this point 17 is blocked because the connection window is zero
+
+// Send a large enough Window update to free the whole backlog
+sendWindowUpdate(0, 8 * 1024);
+
+parser.readFrame();
+
+Assert.assertEquals("17-Body-7168\n17-EndOfStream\n", 
output.getTrace());
+}
+
+
 private int[] parseBodyFrame(String output) {
 String[] parts = output.trim().split("-");
 if (parts.length != 3 || !"Body".equals(parts[1])) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 82c6c566a4..4e0077ae51 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -132,6 +132,12 @@
 ensure that the end of stream flag is set on the headers frame and that
 no data frame is sent. (markt)
   
+  
+66455: Fix the cause of a potential
+ClassCastException when processing a
+WINDOW_UPDATE frame on an HTTP/2 connection where the flow
+control window for the overall connection has been exhausted. (markt)
+  
 
   
   


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



[Bug 66455] java.lang.ClassCastException: class org.apache.coyote.http2.RecycledStream cannot be cast to class org.apache.coyote.http2.Stream

2023-01-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66455

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #3 from Mark Thomas  ---
Fixed in:
- 10.1.x for 10.1.6 onwards
-  9.0.x for  9.0.72 onwards
-  8.5.x for  8.5.86 onwards

11.0.x is not affected.

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



[tomcat] branch main updated: Align with 10.1.x for ease of maintenance

2023-01-30 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
 new 7a4a9a7435 Align with 10.1.x for ease of maintenance
7a4a9a7435 is described below

commit 7a4a9a7435a53e49187386c0d5573bc82d85a330
Author: Mark Thomas 
AuthorDate: Mon Jan 30 15:47:22 2023 +

Align with 10.1.x for ease of maintenance

Strictly, this change is not required since in Tomcat 11.0.x onwards,
the concept of parent streams has been removed so a RecycledStream can't
end up in the backlog.
---
 java/org/apache/coyote/http2/Http2UpgradeHandler.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index cfd6b3ddef..c65edcd049 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1052,6 +1052,7 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 if (stream.getConnectionAllocationRequested() > 0) {
 
stream.setConnectionAllocationMade(stream.getConnectionAllocationRequested());
 stream.setConnectionAllocationRequested(0);
+result.add(stream);
 }
 }
 // Cast is safe due to test above
@@ -1059,7 +1060,6 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 backLogSize = 0;
 super.incrementWindowSize(remaining);
 
-result.addAll(backLogStreams);
 backLogStreams.clear();
 } else {
 // Can't clear the whole backlog.


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



[tomcat] branch main updated: Fix import order. Fix Checkstyle warning.

2023-01-30 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
 new 8718d34541 Fix import order. Fix Checkstyle warning.
8718d34541 is described below

commit 8718d3454138539952807e0b6ae1b598070a148b
Author: Mark Thomas 
AuthorDate: Mon Jan 30 16:04:31 2023 +

Fix import order. Fix Checkstyle warning.
---
 java/org/apache/naming/factory/SendMailFactory.java | 4 ++--
 res/checkstyle/org-import-control.xml   | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/naming/factory/SendMailFactory.java 
b/java/org/apache/naming/factory/SendMailFactory.java
index e961f47df7..6448b4dfd6 100644
--- a/java/org/apache/naming/factory/SendMailFactory.java
+++ b/java/org/apache/naming/factory/SendMailFactory.java
@@ -26,13 +26,13 @@ import javax.naming.RefAddr;
 import javax.naming.Reference;
 import javax.naming.spi.ObjectFactory;
 
-import org.apache.tomcat.util.ExceptionUtils;
-
 import jakarta.mail.Session;
 import jakarta.mail.internet.InternetAddress;
 import jakarta.mail.internet.MimeMessage;
 import jakarta.mail.internet.MimePartDataSource;
 
+import org.apache.tomcat.util.ExceptionUtils;
+
 /**
  * Factory class that creates a JNDI named javamail MimePartDataSource
  * object which can be used for sending email using SMTP.
diff --git a/res/checkstyle/org-import-control.xml 
b/res/checkstyle/org-import-control.xml
index 29ea88f313..2023550efc 100644
--- a/res/checkstyle/org-import-control.xml
+++ b/res/checkstyle/org-import-control.xml
@@ -126,6 +126,7 @@
 
 
 
+
 
 
 


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



Re: [tomcat] branch 9.0.x updated: Fix BZ 66455 - avoid ClassCastException when processing window update

2023-01-30 Thread Christopher Schultz

Mark,

On 1/30/23 10:04, ma...@apache.org wrote:

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
  new 08443cd8ac Fix BZ 66455 - avoid ClassCastException when processing 
window update
08443cd8ac is described below

commit 08443cd8acb3c82cde7e28f13c7a95dd08547e44
Author: Mark Thomas 
AuthorDate: Mon Jan 30 11:57:20 2023 +

 Fix BZ 66455 - avoid ClassCastException when processing window update
 
 https://bz.apache.org/bugzilla/show_bug.cgi?id=66455

---
  .../apache/coyote/http2/Http2UpgradeHandler.java   |  2 +-
  .../apache/coyote/http2/TestHttp2Section_5_3.java  | 50 ++
  webapps/docs/changelog.xml |  6 +++
  3 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index c14eeafc08..f38b8beb90 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1037,13 +1037,13 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
  if (stream.getConnectionAllocationRequested() > 0) {
  
stream.setConnectionAllocationMade(stream.getConnectionAllocationRequested());
  stream.setConnectionAllocationRequested(0);
+result.add(stream);
  }
  }
  remaining -= backLogSize;
  backLogSize = 0;
  super.incrementWindowSize(remaining);
  
-result.addAll(backLogStreams);

  backLogStreams.clear();
  } else {
  allocate(this, remaining);
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
index 32fdb9fed6..4a50528dd6 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_3.java
@@ -242,6 +242,56 @@ public class TestHttp2Section_5_3 extends Http2TestBase {
  }
  
  
+@Test

+public void testReleaseFullBacklog() throws Exception {
+
+http2Connect();
+
+// This test uses small window updates that will trigger the excessive
+// overhead protection so disable it.
+http2Protocol.setOverheadWindowUpdateThreshold(0);
+// May also see (rarely, depends on timing) sequential 1 byte data
+// frames on the same Stream
+http2Protocol.setOverheadDataThreshold(0);
+
+
+// Default connection window size is 64k - 1. Initial request will have
+// used 8k (56k -1). Increase it to 57k
+sendWindowUpdate(0, 1 + 1024);
+
+// Use up 56k of the connection window
+for (int i = 3; i < 17; i += 2) {
+sendSimpleGetRequest(i);
+readSimpleGetResponse();
+}


All of the above numbers look bonkers. Surely some of it has to do with 
the fact that I don;t understand the underlying implementation.


Is the default window size really 65535 bytes (64k - 1)? That would be 
very unusual (is this some kind of spec-mandated window size? still 
seems weird). It seems more likely that it is a full 64k bytes and that 
the max index into that array would be 64k - 1.


How does sending a window update of 1025 increase the connection window 
size to 57k? Why won't 1024 do it? Or 512? Or 1024 * 57? Or (64 - 8) * 
1024 - 1?


How does sending 7 updates with odd i values between 3 and 17 fill the 
first 56k of the connection window? Why use 3 - 17 instead of 0 - 6? Or, 
if you need some single-digit i values and some double-digits, why not 
use more straightforward loop bounds. It just looks very strange with no 
explanation.


I hope these questions aren't just annoying. I'm sure you know what you 
are doing. But I know if I was looking at this code to figure out why 
the unit test was failing in the future, I would be at a serious loss to 
understand what it was even doing in the first place.


-chris


+
+output.clearTrace();
+
+// At this point the connection window should be 1k and any new stream
+// should have a window of 64k
+
+// Create priority tree. This test requires a blocked stream to depend 
on a closed stream
+sendPriority(17,  15, 15);
+
+// Process a request on stream 17.
+// This should consume the connection window and put streams 15 and 17 
in the backlog.
+sendSimpleGetRequest(17);
+// 17-headers, 17-1k-body
+parser.readFrame();
+parser.readFrame();
+output.clearTrace();
+
+// At this point 17 is blocked because the connection window is zero
+
+// Send a large enough Window update to free the whole backlog
+sendWind

Re: [tomcat] branch 9.0.x updated: Fix BZ 66455 - avoid ClassCastException when processing window update

2023-01-30 Thread Mark Thomas

On 30/01/2023 21:03, Christopher Schultz wrote:



Is the default window size really 65535 bytes (64k - 1)? That would be 
very unusual (is this some kind of spec-mandated window size? still 
seems weird). It seems more likely that it is a full 64k bytes and that 
the max index into that array would be 64k - 1.


RFC 9113, section 6.5.2, SETTINGS_INITIAL_WINDOW_SIZE

"The initial value is (2^16)-1 (65,535) octets."


How does sending a window update of 1025 increase the connection window 
size to 57k? Why won't 1024 do it? Or 512? Or 1024 * 57? Or (64 - 8) * 
1024 - 1?


Initial size: 64k -1
Initial request (sent as part of http2Connect()) has an exactly 8k 
response body.

New size = 64k - 1 - 8k
 = 56k -1

Increase window size by 1k +1 gives:
56k - 1 + 1k + 1 = 57k

How does sending 7 updates with odd i values between 3 and 17 fill the 
first 56k of the connection window?


7 requests each with response bodies of 8k uses 7 * 8k = 56k of the 
connection window.


Why use 3 - 17 instead of 0 - 6? Or, 
if you need some single-digit i values and some double-digits, why not 
use more straightforward loop bounds. It just looks very strange with no 
explanation.


RFC 9113, section 5.1.1

"Streams initiated by a client MUST use odd-numbered stream identifiers; 
those initiated by the server MUST use even-numbered stream identifiers. 
A stream identifier of zero (0x00) is used for connection control 
messages; the stream identifier of zero cannot be used to establish a 
new stream.


The identifier of a newly established stream MUST be numerically greater 
than all streams that the initiating endpoint has opened or reserved."


The initial request was stream 1. Hence the next 7 requests are streams 
3, 5, 7, 9, 11, 13 and 15.


I hope these questions aren't just annoying. I'm sure you know what you 
are doing. But I know if I was looking at this code to figure out why 
the unit test was failing in the future, I would be at a serious loss to 
understand what it was even doing in the first place.


Yes, trying to do that without first understanding the HTTP/2 protocol 
would be tricky.


Mark

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



[GitHub] [tomcat] TochigiV opened a new pull request, #577: Update objenesis and unboundid versions for IDE configs

2023-01-30 Thread via GitHub


TochigiV opened a new pull request, #577:
URL: https://github.com/apache/tomcat/pull/577

   There seems to be a difference in the dependency versions in the 
build.properties file and the IDE config files, which I have corrected.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[GitHub] [tomcat] aooohan commented on a diff in pull request #577: Update objenesis and unboundid versions for IDE configs

2023-01-30 Thread via GitHub


aooohan commented on code in PR #577:
URL: https://github.com/apache/tomcat/pull/577#discussion_r1091406147


##
res/ide-support/netbeans/project.xml:
##
@@ -189,7 +189,7 @@
 
 test
 
-output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
+output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar

Review Comment:
   `/objenesis-3.2/objenesis-3.3.jar` is not correct.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[GitHub] [tomcat] aooohan merged pull request #577: Update objenesis and unboundid versions for IDE configs

2023-01-30 Thread via GitHub


aooohan merged PR #577:
URL: https://github.com/apache/tomcat/pull/577


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[tomcat] branch main updated: Update objenesis and unboundid versions for IDE configs (#577)

2023-01-30 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
 new cdb6f515a9 Update objenesis and unboundid versions for IDE configs 
(#577)
cdb6f515a9 is described below

commit cdb6f515a9ec3f3296965337a15ac7d10a7532db
Author: Bailey Brownie 
AuthorDate: Mon Jan 30 22:38:42 2023 -0500

Update objenesis and unboundid versions for IDE configs (#577)

Update objenesis and unboundid versions for IDE configs
---
 res/ide-support/eclipse/eclipse.classpath   | 4 ++--
 res/ide-support/idea/tomcat.iml | 4 ++--
 res/ide-support/netbeans/nb-tomcat-build.properties | 2 +-
 res/ide-support/netbeans/project.xml| 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/res/ide-support/eclipse/eclipse.classpath 
b/res/ide-support/eclipse/eclipse.classpath
index a30fee8e29..5c1bcdd282 100644
--- a/res/ide-support/eclipse/eclipse.classpath
+++ b/res/ide-support/eclipse/eclipse.classpath
@@ -26,9 +26,9 @@
 
 
 
-
+
 
 
-
+
 
 
diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml
index 940a9ecf27..07b6c5a32b 100644
--- a/res/ide-support/idea/tomcat.iml
+++ b/res/ide-support/idea/tomcat.iml
@@ -86,7 +86,7 @@
 
   
 
-  
+  
 
 
 
@@ -113,7 +113,7 @@
 
   
 
-  
+  
 
 
 
diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties 
b/res/ide-support/netbeans/nb-tomcat-build.properties
index 83e26425fd..e534367ca8 100644
--- a/res/ide-support/netbeans/nb-tomcat-build.properties
+++ b/res/ide-support/netbeans/nb-tomcat-build.properties
@@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol
 # it is not possible to retrieve the classpaths from the build to
 # use in the NetBeans targets, so they must be explicitly declared
 
-nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.26/ecj-4.26.jar:${tomcat.classes}
+nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.26/ecj-4.26.jar:${tomcat.classes}
 
 # Extra properties used by the Tomcat project additional NetBeans targets.
 
diff --git a/res/ide-support/netbeans/project.xml 
b/res/ide-support/netbeans/project.xml
index db92ccd862..3eb6aa8536 100644
--- a/res/ide-support/netbeans/project.xml
+++ b/res/ide-support/netbeans/project.xml
@@ -189,7 +189,7 @@
 
 test
 
-output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
+output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
 1.7
 
 


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



[GitHub] [tomcat] aooohan commented on pull request #577: Update objenesis and unboundid versions for IDE configs

2023-01-30 Thread via GitHub


aooohan commented on PR #577:
URL: https://github.com/apache/tomcat/pull/577#issuecomment-1409706494

   Thanks ;)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[tomcat] branch 10.1.x updated: Update objenesis and unboundid versions for IDE configs (#577)

2023-01-30 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 837272f9ba Update objenesis and unboundid versions for IDE configs 
(#577)
837272f9ba is described below

commit 837272f9ba244deae4c3a1bb18b8aa036eba2099
Author: Bailey Brownie 
AuthorDate: Mon Jan 30 22:38:42 2023 -0500

Update objenesis and unboundid versions for IDE configs (#577)

Update objenesis and unboundid versions for IDE configs
---
 res/ide-support/eclipse/eclipse.classpath   | 4 ++--
 res/ide-support/idea/tomcat.iml | 4 ++--
 res/ide-support/netbeans/nb-tomcat-build.properties | 2 +-
 res/ide-support/netbeans/project.xml| 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/res/ide-support/eclipse/eclipse.classpath 
b/res/ide-support/eclipse/eclipse.classpath
index 9c3c3f0008..850b7e1acf 100644
--- a/res/ide-support/eclipse/eclipse.classpath
+++ b/res/ide-support/eclipse/eclipse.classpath
@@ -28,9 +28,9 @@
 
 
 
-
+
 
 
-
+
 
 
diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml
index 1c3b45f85c..eace46183a 100644
--- a/res/ide-support/idea/tomcat.iml
+++ b/res/ide-support/idea/tomcat.iml
@@ -104,7 +104,7 @@
 
   
 
-  
+  
 
 
 
@@ -131,7 +131,7 @@
 
   
 
-  
+  
 
 
 
diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties 
b/res/ide-support/netbeans/nb-tomcat-build.properties
index 83e26425fd..e534367ca8 100644
--- a/res/ide-support/netbeans/nb-tomcat-build.properties
+++ b/res/ide-support/netbeans/nb-tomcat-build.properties
@@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol
 # it is not possible to retrieve the classpaths from the build to
 # use in the NetBeans targets, so they must be explicitly declared
 
-nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.26/ecj-4.26.jar:${tomcat.classes}
+nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.26/ecj-4.26.jar:${tomcat.classes}
 
 # Extra properties used by the Tomcat project additional NetBeans targets.
 
diff --git a/res/ide-support/netbeans/project.xml 
b/res/ide-support/netbeans/project.xml
index e616540021..7ce3694d9c 100644
--- a/res/ide-support/netbeans/project.xml
+++ b/res/ide-support/netbeans/project.xml
@@ -189,7 +189,7 @@
 
 test
 
-output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
+output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
 1.7
 
 


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



[tomcat] branch 9.0.x updated: Update objenesis and unboundid versions for IDE configs

2023-01-30 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new cf5d187537 Update objenesis and unboundid versions for IDE configs
cf5d187537 is described below

commit cf5d187537109d2bbab1d06264154b093d3364b7
Author: Bailey Brownie 
AuthorDate: Tue Jan 31 11:38:42 2023 +0800

Update objenesis and unboundid versions for IDE configs
---
 res/ide-support/eclipse/eclipse.classpath   | 4 ++--
 res/ide-support/idea/tomcat.iml | 4 ++--
 res/ide-support/netbeans/nb-tomcat-build.properties | 2 +-
 res/ide-support/netbeans/project.xml| 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/res/ide-support/eclipse/eclipse.classpath 
b/res/ide-support/eclipse/eclipse.classpath
index 3f28fb2028..1384731b20 100644
--- a/res/ide-support/eclipse/eclipse.classpath
+++ b/res/ide-support/eclipse/eclipse.classpath
@@ -28,8 +28,8 @@
 
 
 
-
+
 
-
+
 
 
diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml
index 1732bf4334..aa62dc576b 100644
--- a/res/ide-support/idea/tomcat.iml
+++ b/res/ide-support/idea/tomcat.iml
@@ -104,7 +104,7 @@
 
   
 
-  
+  
 
 
 
@@ -122,7 +122,7 @@
 
   
 
-  
+  
 
 
 
diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties 
b/res/ide-support/netbeans/nb-tomcat-build.properties
index b02a1daeab..95790302dc 100644
--- a/res/ide-support/netbeans/nb-tomcat-build.properties
+++ b/res/ide-support/netbeans/nb-tomcat-build.properties
@@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol
 # it is not possible to retrieve the classpaths from the build to
 # use in the NetBeans targets, so they must be explicitly declared
 
-nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes}
+nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes}
 
 # Extra properties used by the Tomcat project additional NetBeans targets.
 
diff --git a/res/ide-support/netbeans/project.xml 
b/res/ide-support/netbeans/project.xml
index 8f31636305..a9fcf9754b 100644
--- a/res/ide-support/netbeans/project.xml
+++ b/res/ide-support/netbeans/project.xml
@@ -189,7 +189,7 @@
 
 test
 
-output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
+output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
 1.7
 
 


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



[tomcat] branch 8.5.x updated: Update objenesis and unboundid versions for IDE configs

2023-01-30 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 8fb3e91ebb Update objenesis and unboundid versions for IDE configs
8fb3e91ebb is described below

commit 8fb3e91ebb0078ae8b65e6d7245f5daeb7c2d0ca
Author: Bailey Brownie 
AuthorDate: Tue Jan 31 11:38:42 2023 +0800

Update objenesis and unboundid versions for IDE configs
---
 res/ide-support/eclipse/eclipse.classpath   | 4 ++--
 res/ide-support/idea/tomcat.iml | 4 ++--
 res/ide-support/netbeans/nb-tomcat-build.properties | 2 +-
 res/ide-support/netbeans/project.xml| 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/res/ide-support/eclipse/eclipse.classpath 
b/res/ide-support/eclipse/eclipse.classpath
index 5fca2947f3..3e26cdb72b 100644
--- a/res/ide-support/eclipse/eclipse.classpath
+++ b/res/ide-support/eclipse/eclipse.classpath
@@ -28,7 +28,7 @@
 
 
 
-
-
+
+
 
 
diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml
index 747f7deec8..a096fc3137 100644
--- a/res/ide-support/idea/tomcat.iml
+++ b/res/ide-support/idea/tomcat.iml
@@ -104,7 +104,7 @@
 
   
 
-  
+  
 
 
 
@@ -113,7 +113,7 @@
 
   
 
-  
+  
 
 
 
diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties 
b/res/ide-support/netbeans/nb-tomcat-build.properties
index f3a7933eb8..b0d0fbcb45 100644
--- a/res/ide-support/netbeans/nb-tomcat-build.properties
+++ b/res/ide-support/netbeans/nb-tomcat-build.properties
@@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol
 # it is not possible to retrieve the classpaths from the build to
 # use in the NetBeans targets, so they must be explicitly declared
 
-nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.6.3/ecj-4.6.3.jar:${tomcat.classes}
+nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.6.3/ecj-4.6.3.jar:${tomcat.classes}
 
 # Extra properties used by the Tomcat project additional NetBeans targets.
 
diff --git a/res/ide-support/netbeans/project.xml 
b/res/ide-support/netbeans/project.xml
index 78e8c3faf9..26528671b6 100644
--- a/res/ide-support/netbeans/project.xml
+++ b/res/ide-support/netbeans/project.xml
@@ -189,7 +189,7 @@
 
 test
 
-output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
+output/classes:output/testclasses:${base.path}/junit-4.13.2/junit-4.13.2.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.3/objenesis-3.3.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar
 1.7
 
 


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