buildbot success in on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building . Full details are available at: https://ci.apache.org/builders/tomcat-trunk/builds/3019 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: silvanus_ubuntu Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' triggered this build Build Source Stamp: [branch tomcat/trunk] 1823007 Blamelist: markt Build succeeded! Sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1823007 - in /tomcat/trunk/test/org/apache/catalina: mapper/TestMapperWebapps.java valves/rewrite/TestRewriteValve.java
Author: markt Date: Fri Feb 2 21:42:05 2018 New Revision: 1823007 URL: http://svn.apache.org/viewvc?rev=1823007=rev Log: Switch tests to using per connection control of redirects rather than changing the default which may fail when testing with concurrent threads. Modified: tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java Modified: tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java?rev=1823007=1823006=1823007=diff == --- tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java (original) +++ tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java Fri Feb 2 21:42:05 2018 @@ -18,7 +18,6 @@ package org.apache.catalina.mapper; import java.io.File; import java.io.IOException; -import java.net.HttpURLConnection; import java.util.HashMap; import java.util.List; @@ -231,61 +230,54 @@ public class TestMapperWebapps extends T @Test public void testRedirect() throws Exception { -// Disable the following of redirects for this test only -boolean originalValue = HttpURLConnection.getFollowRedirects(); -HttpURLConnection.setFollowRedirects(false); -try { -Tomcat tomcat = getTomcatInstance(); - -// Use standard test webapp as ROOT -File rootDir = new File("test/webapp"); -org.apache.catalina.Context root = -tomcat.addWebapp(null, "", rootDir.getAbsolutePath()); - -// Add a security constraint -SecurityConstraint constraint = new SecurityConstraint(); -SecurityCollection collection = new SecurityCollection(); -collection.addPatternDecoded("/welcome-files/*"); -collection.addPatternDecoded("/welcome-files"); -constraint.addCollection(collection); -constraint.addAuthRole("foo"); -root.addConstraint(constraint); - -// Also make examples available -File examplesDir = new File(getBuildDirectory(), "webapps/examples"); -org.apache.catalina.Context examples = tomcat.addWebapp( -null, "/examples", examplesDir.getAbsolutePath()); -examples.setMapperContextRootRedirectEnabled(false); -// Then block access to the examples to test redirection -RemoteAddrValve rav = new RemoteAddrValve(); -rav.setDeny(".*"); -rav.setDenyStatus(404); -examples.getPipeline().addValve(rav); - -tomcat.start(); - -// Redirects within a web application -doRedirectTest("/welcome-files", 401); -doRedirectTest("/welcome-files/", 401); - -doRedirectTest("/jsp", 302); -doRedirectTest("/jsp/", 404); - -doRedirectTest("/WEB-INF", 404); -doRedirectTest("/WEB-INF/", 404); - -// Redirects between web applications -doRedirectTest("/examples", 404); -doRedirectTest("/examples/", 404); -} finally { -HttpURLConnection.setFollowRedirects(originalValue); -} +Tomcat tomcat = getTomcatInstance(); + +// Use standard test webapp as ROOT +File rootDir = new File("test/webapp"); +org.apache.catalina.Context root = +tomcat.addWebapp(null, "", rootDir.getAbsolutePath()); + +// Add a security constraint +SecurityConstraint constraint = new SecurityConstraint(); +SecurityCollection collection = new SecurityCollection(); +collection.addPatternDecoded("/welcome-files/*"); +collection.addPatternDecoded("/welcome-files"); +constraint.addCollection(collection); +constraint.addAuthRole("foo"); +root.addConstraint(constraint); + +// Also make examples available +File examplesDir = new File(getBuildDirectory(), "webapps/examples"); +org.apache.catalina.Context examples = tomcat.addWebapp( +null, "/examples", examplesDir.getAbsolutePath()); +examples.setMapperContextRootRedirectEnabled(false); +// Then block access to the examples to test redirection +RemoteAddrValve rav = new RemoteAddrValve(); +rav.setDeny(".*"); +rav.setDenyStatus(404); +examples.getPipeline().addValve(rav); + +tomcat.start(); + +// Redirects within a web application +doRedirectTest("/welcome-files", 401); +doRedirectTest("/welcome-files/", 401); + +doRedirectTest("/jsp", 302); +doRedirectTest("/jsp/", 404); + +doRedirectTest("/WEB-INF", 404); +doRedirectTest("/WEB-INF/", 404); + +// Redirects between web applications +
svn commit: r1823006 - /tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
Author: markt Date: Fri Feb 2 21:41:59 2018 New Revision: 1823006 URL: http://svn.apache.org/viewvc?rev=1823006=rev Log: Add option for test to control if redirects are followed or not Modified: tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java Modified: tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java?rev=1823006=1823005=1823006=diff == --- tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java (original) +++ tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java Fri Feb 2 21:41:59 2018 @@ -622,38 +622,48 @@ public abstract class TomcatBaseTest ext return out; } -public static int getUrl(String path, ByteChunk out, -MapresHead) throws IOException { +public static int getUrl(String path, ByteChunk out, Map resHead) +throws IOException { return getUrl(path, out, null, resHead); } -public static int headUrl(String path, ByteChunk out, -Map resHead) throws IOException { +public static int getUrl(String path, ByteChunk out, boolean followRedirects) +throws IOException { +return methodUrl(path, out, DEFAULT_CLIENT_TIMEOUT_MS, null, null, "GET", followRedirects); +} + +public static int headUrl(String path, ByteChunk out, Map resHead) +throws IOException { return methodUrl(path, out, DEFAULT_CLIENT_TIMEOUT_MS, null, resHead, "HEAD"); } -public static int getUrl(String path, ByteChunk out, -Map reqHead, +public static int getUrl(String path, ByteChunk out, Map reqHead, Map resHead) throws IOException { return getUrl(path, out, DEFAULT_CLIENT_TIMEOUT_MS, reqHead, resHead); } public static int getUrl(String path, ByteChunk out, int readTimeout, -Map reqHead, -Map resHead) throws IOException { +Map reqHead, Map resHead) +throws IOException { return methodUrl(path, out, readTimeout, reqHead, resHead, "GET"); } public static int methodUrl(String path, ByteChunk out, int readTimeout, -Map reqHead, -Map resHead, -String method) throws IOException { +Map reqHead, Map resHead, String method) +throws IOException { +return methodUrl(path, out, readTimeout, reqHead, resHead, method, true); +} + +public static int methodUrl(String path, ByteChunk out, int readTimeout, +Map reqHead, Map resHead, String method, +boolean followRedirects) throws IOException { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setUseCaches(false); connection.setReadTimeout(readTimeout); connection.setRequestMethod(method); +connection.setInstanceFollowRedirects(followRedirects); if (reqHead != null) { for (Map.Entry entry : reqHead.entrySet()) { StringBuilder valueList = new StringBuilder(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 62024] Suspected memory leak of org.apache.coyote.AbstractProtocol$ConnectionHandler object while using Websocket
https://bz.apache.org/bugzilla/show_bug.cgi?id=62024 SergePchanged: What|Removed |Added OS|All |Windows Server 2012 -- 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
buildbot failure in on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building . Full details are available at: https://ci.apache.org/builders/tomcat-trunk/builds/3018 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: silvanus_ubuntu Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' triggered this build Build Source Stamp: [branch tomcat/trunk] 1822995 Blamelist: violetagg BUILD FAILED: failed compile_1 Sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Fix the public interfaces for Tomcat 9 in the release notes
2018-02-02 19:47 GMT+02:00 Mark Thomas: > > > > On 01/02/2018 16:14, Violeta Georgieva wrote: >> >> Hi, >> >> As Tomcat 9 is now stable I think we can fix the public API here >> http://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt >> >> Wdyt? > > > +1 > > We can do that for the next release. I did a commit with an update. > We should probably check the earlier versions as well. The previous versions are OK Regards, Violeta > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org >
svn commit: r1822995 - in /tomcat/trunk: RELEASE-NOTES webapps/docs/changelog.xml
Author: violetagg Date: Fri Feb 2 18:26:49 2018 New Revision: 1822995 URL: http://svn.apache.org/viewvc?rev=1822995=rev Log: Update the list with the public interfaces in the RELEASE-NOTES. Modified: tomcat/trunk/RELEASE-NOTES tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/RELEASE-NOTES URL: http://svn.apache.org/viewvc/tomcat/trunk/RELEASE-NOTES?rev=1822995=1822994=1822995=diff == --- tomcat/trunk/RELEASE-NOTES (original) +++ tomcat/trunk/RELEASE-NOTES Fri Feb 2 18:26:49 2018 @@ -47,12 +47,12 @@ API Stability: The public interfaces for the following classes are fixed and will not be changed at all during the remaining lifetime of the @VERSION_MAJOR@.x series: -- None +- All classes in the javax namespace The public interfaces for the following classes may be added to in order to resolve bugs and/or add new features. No existing interface method will be removed or changed although it may be deprecated. -- None +- org.apache.catalina.* (excluding sub-packages) Note: As Tomcat @VERSION_MAJOR@ matures, the above list will be added to. The list is not considered complete at this time. Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1822995=1822994=1822995=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri Feb 2 18:26:49 2018 @@ -189,6 +189,14 @@ + + + +Update the list with the public interfaces in the RELEASE-NOTES. +(violetagg) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Tagging 9.0.x and 8.5.x
Hi, It is the beginning on the month again so I am planning on tagging early next week. There are a few bugs still to be fixed so that might slip a little. Please respond on these thread if you need me to delay for any reason. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Fix the public interfaces for Tomcat 9 in the release notes
On 01/02/2018 16:14, Violeta Georgieva wrote: Hi, As Tomcat 9 is now stable I think we can fix the public API here http://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt Wdyt? +1 We can do that for the next release. We should probably check the earlier versions as well. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 41007] Can't define customized 503 error page
https://bz.apache.org/bugzilla/show_bug.cgi?id=41007 Andy Wilkinsonchanged: What|Removed |Added CC||awilkin...@pivotal.io -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1822973 - in /tomcat/site/trunk: docs/download-70.html docs/download-80.html xdocs/download-70.xml xdocs/download-80.xml
Author: kkolinko Date: Fri Feb 2 15:28:06 2018 New Revision: 1822973 URL: http://svn.apache.org/viewvc?rev=1822973=rev Log: Add download links for sha512 checksum files for Tomcat 8.0 and 7.0. Modified: tomcat/site/trunk/docs/download-70.html tomcat/site/trunk/docs/download-80.html tomcat/site/trunk/xdocs/download-70.xml tomcat/site/trunk/xdocs/download-80.xml Modified: tomcat/site/trunk/docs/download-70.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-70.html?rev=1822973=1822972=1822973=diff == --- tomcat/site/trunk/docs/download-70.html (original) +++ tomcat/site/trunk/docs/download-70.html Fri Feb 2 15:28:06 2018 @@ -285,7 +285,8 @@ zip (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].zip.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].zip.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].zip.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].zip.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].zip.sha512;>sha512) @@ -293,7 +294,8 @@ tar.gz (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].tar.gz.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].tar.gz.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].tar.gz.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].tar.gz.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].tar.gz.sha512;>sha512) @@ -301,7 +303,8 @@ 32-bit Windows zip (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x86.zip.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x86.zip.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x86.zip.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x86.zip.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x86.zip.sha512;>sha512) @@ -309,7 +312,8 @@ 64-bit Windows zip (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x64.zip.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x64.zip.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x64.zip.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x64.zip.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-windows-x64.zip.sha512;>sha512) @@ -317,7 +321,8 @@ 32-bit/64-bit Windows Service Installer (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].exe.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].exe.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].exe.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].exe.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v].exe.sha512;>sha512) @@ -332,7 +337,8 @@ tar.gz (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-fulldocs.tar.gz.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-fulldocs.tar.gz.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-fulldocs.tar.gz.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-fulldocs.tar.gz.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-fulldocs.tar.gz.sha512;>sha512) @@ -347,7 +353,8 @@ zip (https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-deployer.zip.asc;>pgp, https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-deployer.zip.md5;>md5, -https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-deployer.zip.sha1;>sha1) +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-deployer.zip.sha1;>sha1, +https://www.apache.org/dist/tomcat/tomcat-7/v[v]/bin/apache-tomcat-[v]-deployer.zip.sha512;>sha512) @@ -355,7 +362,8 @@ tar.gz
svn commit: r1822942 - /tomcat/trunk/res/findbugs/filter-false-positives.xml
Author: markt Date: Fri Feb 2 10:49:21 2018 New Revision: 1822942 URL: http://svn.apache.org/viewvc?rev=1822942=rev Log: SpotBugs Exclude a couple of false positives Modified: tomcat/trunk/res/findbugs/filter-false-positives.xml Modified: tomcat/trunk/res/findbugs/filter-false-positives.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/res/findbugs/filter-false-positives.xml?rev=1822942=1822941=1822942=diff == --- tomcat/trunk/res/findbugs/filter-false-positives.xml (original) +++ tomcat/trunk/res/findbugs/filter-false-positives.xml Fri Feb 2 10:49:21 2018 @@ -895,14 +895,19 @@ - - - - + + + + + + - + + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1822945 - in /tomcat/trunk: java/org/apache/catalina/startup/Tomcat.java webapps/docs/changelog.xml
Author: markt Date: Fri Feb 2 11:06:31 2018 New Revision: 1822945 URL: http://svn.apache.org/viewvc?rev=1822945=rev Log: When using Tomcat embedded, only perform Authenticator configuration once during web application start. Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=1822945=1822944=1822945=diff == --- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Fri Feb 2 11:06:31 2018 @@ -966,18 +966,17 @@ public class Tomcat { Context context = (Context) event.getLifecycle(); if (event.getType().equals(Lifecycle.CONFIGURE_START_EVENT)) { context.setConfigured(true); -} -// LoginConfig is required to process @ServletSecurity -// annotations -if (context.getLoginConfig() == null) { -context.setLoginConfig( -new LoginConfig("NONE", null, null, null)); -context.getPipeline().addValve(new NonLoginAuthenticator()); + +// LoginConfig is required to process @ServletSecurity +// annotations +if (context.getLoginConfig() == null) { +context.setLoginConfig(new LoginConfig("NONE", null, null, null)); +context.getPipeline().addValve(new NonLoginAuthenticator()); +} } } catch (ClassCastException e) { } } - } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1822945=1822944=1822945=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri Feb 2 11:06:31 2018 @@ -87,6 +87,10 @@ Provide a correct Allow header when responding to an HTTP TRACE request for a JSP with a 405 status code. (markt) + +When using Tomcat embedded, only perform Authenticator configuration +once during web application start. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1822946 - /tomcat/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java
Author: markt Date: Fri Feb 2 11:06:55 2018 New Revision: 1822946 URL: http://svn.apache.org/viewvc?rev=1822946=rev Log: Code clean-up. No functional change. Modified: tomcat/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java Modified: tomcat/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java?rev=1822946=1822945=1822946=diff == --- tomcat/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java Fri Feb 2 11:06:55 2018 @@ -37,10 +37,9 @@ import org.apache.tomcat.util.descriptor import org.apache.tomcat.util.res.StringManager; /** - * AnnotationSet for processing the annotations of the web application - * classes (/WEB-INF/classes and /WEB-INF/lib). - * - * @author Fabien Carrion + * AnnotationSet for processing the annotations of the web + * application classes (/WEB-INF/classes and + * /WEB-INF/lib). */ public class WebAnnotationSet { @@ -49,70 +48,68 @@ public class WebAnnotationSet { /** * The string resources for this package. */ -protected static final StringManager sm = -StringManager.getManager(Constants.Package); +protected static final StringManager sm = StringManager.getManager(Constants.Package); -// - Public Methods +// -- Public Methods /** * Process the annotations on a context. + * * @param context The context which will have its annotations processed */ public static void loadApplicationAnnotations(Context context) { - loadApplicationListenerAnnotations(context); loadApplicationFilterAnnotations(context); loadApplicationServletAnnotations(context); - - } -// protected Methods - +// --- Protected Methods /** * Process the annotations for the listeners. + * * @param context The context which will have its annotations processed */ protected static void loadApplicationListenerAnnotations(Context context) { String[] applicationListeners = context.findApplicationListeners(); for (String className : applicationListeners) { -Class classClass = Introspection.loadClass(context, className); -if (classClass == null) { +Class clazz = Introspection.loadClass(context, className); +if (clazz == null) { continue; } -loadClassAnnotation(context, classClass); -loadFieldsAnnotation(context, classClass); -loadMethodsAnnotation(context, classClass); +loadClassAnnotation(context, clazz); +loadFieldsAnnotation(context, clazz); +loadMethodsAnnotation(context, clazz); } } /** * Process the annotations for the filters. + * * @param context The context which will have its annotations processed */ protected static void loadApplicationFilterAnnotations(Context context) { FilterDef[] filterDefs = context.findFilterDefs(); for (FilterDef filterDef : filterDefs) { -Class classClass = Introspection.loadClass(context, -filterDef.getFilterClass()); -if (classClass == null) { +Class clazz = Introspection.loadClass(context, filterDef.getFilterClass()); +if (clazz == null) { continue; } -loadClassAnnotation(context, classClass); -loadFieldsAnnotation(context, classClass); -loadMethodsAnnotation(context, classClass); +loadClassAnnotation(context, clazz); +loadFieldsAnnotation(context, clazz); +loadMethodsAnnotation(context, clazz); } } /** * Process the annotations for the servlets. + * * @param context The context which will have its annotations processed */ protected static void loadApplicationServletAnnotations(Context context) { @@ -126,48 +123,47 @@ public class WebAnnotationSet { continue; } -Class classClass = Introspection.loadClass(context, -wrapper.getServletClass()); -if (classClass == null) { +Class clazz = Introspection.loadClass(context, wrapper.getServletClass()); +if (clazz == null) { continue; } -loadClassAnnotation(context, classClass); -loadFieldsAnnotation(context, classClass); -
Re: Tomcat ArrayIndexOutOfBoundsException in SocketBufferHandler
On 02/02/18 04:04, 鄢锦涛 wrote: > Hello all, > > My environment : tomcat version is 8.5.23 (default configuration), JDK is > 1.8.0_121 and Linux version is centos 3.10.0-327.el7.x86_64 > With this environment, working under stress with http POST calls, After > about 80 to 100 virtual users into the test we started seeing broken responses > I do not know why but unfortunately I have sometimes the following > Exception in the logfile. Does anyone know what it the reason This is question for the users list. Mark > > Thanks in advance, > jintaoyan > > Logfile: > 2018-01-18 14:28:26.855 ERROR [ledger-services-loan-access,,,] 13575 --- > [io-8017-exec-11] o.apache.coyote.http11.Http11Processor : Error processing > request > java.lang.ArrayIndexOutOfBoundsException: null > at java.nio.HeapByteBuffer.compact(HeapByteBuffer.java:228) > atorg.apache.tomcat.util.net.SocketBufferHandler.setWriteBufferConfiguredForWrite(SocketBufferHandler.java:109) > at > org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite(SocketBufferHandler.java:91) > at > org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:447) > at > org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:388) > at > org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:644) > at > org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:121) > at > org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:235) > at org.apache.coyote.Response.doWrite(Response.java:541) > at > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351) > at > org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:815) > at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:310) > at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:263) > at org.apache.catalina.connector.Response.finishResponse(Response.java:484) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:373) > at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > > > 2018-01-18 14:28:26.860 ERROR [ledger-services-loan-access,,,] 13575 --- > [io-8017-exec-11] o.apache.coyote.http11.Http11Processor : Error finishing > response > java.lang.ArrayIndexOutOfBoundsException: null > at java.nio.HeapByteBuffer.compact(HeapByteBuffer.java:228) > atorg.apache.tomcat.util.net.SocketBufferHandler.setWriteBufferConfiguredForWrite(SocketBufferHandler.java:109) > at > org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite(SocketBufferHandler.java:91) > at > org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:447) > at > org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:388) > at > org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:644) > at > org.apache.coyote.http11.filters.ChunkedOutputFilter.end(ChunkedOutputFilter.java:184) > at > org.apache.coyote.http11.Http11OutputBuffer.finishResponse(Http11OutputBuffer.java:327) > at > org.apache.coyote.http11.Http11Processor.endRequest(Http11Processor.java:1524) > at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:843) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org