Re: [VOTE] Release Apache Tomcat 10.1.23
On 23/04/2024 06:35, jean-frederic clere wrote: On 4/17/24 12:00, Mark Thomas wrote: Build is reproducible. My tests here complain about examples, did I miss something. No idea. You'd need to do a diff to see what didn't match and that will (hopefully) point you towards the root cause. Mark TCK tests are still running... - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68911] Newly introduced ConfigurationSource doesn't respect environment variables
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911 7elem...@mail.bg changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID |--- --- Comment #10 from 7elem...@mail.bg --- I'm sorry, but I don't find it exotic to request CATALINA_BASE to be respected when tomcat initially boots up and not only user.dir to be used to search for server.xml As I said already, all I want is backward compatibility as this was the case until 8.5 On top I don't want to change the logic and break currently released tomcat versions All I want is to add a backward compatible way to search for the configuration, i.e. to search for additional place (CATALINA_BASE) for server.xml as a last resort, before failing and continue with the defaults. I couldn't find a way to change with configuration org.apache.catalina.startup.CatalinaBaseConfigurationSource to my own ConfigurationSource and that is the reason for this request. Best Regards -- 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 68911] Newly introduced ConfigurationSource doesn't respect environment variables
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911 Remy Maucherat changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |INVALID --- Comment #11 from Remy Maucherat --- Please do not reopen the BZ. Please use the user mailing list to discuss this further instead. If a problem is found, then it will be addressed just the same. The shell scripts will pass the CATALINA_BASE environment variable as the catalina.base Java system property, which will then be used to setup the paths that are used by CatalinaBaseConfigurationSource. I fail to see a behavior change there. Note: 8.5 to 9.0 is a major version update, so some change of behavior is acceptable, and some configuration updates could be required. [remm@feather build]$ export CATALINA_BASE=/tmp [remm@feather build]$ ./bin/catalina.sh run Using CATALINA_BASE: /tmp Using CATALINA_HOME: /home/remm/Work/tomcat/apache-tomcat-trunk/output/build Using CATALINA_TMPDIR: /tmp/temp Using JRE_HOME:/usr/lib/jvm/java-22 Using CLASSPATH: /home/remm/Work/tomcat/apache-tomcat-trunk/output/build/bin/bootstrap.jar:/home/remm/Work/tomcat/apache-tomcat-trunk/output/build/bin/tomcat-juli.jar Using CATALINA_OPTS: WARNING: java.io.tmpdir directory does not exist Apr 23, 2024 10:18:24 AM org.apache.catalina.startup.Catalina parseServerXml WARNING: Unable to load server configuration from [/tmp/conf/server.xml] java.io.FileNotFoundException: /tmp/conf/server.xml (No such file or directory) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:213) at java.base/java.io.FileInputStream.(FileInputStream.java:152) at java.base/java.io.FileInputStream.(FileInputStream.java:106) at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:84) at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:186) at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:120) at org.apache.tomcat.util.file.ConfigurationSource.getConfResource(ConfigurationSource.java:150) at org.apache.tomcat.util.file.ConfigurationSource.getServerXml(ConfigurationSource.java:127) at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getServerXml(CatalinaBaseConfigurationSource.java:54) at org.apache.catalina.startup.Catalina.parseServerXml(Catalina.java:590) at org.apache.catalina.startup.Catalina.load(Catalina.java:691) at org.apache.catalina.startup.Catalina.load(Catalina.java:729) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:299) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:469) -- 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 68911] Newly introduced ConfigurationSource doesn't respect environment variables
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911 --- Comment #12 from 7elem...@mail.bg --- Created attachment 39682 --> https://bz.apache.org/bugzilla/attachment.cgi?id=39682&action=edit Patch Propose a patch with the requested change -- 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 68938] New: ScriptEngine engine is null
https://bz.apache.org/bugzilla/show_bug.cgi?id=68938 Bug ID: 68938 Summary: ScriptEngine engine is null Product: Tomcat 9 Version: 9.0.87 Hardware: PC OS: Mac OS X 10.1 Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: kaixinwangzi1...@163.com Target Milestone: - org.opoo.maven tomcat9-maven-plugin 3.0.1 / 8080 UTF-8 I use this plugin. ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("javascript"); engine is null -- 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 68938] ScriptEngine engine is null
https://bz.apache.org/bugzilla/show_bug.cgi?id=68938 --- Comment #1 from Michael Osipov --- ??? So what? What is the report here? -- 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 68911] Newly introduced ConfigurationSource doesn't respect environment variables
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911 --- Comment #13 from Remy Maucherat --- (In reply to 7element from comment #12) > Created attachment 39682 [details] > Patch > > Propose a patch with the requested change The patch does not seem to do anything, since ConfigurationSource.super.getServerXml() default implementation also calls getResource (the idea is to allow overriding). -- 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: isReady() should always return true in blocking mode
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 74906a5d9e isReady() should always return true in blocking mode 74906a5d9e is described below commit 74906a5d9e2e67c119630ac31bb7f2f2625e91b5 Author: Mark Thomas AuthorDate: Tue Apr 23 13:12:04 2024 +0100 isReady() should always return true in blocking mode --- java/org/apache/catalina/connector/InputBuffer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/connector/InputBuffer.java b/java/org/apache/catalina/connector/InputBuffer.java index db85a3415a..5dcae69de1 100644 --- a/java/org/apache/catalina/connector/InputBuffer.java +++ b/java/org/apache/catalina/connector/InputBuffer.java @@ -243,7 +243,7 @@ public class InputBuffer extends Reader implements ByteChunk.ByteInputChannel, A if (log.isDebugEnabled()) { log.debug(sm.getString("inputBuffer.requiresNonBlocking")); } -return false; +return true; } if (isFinished()) { // If this is a non-container thread, need to trigger a read - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.1.23
On 4/16/24 15:11, Christopher Schultz wrote: [X] Stable - go ahead and release as 10.1.23 Tested on fedora39 with tc-native 2.0.7 looks OK, TCK passes. -- Cheers Jean-Frederic - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.1.23
On 4/23/24 09:47, Mark Thomas wrote: On 23/04/2024 06:35, jean-frederic clere wrote: On 4/17/24 12:00, Mark Thomas wrote: Build is reproducible. My tests here complain about examples, did I miss something. No idea. You'd need to do a diff to see what didn't match and that will (hopefully) point you towards the root cause. The class files are different... Investigating. Mark TCK tests are still running... - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org -- Cheers Jean-Frederic - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Add missing strings
This is an automated email from the ASF dual-hosted git repository. remm 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 0544ed3053 Add missing strings 0544ed3053 is described below commit 0544ed30539d1457dd1687e1707e30e92fc8ed14 Author: remm AuthorDate: Tue Apr 23 14:28:54 2024 +0200 Add missing strings --- java/org/apache/coyote/http11/Http11Processor.java| 9 +++-- java/org/apache/coyote/http11/LocalStrings.properties | 3 +++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 9f144bb464..3a1897a84b 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -210,8 +210,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(400); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + -" Transfer encoding lists chunked before [" + encodingName + "]"); + log.debug(sm.getString("http11processor.request.alreadyChunked", encodingName)); } return; } @@ -232,8 +231,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(501); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + " Unsupported transfer encoding [" + -encodingName + "]"); + log.debug(sm.getString("http11processor.request.unsupportedEncoding", encodingName)); } } } @@ -611,8 +609,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(505); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + " Unsupported HTTP version \"" + -protocolMB + "\""); + log.debug(sm.getString("http11processor.request.unsupportedVersion", protocolMB)); } } } diff --git a/java/org/apache/coyote/http11/LocalStrings.properties b/java/org/apache/coyote/http11/LocalStrings.properties index 9e4d2ec86a..e42b425350 100644 --- a/java/org/apache/coyote/http11/LocalStrings.properties +++ b/java/org/apache/coyote/http11/LocalStrings.properties @@ -22,6 +22,7 @@ abstractHttp11Protocol.upgradeJmxRegistrationFail=Failed to register upgrade pro http11processor.fallToDebug=\n\ \ Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. http11processor.header.parse=Error parsing HTTP request header +http11processor.request.alreadyChunked=Error preparing request, transfer encoding lists chunked before [{0}] http11processor.request.finish=Error finishing request http11processor.request.inconsistentHosts=The host specified in the request line is not consistent with the host header http11processor.request.invalidScheme=The HTTP request contained an absolute URI with an invalid scheme @@ -34,6 +35,8 @@ http11processor.request.noHostHeader=The HTTP/1.1 request did not provide a host http11processor.request.nonNumericContentLength=The request contained a content-length header with a non-numeric value http11processor.request.prepare=Error preparing request http11processor.request.process=Error processing request +http11processor.request.unsupportedEncoding=Error preparing request, unsupported transfer encoding [{0}] +http11processor.request.unsupportedVersion=Error preparing request, unsupported HTTP version [{0}] http11processor.response.finish=Error finishing response http11processor.response.invalidHeader=The HTTP response header [{0}] with value [{1}] has been removed from the response because it is invalid http11processor.sendfile.error=Error sending data using sendfile. May be caused by invalid request attributes for start/end points - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68919] Make Tomcat return 503 on stopped web applications
https://bz.apache.org/bugzilla/show_bug.cgi?id=68919 --- Comment #3 from Christopher Schultz --- (In reply to Michael Osipov from comment #2) > I am not convinced by either approach because in any case it would require me > to deploy a ROOT application with Tomcat privileges to properly fetch the > URL and check whether the application is truly stopped. I don't think so. If Tomcat cannot route a request to a non-ROOT application, the ROOT application will receive the request instead. So, for example, if you expect a resource to be available at /myapp/resource but the /myapp application is not running for whatever reason, then /myapp/resource will be served by the ROOT application. There is no reason for the ROOT application to then turn-around and re-request /myapp/resource from Tomcat "to see if it's working". You already know its NOT working since it was routed to ROOT. > > Tomcat rewrite Valve > This is static, I should dynamically be able to determine that the requested > webapp is down See above. I think Tomcat provides that without you having to probe anything. > > plain JSP + configuration in web.xml > How? The status is issued by the container, how am I supposed to change the > status code reasonably from a JSP. Looks wrong to me. If /myapp/resource is not available, it will be served by ROOT. Here is where you get to pick the HTTP status code. Tomcat will not say "oh and by the way, /myapp/resource was supposed to be served by /myapp but I had to give it to you, instead so something is definitely wrong". Instead, the simple fact that ROOT is handling the request means that /myapp is not running so ROOT "knows" something is wrong already. Just return a 503 or 404 or 123 from whatever mechanism you want. > > Custom Java code that you write > Too sophisticated honestly. > > I think that it is best configured at or level inside of > Tomcat. I'm suggesting this is already possible: just configure a ROOT context inside a and you are done. -- 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 10.1.x updated: Add missing strings
This is an automated email from the ASF dual-hosted git repository. remm 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 452cb0a7c7 Add missing strings 452cb0a7c7 is described below commit 452cb0a7c788f25b039376d3c6c7330ba6e4e484 Author: remm AuthorDate: Tue Apr 23 14:28:54 2024 +0200 Add missing strings --- java/org/apache/coyote/http11/Http11Processor.java| 9 +++-- java/org/apache/coyote/http11/LocalStrings.properties | 3 +++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 87aa0da734..0692b8da4e 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -212,8 +212,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(400); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + -" Transfer encoding lists chunked before [" + encodingName + "]"); + log.debug(sm.getString("http11processor.request.alreadyChunked", encodingName)); } return; } @@ -234,8 +233,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(501); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + " Unsupported transfer encoding [" + -encodingName + "]"); + log.debug(sm.getString("http11processor.request.unsupportedEncoding", encodingName)); } } } @@ -613,8 +611,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(505); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + " Unsupported HTTP version \"" + -protocolMB + "\""); + log.debug(sm.getString("http11processor.request.unsupportedVersion", protocolMB)); } } } diff --git a/java/org/apache/coyote/http11/LocalStrings.properties b/java/org/apache/coyote/http11/LocalStrings.properties index 9e4d2ec86a..e42b425350 100644 --- a/java/org/apache/coyote/http11/LocalStrings.properties +++ b/java/org/apache/coyote/http11/LocalStrings.properties @@ -22,6 +22,7 @@ abstractHttp11Protocol.upgradeJmxRegistrationFail=Failed to register upgrade pro http11processor.fallToDebug=\n\ \ Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. http11processor.header.parse=Error parsing HTTP request header +http11processor.request.alreadyChunked=Error preparing request, transfer encoding lists chunked before [{0}] http11processor.request.finish=Error finishing request http11processor.request.inconsistentHosts=The host specified in the request line is not consistent with the host header http11processor.request.invalidScheme=The HTTP request contained an absolute URI with an invalid scheme @@ -34,6 +35,8 @@ http11processor.request.noHostHeader=The HTTP/1.1 request did not provide a host http11processor.request.nonNumericContentLength=The request contained a content-length header with a non-numeric value http11processor.request.prepare=Error preparing request http11processor.request.process=Error processing request +http11processor.request.unsupportedEncoding=Error preparing request, unsupported transfer encoding [{0}] +http11processor.request.unsupportedVersion=Error preparing request, unsupported HTTP version [{0}] http11processor.response.finish=Error finishing response http11processor.response.invalidHeader=The HTTP response header [{0}] with value [{1}] has been removed from the response because it is invalid http11processor.sendfile.error=Error sending data using sendfile. May be caused by invalid request attributes for start/end points - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68932] Occasional 404 or 500 errors
https://bz.apache.org/bugzilla/show_bug.cgi?id=68932 --- Comment #5 from Christopher Schultz --- Surely, Michael meant to suggest upgrading to the latest 9.0.88 that was just released. -- 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: Add missing strings
This is an automated email from the ASF dual-hosted git repository. remm 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 b60ab855f7 Add missing strings b60ab855f7 is described below commit b60ab855f7d05074339fc3aac1af03d327a72b22 Author: remm AuthorDate: Tue Apr 23 14:28:54 2024 +0200 Add missing strings --- java/org/apache/coyote/http11/Http11Processor.java| 9 +++-- java/org/apache/coyote/http11/LocalStrings.properties | 3 +++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index ebbacb7f29..7c5ca6176e 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -211,8 +211,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(400); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + -" Transfer encoding lists chunked before [" + encodingName + "]"); + log.debug(sm.getString("http11processor.request.alreadyChunked", encodingName)); } return; } @@ -233,8 +232,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(501); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + " Unsupported transfer encoding [" + -encodingName + "]"); + log.debug(sm.getString("http11processor.request.unsupportedEncoding", encodingName)); } } } @@ -612,8 +610,7 @@ public class Http11Processor extends AbstractProcessor { response.setStatus(505); setErrorState(ErrorState.CLOSE_CLEAN, null); if (log.isDebugEnabled()) { -log.debug(sm.getString("http11processor.request.prepare") + " Unsupported HTTP version \"" + -protocolMB + "\""); + log.debug(sm.getString("http11processor.request.unsupportedVersion", protocolMB)); } } } diff --git a/java/org/apache/coyote/http11/LocalStrings.properties b/java/org/apache/coyote/http11/LocalStrings.properties index 9e4d2ec86a..e42b425350 100644 --- a/java/org/apache/coyote/http11/LocalStrings.properties +++ b/java/org/apache/coyote/http11/LocalStrings.properties @@ -22,6 +22,7 @@ abstractHttp11Protocol.upgradeJmxRegistrationFail=Failed to register upgrade pro http11processor.fallToDebug=\n\ \ Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. http11processor.header.parse=Error parsing HTTP request header +http11processor.request.alreadyChunked=Error preparing request, transfer encoding lists chunked before [{0}] http11processor.request.finish=Error finishing request http11processor.request.inconsistentHosts=The host specified in the request line is not consistent with the host header http11processor.request.invalidScheme=The HTTP request contained an absolute URI with an invalid scheme @@ -34,6 +35,8 @@ http11processor.request.noHostHeader=The HTTP/1.1 request did not provide a host http11processor.request.nonNumericContentLength=The request contained a content-length header with a non-numeric value http11processor.request.prepare=Error preparing request http11processor.request.process=Error processing request +http11processor.request.unsupportedEncoding=Error preparing request, unsupported transfer encoding [{0}] +http11processor.request.unsupportedVersion=Error preparing request, unsupported HTTP version [{0}] http11processor.response.finish=Error finishing response http11processor.response.invalidHeader=The HTTP response header [{0}] with value [{1}] has been removed from the response because it is invalid http11processor.sendfile.error=Error sending data using sendfile. May be caused by invalid request attributes for start/end points - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.1.23
Jean-Frederic, On 4/23/24 08:27, jean-frederic clere wrote: On 4/23/24 09:47, Mark Thomas wrote: On 23/04/2024 06:35, jean-frederic clere wrote: On 4/17/24 12:00, Mark Thomas wrote: Build is reproducible. My tests here complain about examples, did I miss something. No idea. You'd need to do a diff to see what didn't match and that will (hopefully) point you towards the root cause. The class files are different... Investigating. Try using "ant verify-release". It will give you suggestions for investigating anything that doesn't match. -chris - 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: Ensure onAllDataRead() fires with chunked request body
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 52f007711c Ensure onAllDataRead() fires with chunked request body 52f007711c is described below commit 52f007711c73c4733c9acf4c53d988f193853306 Author: Mark Thomas AuthorDate: Tue Apr 23 13:48:49 2024 +0100 Ensure onAllDataRead() fires with chunked request body --- .../coyote/http11/filters/ChunkedInputFilter.java | 15 .../catalina/nonblocking/TestNonBlockingAPI.java | 45 ++ webapps/docs/changelog.xml | 5 +++ 3 files changed, 65 insertions(+) diff --git a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java index 13dcb7d53f..c0b74a185f 100644 --- a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java +++ b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java @@ -24,6 +24,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import org.apache.coyote.ActionCode; import org.apache.coyote.BadRequestException; import org.apache.coyote.InputBuffer; import org.apache.coyote.Request; @@ -167,6 +168,20 @@ public class ChunkedInputFilter implements InputFilter, ApplicationBufferHandler } if (endChunk) { parseEndChunk(); +if (!request.isRequestThread()) { +/* + * Perform the dispatch back to the container for the onAllDataRead() event. For non-chunked input + * this would be performed when isReady() is next called. + * + * Chunked input returns one chunk at a time for non-blocking reads. A consequence of this is that + * reading the final chunk returns -1 which signals the end of stream. The application code reading + * the request body probably won't call isReady() after receiving the -1 return value since it + * already knows it is at end of stream. Therefore we trigger the dispatch back to the container + * here which in turn ensures the onAllDataRead() event is fired. + */ +request.action(ActionCode.DISPATCH_READ, null); +request.action(ActionCode.DISPATCH_EXECUTE, null); +} return -1; } } diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java index c86a500239..eca6090712 100644 --- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java +++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java @@ -154,6 +154,51 @@ public class TestNonBlockingAPI extends TomcatBaseTest { } +@Test +public void testNonBlockingReadChunked() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +// No file system docBase required +Context ctx = getProgrammaticRootContext(); + +NBReadServlet servlet = new NBReadServlet(false, true); +String servletName = NBReadServlet.class.getName(); +Tomcat.addServlet(ctx, servletName, servlet); +ctx.addServletMappingDecoded("/", servletName); + +tomcat.start(); + +Client client = new Client(); +client.setPort(getPort()); +client.setRequest(new String[] { "GET / HTTP/1.1" + SimpleHttpClient.CRLF + + "Host: localhost:" + getPort() + SimpleHttpClient.CRLF + + "Transfer-Encoding: chunked" + SimpleHttpClient.CRLF + + SimpleHttpClient.CRLF + + "14" + SimpleHttpClient.CRLF + + "01234567890123456789" + SimpleHttpClient.CRLF + + "14" + SimpleHttpClient.CRLF + + "012345678901FINISHED" + SimpleHttpClient.CRLF + + "0" + SimpleHttpClient.CRLF + + SimpleHttpClient.CRLF}); +client.connect(); +client.sendRequest(); + +client.setUseContentLength(true); +client.readResponse(true); + +Assert.assertTrue(client.isResponse200()); +Assert.assertTrue(client.isResponseBodyOK()); +} + + +private static class Client extends SimpleHttpClient { +@Override +public boolean isResponseBodyOK() { +return "OK".equals(getResponseBody()); +} +} + + @Test public void testNonBlockingWrite() throws Exception { testNonBlockingWriteInternal(false); diff --git a/webapps/docs/chang
Re: [VOTE] Release Apache Tomcat 10.1.23
Jean-Frederic, On 4/23/24 08:27, jean-frederic clere wrote: On 4/23/24 09:47, Mark Thomas wrote: On 23/04/2024 06:35, jean-frederic clere wrote: On 4/17/24 12:00, Mark Thomas wrote: Build is reproducible. My tests here complain about examples, did I miss something. No idea. You'd need to do a diff to see what didn't match and that will (hopefully) point you towards the root cause. The class files are different... Investigating. I'm holding the VOTE-RESULT email just in case you find something truly weird. -chris - 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: Ensure onAllDataRead() fires with chunked request body
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 9dede35c55 Ensure onAllDataRead() fires with chunked request body 9dede35c55 is described below commit 9dede35c55f41590368eba01e24b1ca80a4c392d Author: Mark Thomas AuthorDate: Tue Apr 23 13:48:49 2024 +0100 Ensure onAllDataRead() fires with chunked request body --- .../coyote/http11/filters/ChunkedInputFilter.java | 15 .../catalina/nonblocking/TestNonBlockingAPI.java | 45 ++ webapps/docs/changelog.xml | 5 +++ 3 files changed, 65 insertions(+) diff --git a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java index 13dcb7d53f..c0b74a185f 100644 --- a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java +++ b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java @@ -24,6 +24,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import org.apache.coyote.ActionCode; import org.apache.coyote.BadRequestException; import org.apache.coyote.InputBuffer; import org.apache.coyote.Request; @@ -167,6 +168,20 @@ public class ChunkedInputFilter implements InputFilter, ApplicationBufferHandler } if (endChunk) { parseEndChunk(); +if (!request.isRequestThread()) { +/* + * Perform the dispatch back to the container for the onAllDataRead() event. For non-chunked input + * this would be performed when isReady() is next called. + * + * Chunked input returns one chunk at a time for non-blocking reads. A consequence of this is that + * reading the final chunk returns -1 which signals the end of stream. The application code reading + * the request body probably won't call isReady() after receiving the -1 return value since it + * already knows it is at end of stream. Therefore we trigger the dispatch back to the container + * here which in turn ensures the onAllDataRead() event is fired. + */ +request.action(ActionCode.DISPATCH_READ, null); +request.action(ActionCode.DISPATCH_EXECUTE, null); +} return -1; } } diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java index acdad397ca..1df7859c2d 100644 --- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java +++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java @@ -153,6 +153,51 @@ public class TestNonBlockingAPI extends TomcatBaseTest { } +@Test +public void testNonBlockingReadChunked() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +// No file system docBase required +Context ctx = getProgrammaticRootContext(); + +NBReadServlet servlet = new NBReadServlet(false, true); +String servletName = NBReadServlet.class.getName(); +Tomcat.addServlet(ctx, servletName, servlet); +ctx.addServletMappingDecoded("/", servletName); + +tomcat.start(); + +Client client = new Client(); +client.setPort(getPort()); +client.setRequest(new String[] { "GET / HTTP/1.1" + SimpleHttpClient.CRLF + + "Host: localhost:" + getPort() + SimpleHttpClient.CRLF + + "Transfer-Encoding: chunked" + SimpleHttpClient.CRLF + + SimpleHttpClient.CRLF + + "14" + SimpleHttpClient.CRLF + + "01234567890123456789" + SimpleHttpClient.CRLF + + "14" + SimpleHttpClient.CRLF + + "012345678901FINISHED" + SimpleHttpClient.CRLF + + "0" + SimpleHttpClient.CRLF + + SimpleHttpClient.CRLF}); +client.connect(); +client.sendRequest(); + +client.setUseContentLength(true); +client.readResponse(true); + +Assert.assertTrue(client.isResponse200()); +Assert.assertTrue(client.isResponseBodyOK()); +} + + +private static class Client extends SimpleHttpClient { +@Override +public boolean isResponseBodyOK() { +return "OK".equals(getResponseBody()); +} +} + + @Test public void testNonBlockingWrite() throws Exception { testNonBlockingWriteInternal(false); diff --git a/webapps/docs/changel
(tomcat) branch main updated: Ensure onAllDataRead() fires with chunked request body
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 e62cf34b1c Ensure onAllDataRead() fires with chunked request body e62cf34b1c is described below commit e62cf34b1c1e4c56d1a448735337fe30a7eb96eb Author: Mark Thomas AuthorDate: Tue Apr 23 13:48:49 2024 +0100 Ensure onAllDataRead() fires with chunked request body --- .../coyote/http11/filters/ChunkedInputFilter.java | 15 .../catalina/nonblocking/TestNonBlockingAPI.java | 45 ++ webapps/docs/changelog.xml | 5 +++ 3 files changed, 65 insertions(+) diff --git a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java index 13dcb7d53f..c0b74a185f 100644 --- a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java +++ b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java @@ -24,6 +24,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import org.apache.coyote.ActionCode; import org.apache.coyote.BadRequestException; import org.apache.coyote.InputBuffer; import org.apache.coyote.Request; @@ -167,6 +168,20 @@ public class ChunkedInputFilter implements InputFilter, ApplicationBufferHandler } if (endChunk) { parseEndChunk(); +if (!request.isRequestThread()) { +/* + * Perform the dispatch back to the container for the onAllDataRead() event. For non-chunked input + * this would be performed when isReady() is next called. + * + * Chunked input returns one chunk at a time for non-blocking reads. A consequence of this is that + * reading the final chunk returns -1 which signals the end of stream. The application code reading + * the request body probably won't call isReady() after receiving the -1 return value since it + * already knows it is at end of stream. Therefore we trigger the dispatch back to the container + * here which in turn ensures the onAllDataRead() event is fired. + */ +request.action(ActionCode.DISPATCH_READ, null); +request.action(ActionCode.DISPATCH_EXECUTE, null); +} return -1; } } diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java index 6d2e202031..66fbf2ac12 100644 --- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java +++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java @@ -155,6 +155,51 @@ public class TestNonBlockingAPI extends TomcatBaseTest { } +@Test +public void testNonBlockingReadChunked() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +// No file system docBase required +Context ctx = getProgrammaticRootContext(); + +NBReadServlet servlet = new NBReadServlet(false, true); +String servletName = NBReadServlet.class.getName(); +Tomcat.addServlet(ctx, servletName, servlet); +ctx.addServletMappingDecoded("/", servletName); + +tomcat.start(); + +Client client = new Client(); +client.setPort(getPort()); +client.setRequest(new String[] { "GET / HTTP/1.1" + SimpleHttpClient.CRLF + + "Host: localhost:" + getPort() + SimpleHttpClient.CRLF + + "Transfer-Encoding: chunked" + SimpleHttpClient.CRLF + + SimpleHttpClient.CRLF + + "14" + SimpleHttpClient.CRLF + + "01234567890123456789" + SimpleHttpClient.CRLF + + "14" + SimpleHttpClient.CRLF + + "012345678901FINISHED" + SimpleHttpClient.CRLF + + "0" + SimpleHttpClient.CRLF + + SimpleHttpClient.CRLF}); +client.connect(); +client.sendRequest(); + +client.setUseContentLength(true); +client.readResponse(true); + +Assert.assertTrue(client.isResponse200()); +Assert.assertTrue(client.isResponseBodyOK()); +} + + +private static class Client extends SimpleHttpClient { +@Override +public boolean isResponseBodyOK() { +return "OK".equals(getResponseBody()); +} +} + + @Test public void testNonBlockingWrite() throws Exception { testNonBlockingWriteInternal(false); diff --git a/webapps/docs/changelog
[Bug 68932] Occasional 404 or 500 errors
https://bz.apache.org/bugzilla/show_bug.cgi?id=68932 --- Comment #6 from Michael Osipov --- (In reply to Christopher Schultz from comment #5) > Surely, Michael meant to suggest upgrading to the latest 9.0.88 that was > just released. No, I wanted to know wether this problem is in 8 or 9 first. It is easier to diff latest version of 8 and 9 instead of ancient ones. -- 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
Re: [VOTE] Release Apache Tomcat 10.1.23
On 4/23/24 14:44, Christopher Schultz wrote: Jean-Frederic, On 4/23/24 08:27, jean-frederic clere wrote: On 4/23/24 09:47, Mark Thomas wrote: On 23/04/2024 06:35, jean-frederic clere wrote: On 4/17/24 12:00, Mark Thomas wrote: Build is reproducible. My tests here complain about examples, did I miss something. No idea. You'd need to do a diff to see what didn't match and that will (hopefully) point you towards the root cause. The class files are different... Investigating. Try using "ant verify-release". It will give you suggestions for investigating anything that doesn't match. +++ BUILD FAILED /home/jfclere/TMP/tomcat-native-tests/apache-tomcat-10.1.23-src/build.xml:4363: Release toolchain versions do not match local toolchain: Release Java: 22+36 Local Java: 17.0.9+9 Release Ant: 1.10.14 Local Ant:1.10.12 You may not be able to verify that this build is reproducible. +++ -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org -- Cheers Jean-Frederic - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Add debug log when going above a configured latch limit
This is an automated email from the ASF dual-hosted git repository. remm 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 e83695f8b5 Add debug log when going above a configured latch limit e83695f8b5 is described below commit e83695f8b5a365a31b9d1a38fa84b6d54ee848d0 Author: remm AuthorDate: Tue Apr 23 16:31:11 2024 +0200 Add debug log when going above a configured latch limit --- java/org/apache/tomcat/util/threads/LimitLatch.java | 5 + java/org/apache/tomcat/util/threads/LocalStrings.properties | 2 ++ webapps/docs/changelog.xml | 4 3 files changed, 11 insertions(+) diff --git a/java/org/apache/tomcat/util/threads/LimitLatch.java b/java/org/apache/tomcat/util/threads/LimitLatch.java index 06675dd15d..5eea56aad1 100644 --- a/java/org/apache/tomcat/util/threads/LimitLatch.java +++ b/java/org/apache/tomcat/util/threads/LimitLatch.java @@ -22,6 +22,7 @@ import java.util.concurrent.locks.AbstractQueuedSynchronizer; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.res.StringManager; /** * Shared latch that allows the latch to be acquired a limited number of times @@ -31,6 +32,7 @@ import org.apache.juli.logging.LogFactory; public class LimitLatch { private static final Log log = LogFactory.getLog(LimitLatch.class); +private static final StringManager sm = StringManager.getManager(LimitLatch.class); private class Sync extends AbstractQueuedSynchronizer { private static final long serialVersionUID = 1L; @@ -42,6 +44,9 @@ public class LimitLatch { protected int tryAcquireShared(int ignored) { long newCount = count.incrementAndGet(); if (!released && newCount > limit) { +if (log.isDebugEnabled()) { +log.debug(sm.getString("limitLatch.exceeded", Long.valueOf(limit))); +} // Limit exceeded count.decrementAndGet(); return -1; diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 011470bac8..22a50d21be 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +limitLatch.exceeded=Latch limit [{0}] exceeded + taskQueue.notRunning=Executor not running, can't force a command into the queue taskThread.exiting=Thread exiting on purpose diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 84ba411ffe..3f8eddfbf7 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -164,6 +164,10 @@ request body uses chunked encoding and is read using non-blocking IO. (markt) + +68934: Add debug logging in the latch object when exceeding +maxConnections. (remm) + - 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: Add debug log when going above a configured latch limit
This is an automated email from the ASF dual-hosted git repository. remm 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 d1319a3628 Add debug log when going above a configured latch limit d1319a3628 is described below commit d1319a36284d0fa8b851e35b1716ba9bbd15dcdb Author: remm AuthorDate: Tue Apr 23 16:31:11 2024 +0200 Add debug log when going above a configured latch limit --- java/org/apache/tomcat/util/threads/LimitLatch.java | 5 + java/org/apache/tomcat/util/threads/LocalStrings.properties | 2 ++ webapps/docs/changelog.xml | 4 3 files changed, 11 insertions(+) diff --git a/java/org/apache/tomcat/util/threads/LimitLatch.java b/java/org/apache/tomcat/util/threads/LimitLatch.java index 06675dd15d..5eea56aad1 100644 --- a/java/org/apache/tomcat/util/threads/LimitLatch.java +++ b/java/org/apache/tomcat/util/threads/LimitLatch.java @@ -22,6 +22,7 @@ import java.util.concurrent.locks.AbstractQueuedSynchronizer; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.res.StringManager; /** * Shared latch that allows the latch to be acquired a limited number of times @@ -31,6 +32,7 @@ import org.apache.juli.logging.LogFactory; public class LimitLatch { private static final Log log = LogFactory.getLog(LimitLatch.class); +private static final StringManager sm = StringManager.getManager(LimitLatch.class); private class Sync extends AbstractQueuedSynchronizer { private static final long serialVersionUID = 1L; @@ -42,6 +44,9 @@ public class LimitLatch { protected int tryAcquireShared(int ignored) { long newCount = count.incrementAndGet(); if (!released && newCount > limit) { +if (log.isDebugEnabled()) { +log.debug(sm.getString("limitLatch.exceeded", Long.valueOf(limit))); +} // Limit exceeded count.decrementAndGet(); return -1; diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 53856f58a0..5c79a42bd0 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +limitLatch.exceeded=Latch limit [{0}] exceeded + taskQueue.notRunning=Executor not running, can't force a command into the queue taskThread.exiting=Thread exiting on purpose diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 036fed1454..b27c12dbe9 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -169,6 +169,10 @@ request body uses chunked encoding and is read using non-blocking IO. (markt) + +68934: Add debug logging in the latch object when exceeding +maxConnections. (remm) + - 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: Add debug log when going above a configured latch limit
This is an automated email from the ASF dual-hosted git repository. remm 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 6b2578b8ff Add debug log when going above a configured latch limit 6b2578b8ff is described below commit 6b2578b8ff69925819ba641b70132aa33aec4a9e Author: remm AuthorDate: Tue Apr 23 16:31:11 2024 +0200 Add debug log when going above a configured latch limit --- java/org/apache/tomcat/util/threads/LimitLatch.java | 5 + java/org/apache/tomcat/util/threads/LocalStrings.properties | 2 ++ webapps/docs/changelog.xml | 4 3 files changed, 11 insertions(+) diff --git a/java/org/apache/tomcat/util/threads/LimitLatch.java b/java/org/apache/tomcat/util/threads/LimitLatch.java index 06675dd15d..5eea56aad1 100644 --- a/java/org/apache/tomcat/util/threads/LimitLatch.java +++ b/java/org/apache/tomcat/util/threads/LimitLatch.java @@ -22,6 +22,7 @@ import java.util.concurrent.locks.AbstractQueuedSynchronizer; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.res.StringManager; /** * Shared latch that allows the latch to be acquired a limited number of times @@ -31,6 +32,7 @@ import org.apache.juli.logging.LogFactory; public class LimitLatch { private static final Log log = LogFactory.getLog(LimitLatch.class); +private static final StringManager sm = StringManager.getManager(LimitLatch.class); private class Sync extends AbstractQueuedSynchronizer { private static final long serialVersionUID = 1L; @@ -42,6 +44,9 @@ public class LimitLatch { protected int tryAcquireShared(int ignored) { long newCount = count.incrementAndGet(); if (!released && newCount > limit) { +if (log.isDebugEnabled()) { +log.debug(sm.getString("limitLatch.exceeded", Long.valueOf(limit))); +} // Limit exceeded count.decrementAndGet(); return -1; diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 53856f58a0..5c79a42bd0 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +limitLatch.exceeded=Latch limit [{0}] exceeded + taskQueue.notRunning=Executor not running, can't force a command into the queue taskThread.exiting=Thread exiting on purpose diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index f1fc917298..4608fa5a61 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -159,6 +159,10 @@ request body uses chunked encoding and is read using non-blocking IO. (markt) + +68934: Add debug logging in the latch object when exceeding +maxConnections. (remm) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68934] Add logginge for set Connector parameter limits such as maxConnections
https://bz.apache.org/bugzilla/show_bug.cgi?id=68934 Remy Maucherat changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Remy Maucherat --- It is not possible to do something generic for everything. I added a debug log to LimitLatch when going over the limit, which is the structure used for enforcing maxConnections. The latch had some tracing already, but nothing for the actually important event ... This could get verbose if hit all the time though. maxThreads is about the thread pool, which has a lot of statistics and exceptions when rejecting a task (when maxThreads + queue full). There are multiple possible thread pool implementations so any of them could be doing something slightly different. -- 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
Re: [VOTE] Release Apache Tomcat 10.1.23
On 4/23/24 14:47, Christopher Schultz wrote: Jean-Frederic, On 4/23/24 08:27, jean-frederic clere wrote: On 4/23/24 09:47, Mark Thomas wrote: On 23/04/2024 06:35, jean-frederic clere wrote: On 4/17/24 12:00, Mark Thomas wrote: Build is reproducible. My tests here complain about examples, did I miss something. No idea. You'd need to do a diff to see what didn't match and that will (hopefully) point you towards the root cause. The class files are different... Investigating. I'm holding the VOTE-RESULT email just in case you find something truly weird. I have changed my VM to 22 and the diff are passing now so I think we are good, thanks for releasing. -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org -- Cheers Jean-Frederic - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Add release date
This is an automated email from the ASF dual-hosted git repository. remm 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 edbfd88388 Add release date edbfd88388 is described below commit edbfd883884ad353ffbf7d689d0baa18ec60efd5 Author: remm AuthorDate: Tue Apr 23 17:09:40 2024 +0200 Add release date --- webapps/docs/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 3f8eddfbf7..84f0728374 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -180,7 +180,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: Add release date
This is an automated email from the ASF dual-hosted git repository. remm 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 fb0d731ffe Add release date fb0d731ffe is described below commit fb0d731ffebb49005dcf8428264d9a32d1081a70 Author: remm AuthorDate: Tue Apr 23 17:10:31 2024 +0200 Add release date --- webapps/docs/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 4608fa5a61..975279bfd2 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -176,7 +176,7 @@ - + - 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: Next is 10.1.24
This is an automated email from the ASF dual-hosted git repository. remm 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 fb5b3ffe0a Next is 10.1.24 fb5b3ffe0a is described below commit fb5b3ffe0a038e9e59fc381e5e344f0292af794b Author: remm AuthorDate: Tue Apr 23 17:15:08 2024 +0200 Next is 10.1.24 Fix changelog. --- build.properties.default | 2 +- res/maven/mvn.properties.default | 2 +- webapps/docs/changelog.xml | 60 +++- 3 files changed, 37 insertions(+), 27 deletions(-) diff --git a/build.properties.default b/build.properties.default index 0efb35249b..9a6764c453 100644 --- a/build.properties.default +++ b/build.properties.default @@ -31,7 +31,7 @@ # - Version Control Flags - version.major=10 version.minor=1 -version.build=23 +version.build=24 version.patch=0 version.suffix= version.dev=-dev diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default index 0e3eb7861b..d5a2848510 100644 --- a/res/maven/mvn.properties.default +++ b/res/maven/mvn.properties.default @@ -39,7 +39,7 @@ maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d maven.asf.release.repo.repositoryId=apache.releases.https # Release version info -maven.asf.release.deploy.version=10.1.23 +maven.asf.release.deploy.version=10.1.24 #Where do we load the libraries from tomcat.lib.path=../../output/build/lib diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index b27c12dbe9..20ee6a0cbc 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -104,27 +104,9 @@ They eventually become mixed with the numbered issues (i.e., numbered issues do not "pop up" wrt. others). --> - + - -Deprecate and remove sessionCounter (replaced by the -addition of the active session count and the expired session count, -as a reasonable approximation) and duplicates (which -does not represent a possible event in current implementations) -statistics from the session manager. (remm) - - -68890 Align output encoding of JSPs in the Manager webapp -with the XML declarations in those same files. (schultz) - - -Update Basic authentication to implement the requirements of RFC 7617 -including the changing of the trimCredentials setting which -is now defaults to false. Note that the -trimCredentials setting will be removed in Tomcat 11. -(markt) - Small performance optimization when logging cookies with no values. (schultz) @@ -143,12 +125,6 @@ - -Fix bnd jar descriptor to include the OpenSSL FFM support. (remm) - - -Add OpenSSL FFM classes to tomcat-embed-core.jar. (remm) - Align non-secure and secure writes with NIO and skip the write attempt when there are no bytes to be written. (markt) @@ -186,6 +162,40 @@ + + + + +Deprecate and remove sessionCounter (replaced by the +addition of the active session count and the expired session count, +as a reasonable approximation) and duplicates (which +does not represent a possible event in current implementations) +statistics from the session manager. (remm) + + +68890 Align output encoding of JSPs in the Manager webapp +with the XML declarations in those same files. (schultz) + + +Update Basic authentication to implement the requirements of RFC 7617 +including the changing of the trimCredentials setting which +is now defaults to false. Note that the +trimCredentials setting will be removed in Tomcat 11. +(markt) + + + + + + +Fix bnd jar descriptor to include the OpenSSL FFM support. (remm) + + +Add OpenSSL FFM classes to tomcat-embed-core.jar. (remm) + + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[VOTE][RESULT] Release Apache Tomcat 10.1.23
All, The following votes were cast: Binding: +1: schultz, remm, markt, rjung, jfclere Non-binding: +1: Dimitris Soumis There were no other votes, therefore the vote passed. I will begin the release process shortly. Thanks to everyone who contributed toward this release. -chris The proposed Apache Tomcat 10.1.23 release is now available for voting. Apache Tomcat 10.1.21 was canceled due to a release-build mistake and Apache Tomcat 10.1.22 was cancelled due to an option in startup scripts which would have caused Java 11 environments to fail to start. The notable changes compared to 10.1.20 are: - Improve locking strategies in Catalina core - Update Basic authentication to implement the requirements of RFC 7617 - Updates to Apache Commons dependencies - Add OpenSSL support when FFM is available For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.23/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1492 The tag is: https://github.com/apache/tomcat/tree/10.1.23 https://github.com/apache/tomcat/commit/9062d27dc5122e8241ea62a4c4312af0dc71da49 Please reply with a +1 for release or -0/-1 with an explanation. The proposed 10.1.23 release is: [ ] Broken - do not release [ ] Stable - go ahead and release as 10.1.23 - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r68732 - /dev/tomcat/tomcat-10/v10.1.23/ /release/tomcat/tomcat-10/v10.1.23/
Author: schultz Date: Tue Apr 23 20:26:28 2024 New Revision: 68732 Log: Promote v10.1.23 to released. Added: release/tomcat/tomcat-10/v10.1.23/ - copied from r68731, dev/tomcat/tomcat-10/v10.1.23/ Removed: dev/tomcat/tomcat-10/v10.1.23/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1917291 - in /tomcat/site/trunk: ./ docs/ docs/tomcat-10.1-doc/ docs/tomcat-10.1-doc/annotationapi/ docs/tomcat-10.1-doc/annotationapi/jakarta/annotation/ docs/tomcat-10.1-doc/annotationa
Author: schultz Date: Tue Apr 23 20:35:05 2024 New Revision: 1917291 URL: http://svn.apache.org/viewvc?rev=1917291&view=rev Log: Update website to announce the release of Apache Tomcat 10.1.23. [This commit notification would consist of 468 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.] - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1917292 - /tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html
Author: schultz Date: Tue Apr 23 20:37:56 2024 New Revision: 1917292 URL: http://svn.apache.org/viewvc?rev=1917292&view=rev Log: Update release date for Tomcat 8.5.100. Modified: tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html Modified: tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html?rev=1917292&r1=1917291&r2=1917292&view=diff == --- tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html (original) +++ tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html Tue Apr 23 20:37:56 2024 @@ -1,7 +1,7 @@ Apache Tomcat 8 (8.5.100) - Changeloghttps://tomcat.apache.org/";>https://www.apache.org/"; target="_blank">Apache Tomcat 8 Version 8.5.100, -Mar 19 2024LinksDocs Homehttps://cwiki.apache.org/confluence/display/TOMCAT/FAQ";>FAQUser Guide1) Introduction2) Setup3) First webapp4) Deployer5) Manager6) Host Manager7) Realms and AAA8) Security Manager9) JNDI Resources10) JDBC DataSources 11) Classloading12) JSPs13) SSL/TLS14) SSI15) CGI16) Proxy Support17) MBeans Descriptors18) Default Servlet19) Clustering20) Load Balancer21) Connectors22) Monitoring and Management23) Logging24) APR/Native25) Virtual Hosting26) Advanced IO27) Additional Components28) Maveni zed29) Security Considerations30) Windows Service31) Windows Authentication32) Tomcat's JDBC Pool33) WebSocket34) RewriteReferenceRelease NotesConfigurationTomcat JavadocsServlet 3.1 JavadocsJSP 2.3 JavadocsEL 3.0 JavadocsWebSocket 1.1 JavadocsJASPIC 1.1 JavadocsCommon Annotations 1.2 JavadocsJK 1.2 DocumentationApache Tomcat DevelopmentBuildingChangeloghttps://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions";>StatusDevelopersArchitectureTribesChangelog Tomcat 8.5.100 (schultz) +Mar 19 2024LinksDocs Homehttps://cwiki.apache.org/confluence/display/TOMCAT/FAQ";>FAQUser Guide1) Introduction2) Setup3) First webapp4) Deployer5) Manager6) Host Manager7) Realms and AAA8) Security Manager9) JNDI Resources10) JDBC DataSources 11) Classloading12) JSPs13) SSL/TLS14) SSI15) CGI16) Proxy Support17) MBeans Descriptors18) Default Servlet19) Clustering20) Load Balancer21) Connectors22) Monitoring and Management23) Logging24) APR/Native25) Virtual Hosting26) Advanced IO27) Additional Components28) Maveni zed29) Security Considerations30) Windows Service31) Windows Authentication32) Tomcat's JDBC Pool33) WebSocket34) RewriteReferenceRelease NotesConfigurationTomcat JavadocsServlet 3.1 JavadocsJSP 2.3 JavadocsEL 3.0 JavadocsWebSocket 1.1 JavadocsJASPIC 1.1 JavadocsCommon Annotations 1.2 JavadocsJK 1.2 DocumentationApache Tomcat DevelopmentBuildingChangeloghttps://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions";>StatusDevelopersArchitectureTribesChangelog2024-03-25 Tomcat 8.5.100 (schultz) Catalina @@ -12683,4 +12683,4 @@ Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo are either registered trademarks or trademarks of the Apache Software Foundation. - \ No newline at end of file + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r68733 - in /release/tomcat/tomcat-10: v10.1.19/ v10.1.20/
Author: schultz Date: Tue Apr 23 20:40:16 2024 New Revision: 68733 Log: Drop old release artifacts Removed: release/tomcat/tomcat-10/v10.1.19/ release/tomcat/tomcat-10/v10.1.20/ - 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: Add release date
This is an automated email from the ASF dual-hosted git repository. schultz 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 0262b2abdc Add release date 0262b2abdc is described below commit 0262b2abdca6622318eb8dfb8f1f5f807ee6e7fb Author: Christopher Schultz AuthorDate: Tue Apr 23 16:44:27 2024 -0400 Add release date --- webapps/docs/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 20ee6a0cbc..82142794da 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -162,7 +162,7 @@ - + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68934] Log events which exceed Connector parameter limits such as maxConnections
https://bz.apache.org/bugzilla/show_bug.cgi?id=68934 Christopher Schultz changed: What|Removed |Added Summary|Add logginge for set|Log events which exceed |Connector parameter limits |Connector parameter limits |such as maxConnections |such as maxConnections -- 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 68938] ScriptEngine engine is null
https://bz.apache.org/bugzilla/show_bug.cgi?id=68938 --- Comment #2 from Adam --- (In reply to Michael Osipov from comment #1) > ??? So what? What is the report here? How to config the maven pom to solve the problem. -- 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