[Bug 53495] New: module-name provided with web.xml is not processed
https://issues.apache.org/bugzilla/show_bug.cgi?id=53495 Priority: P2 Bug ID: 53495 Assignee: dev@tomcat.apache.org Summary: module-name provided with web.xml is not processed Severity: normal Classification: Unclassified OS: Mac OS X 10.4 Reporter: violet...@apache.org Hardware: PC Status: NEW Version: 7.0.28 Component: Catalina Product: Tomcat 7 Created attachment 29019 -- https://issues.apache.org/bugzilla/attachment.cgi?id=29019action=edit Patch proposal Hello, I'm migrating an application to Tomcat 7.0.28. The application specifies its module name with web.xml and expects that this module name will be used as a context root. According to Java EE Platform 6 Specification: EE.8.1.2 Application Assembly ... when a stand-alone module is deployed, the module name is used as the application name, and obeys the same rules as described above for application names. The module name can be explicitly set in the module deployment descriptor. If not set, the name of the module is the base name of the module file with any extension (.war, .jar, .rar) removed and with any directory names removed. ... EE.8.4.1 Assembling a Java EE Application ... If no deployment descriptor is included in the application package, the context root of the web module will be the module name. ... EE.8.5.2 Deploying a Java EE Application ... All files in the application package with a filename extension of .war are considered web modules. The context root of the web module is the module name (see Section EE.8.1.1, “Component Creation”). ... I would like to propose a patch that will read the module-name from the web.xml and set it as context root. I believe as this is the standard way of specifying a context root for a web application and it will make the migration to Tomcat easier. I'm looking forward to your comments. Regards Violeta -- 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 53495] module-name provided with web.xml is not processed
https://issues.apache.org/bugzilla/show_bug.cgi?id=53495 Violeta Georgieva violet...@apache.org changed: What|Removed |Added Attachment #29019|0 |1 is patch|| Attachment #29019|application/octet-stream|text/plain mime type|| -- 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 53495] module-name provided with web.xml is not processed
https://issues.apache.org/bugzilla/show_bug.cgi?id=53495 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #1 from Mark Thomas ma...@apache.org --- Using a context path that does not match the name of the WAR triggers all sorts of nasty edge cases in the automatic deployment code. For this reason, the Tomcat developers decided long ago that for web applications deployed in the appBase, the context path MUST be derived from the war/directory name. -- 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 53495] module-name provided with web.xml is not processed
https://issues.apache.org/bugzilla/show_bug.cgi?id=53495 --- Comment #2 from Mark Thomas ma...@apache.org --- I would add that several parts of the specification quoted apply only to deployment of EAR files, not the deployment of stand-alone modules. Further, since these are requirements on deployment then it is the Tomcat manager app where changes - if any - should be made. It is certainly possible to get the Manager app to scan web.xml and rename WARs/directories as required but I suspect the volume of code to do this will be significant compared to the feature it provides - particularly when the user can define the context path either directly in the Manager app or by renaming the WAR. -- 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: r1356125 - /tomcat/trunk/webapps/examples/jsp/cal/login.html
Author: markt Date: Mon Jul 2 09:02:04 2012 New Revision: 1356125 URL: http://svn.apache.org/viewvc?rev=1356125view=rev Log: Fix typo Modified: tomcat/trunk/webapps/examples/jsp/cal/login.html Modified: tomcat/trunk/webapps/examples/jsp/cal/login.html URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/jsp/cal/login.html?rev=1356125r1=1356124r2=1356125view=diff == --- tomcat/trunk/webapps/examples/jsp/cal/login.html (original) +++ tomcat/trunk/webapps/examples/jsp/cal/login.html Mon Jul 2 09:02:04 2012 @@ -39,8 +39,8 @@ /form hr font size=3 color=red Note: This application does not implement the complete -functionality of a typical calendar application. It demostartes a way JSP can be -used with html tables and forms./font +functionality of a typical calendar application. It demonstrates a way JSP can +be used with html tables and forms./font /center /body - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356126 - in /tomcat/tc7.0.x/trunk: ./ webapps/examples/jsp/cal/login.html
Author: markt Date: Mon Jul 2 09:04:22 2012 New Revision: 1356126 URL: http://svn.apache.org/viewvc?rev=1356126view=rev Log: Fix typo Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/examples/jsp/cal/login.html Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1356125 Modified: tomcat/tc7.0.x/trunk/webapps/examples/jsp/cal/login.html URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/examples/jsp/cal/login.html?rev=1356126r1=1356125r2=1356126view=diff == --- tomcat/tc7.0.x/trunk/webapps/examples/jsp/cal/login.html (original) +++ tomcat/tc7.0.x/trunk/webapps/examples/jsp/cal/login.html Mon Jul 2 09:04:22 2012 @@ -39,8 +39,8 @@ /form hr font size=3 color=red Note: This application does not implement the complete -functionality of a typical calendar application. It demostartes a way JSP can be -used with html tables and forms./font +functionality of a typical calendar application. It demonstrates a way JSP can +be used with html tables and forms./font /center /body - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356135 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kfujino Date: Mon Jul 2 09:22:17 2012 New Revision: 1356135 URL: http://svn.apache.org/viewvc?rev=1356135view=rev Log: vote Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356135r1=1356134r2=1356135view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 09:22:17 2012 @@ -138,7 +138,7 @@ PATCHES PROPOSED TO BACKPORT: Allow database realms configured with an all roles mode that is authentication only to not have to define a role table http://svn.apache.org/viewvc?rev=1348498view=rev - +1: markt + +1: markt, kfujino +1: kkolinko (docs update would be needed: at least set required=false on roleNameCol, userRoleTable in config/realm.html) @@ -186,13 +186,13 @@ PATCHES PROPOSED TO BACKPORT: Add project.url and project.licenses sections to the POMs for the Maven artifacts. https://issues.apache.org/bugzilla/attachment.cgi?id=28987 - +1: kkolinko, markt + +1: kkolinko, markt, kfujino -1: * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53454 Return correct content-length header for HEAD requests when value is 2GB http://svn.apache.org/viewvc?rev=1354866view=rev - +1: markt, kkolinko + +1: markt, kkolinko, kfujino -1: - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356151 - in /tomcat/trunk: conf/web.xml java/org/apache/catalina/core/StandardContext.java webapps/docs/changelog.xml
Author: markt Date: Mon Jul 2 09:41:23 2012 New Revision: 1356151 URL: http://svn.apache.org/viewvc?rev=1356151view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=45995 Align Tomcat with Apache httpd and perform MIME type mapping based on file extension in a case insensitive manner. Modified: tomcat/trunk/conf/web.xml tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/conf/web.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/web.xml?rev=1356151r1=1356150r2=1356151view=diff == --- tomcat/trunk/conf/web.xml (original) +++ tomcat/trunk/conf/web.xml Mon Jul 2 09:41:23 2012 @@ -516,6 +516,7 @@ !-- based on these mappings. Additional mappings can be added here (to -- !-- apply to all web applications), or in your own application's web.xml -- !-- deployment descriptor. -- + !-- Note: Extensions are always matched in a case-insensitive manner.-- mime-mapping extension123/extension Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1356151r1=1356150r2=1356151view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Jul 2 09:41:23 2012 @@ -2994,7 +2994,7 @@ public class StandardContext extends Con public void addMimeMapping(String extension, String mimeType) { synchronized (mimeMappings) { -mimeMappings.put(extension, mimeType); +mimeMappings.put(extension.toLowerCase(Locale.ENGLISH), mimeType); } fireContainerEvent(addMimeMapping, extension); @@ -3502,7 +3502,7 @@ public class StandardContext extends Con @Override public String findMimeMapping(String extension) { -return (mimeMappings.get(extension)); +return (mimeMappings.get(extension.toLowerCase(Locale.ENGLISH))); } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1356151r1=1356150r2=1356151view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Jul 2 09:41:23 2012 @@ -49,6 +49,10 @@ section name=Tomcat 8.0.0 subsection name=Catalina changelog + add +bug45995/bug: Align Tomcat with Apache httpd and perform MIME type +mapping based on file extension in a case insensitive manner. (markt) + /add scode Remove duplicate code that converted a Hostapos;s appBase attribute to a canonical file. (markt) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in ASF Buildbot on tomcat-7-trunk
The Buildbot has detected a restored build on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/720 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1356126 Blamelist: markt Build succeeded! sincerely, -The Buildbot
[Bug 45995] RFE - MIME type extension not case sensitive
https://issues.apache.org/bugzilla/show_bug.cgi?id=45995 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Mark Thomas ma...@apache.org --- Fixed in trunk for Tomcat 8 onwards. From Tomcat 8, Tomcat will align with httpd and use a case-insensitive comparison. There hasn't been much demand for this feature in the current Tomcat releases so I do not propose to back-port it since: - changing behaviour for stable releases may cause problems for existing applications - making it configurable adds unnecessary complexity If demand does appear, then this can be back-ported but it would need to be configurable. -- 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 44312] Warn when overwritting docBase of the default Host, with docBase of an alias with the same name..
https://issues.apache.org/bugzilla/show_bug.cgi?id=44312 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #3 from Mark Thomas ma...@apache.org --- No patch has been provided for consideration. -- 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: r1356184 - in /tomcat/tc6.0.x/trunk: ./ STATUS.txt java/javax/servlet/http/HttpServlet.java webapps/docs/changelog.xml
Author: markt Date: Mon Jul 2 11:16:23 2012 New Revision: 1356184 URL: http://svn.apache.org/viewvc?rev=1356184view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53454 Return correct content-length header for HEAD requests when content length is greater than 2GB. Modified: tomcat/tc6.0.x/trunk/ (props changed) tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/javax/servlet/http/HttpServlet.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc6.0.x/trunk/ -- Merged /tomcat/trunk:r1354847,1354856 Merged /tomcat/tc7.0.x/trunk:r1354866 Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356184r1=1356183r2=1356184view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 11:16:23 2012 @@ -189,12 +189,6 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko, markt, kfujino -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53454 - Return correct content-length header for HEAD requests when value is 2GB - http://svn.apache.org/viewvc?rev=1354866view=rev - +1: markt, kkolinko, kfujino - -1: - PATCHES/ISSUES THAT ARE STALLED Modified: tomcat/tc6.0.x/trunk/java/javax/servlet/http/HttpServlet.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/javax/servlet/http/HttpServlet.java?rev=1356184r1=1356183r2=1356184view=diff == --- tomcat/tc6.0.x/trunk/java/javax/servlet/http/HttpServlet.java (original) +++ tomcat/tc6.0.x/trunk/java/javax/servlet/http/HttpServlet.java Mon Jul 2 11:16:23 2012 @@ -751,6 +751,36 @@ class NoBodyResponse extends HttpServlet didSetContentLength = true; } +public void setHeader(String name, String value) { +super.setHeader(name, value); +checkHeader(name); +} + +@Override +public void addHeader(String name, String value) { +super.addHeader(name, value); +checkHeader(name); +} + +@Override +public void setIntHeader(String name, int value) { +super.setIntHeader(name, value); +checkHeader(name); +} + +@Override +public void addIntHeader(String name, int value) { +super.addIntHeader(name, value); +checkHeader(name); +} + +private void checkHeader(String name) { +if (content-length.equalsIgnoreCase(name)) { +didSetContentLength = true; +} +} + +@Override public ServletOutputStream getOutputStream() throws IOException { return noBody; } Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1356184r1=1356183r2=1356184view=diff == --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Mon Jul 2 11:16:23 2012 @@ -319,6 +319,10 @@ (coderes/maven/mvn-pub.xml/code) with the Tomcat 7 version, making full use of Nexus. (markt) /update + fix +bug53454/bug: Return correct content-length header for HEAD requests +when content length is greater than 2GB. (markt) + /fix /changelog /subsection /section - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53454] Default doHead implementation overrides 'Content-Length' header
https://issues.apache.org/bugzilla/show_bug.cgi?id=53454 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Mark Thomas ma...@apache.org --- Fixed in 6.0.x and will be included in 6.0.36 onwards. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356185 - in /tomcat/tc6.0.x/trunk: ./ res/maven/ webapps/docs/
Author: markt Date: Mon Jul 2 11:20:19 2012 New Revision: 1356185 URL: http://svn.apache.org/viewvc?rev=1356185view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53034 Add project.url and project.licenses sections to the POMs for the Maven artifacts. Patch by kkolinko Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/res/maven/annotations-api.pom tomcat/tc6.0.x/trunk/res/maven/catalina-ha.pom tomcat/tc6.0.x/trunk/res/maven/catalina.pom tomcat/tc6.0.x/trunk/res/maven/coyote.pom tomcat/tc6.0.x/trunk/res/maven/dbcp.pom tomcat/tc6.0.x/trunk/res/maven/el-api.pom tomcat/tc6.0.x/trunk/res/maven/jasper-el.pom tomcat/tc6.0.x/trunk/res/maven/jasper.pom tomcat/tc6.0.x/trunk/res/maven/jsp-api.pom tomcat/tc6.0.x/trunk/res/maven/juli-adapters.pom tomcat/tc6.0.x/trunk/res/maven/juli-extras.pom tomcat/tc6.0.x/trunk/res/maven/juli.pom tomcat/tc6.0.x/trunk/res/maven/servlet-api.pom tomcat/tc6.0.x/trunk/res/maven/tribes.pom tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356185r1=1356184r2=1356185view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 11:20:19 2012 @@ -182,13 +182,6 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko, markt, kfujino -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53034 - Add project.url and project.licenses sections to the POMs for the Maven - artifacts. - https://issues.apache.org/bugzilla/attachment.cgi?id=28987 - +1: kkolinko, markt, kfujino - -1: - PATCHES/ISSUES THAT ARE STALLED Modified: tomcat/tc6.0.x/trunk/res/maven/annotations-api.pom URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/maven/annotations-api.pom?rev=1356185r1=1356184r2=1356185view=diff == --- tomcat/tc6.0.x/trunk/res/maven/annotations-api.pom (original) +++ tomcat/tc6.0.x/trunk/res/maven/annotations-api.pom Mon Jul 2 11:20:19 2012 @@ -21,4 +21,12 @@ artifactIdannotations-api/artifactId version@MAVEN.DEPLOY.VERSION@/version descriptionAnnotations Package/description + urlhttp://tomcat.apache.org//url + licenses +license + nameApache License, Version 2.0/name + urlhttp://www.apache.org/licenses/LICENSE-2.0.txt/url + distributionrepo/distribution +/license + /licenses /project \ No newline at end of file Modified: tomcat/tc6.0.x/trunk/res/maven/catalina-ha.pom URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/maven/catalina-ha.pom?rev=1356185r1=1356184r2=1356185view=diff == --- tomcat/tc6.0.x/trunk/res/maven/catalina-ha.pom (original) +++ tomcat/tc6.0.x/trunk/res/maven/catalina-ha.pom Mon Jul 2 11:20:19 2012 @@ -21,6 +21,14 @@ artifactIdcatalina-ha/artifactId version@MAVEN.DEPLOY.VERSION@/version descriptionTomcat High Availability Implementation/description + urlhttp://tomcat.apache.org//url + licenses +license + nameApache License, Version 2.0/name + urlhttp://www.apache.org/licenses/LICENSE-2.0.txt/url + distributionrepo/distribution +/license + /licenses dependencies dependency groupIdorg.apache.tomcat/groupId Modified: tomcat/tc6.0.x/trunk/res/maven/catalina.pom URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/maven/catalina.pom?rev=1356185r1=1356184r2=1356185view=diff == --- tomcat/tc6.0.x/trunk/res/maven/catalina.pom (original) +++ tomcat/tc6.0.x/trunk/res/maven/catalina.pom Mon Jul 2 11:20:19 2012 @@ -21,6 +21,14 @@ artifactIdcatalina/artifactId version@MAVEN.DEPLOY.VERSION@/version descriptionTomcat Servlet Engine Core Classes and Standard implementations/description + urlhttp://tomcat.apache.org//url + licenses +license + nameApache License, Version 2.0/name + urlhttp://www.apache.org/licenses/LICENSE-2.0.txt/url + distributionrepo/distribution +/license + /licenses dependencies !-- dependency Modified: tomcat/tc6.0.x/trunk/res/maven/coyote.pom URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/maven/coyote.pom?rev=1356185r1=1356184r2=1356185view=diff == --- tomcat/tc6.0.x/trunk/res/maven/coyote.pom (original) +++ tomcat/tc6.0.x/trunk/res/maven/coyote.pom Mon Jul 2 11:20:19 2012 @@ -21,6 +21,14 @@ artifactIdcoyote/artifactId version@MAVEN.DEPLOY.VERSION@/version descriptionTomcat Connectors and HTTP parser/description + urlhttp://tomcat.apache.org//url + licenses +license + nameApache License, Version 2.0/name +
[Bug 53034] apache tomcat deployed pom does not contain url or license
https://issues.apache.org/bugzilla/show_bug.cgi?id=53034 --- Comment #8 from Mark Thomas ma...@apache.org --- 6.0.x also fixed for 6.0.36 onwards. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356198 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/loader/WebappClassLoader.java webapps/docs/changelog.xml
Author: kkolinko Date: Mon Jul 2 12:04:11 2012 New Revision: 1356198 URL: http://svn.apache.org/viewvc?rev=1356198view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52850 Extend memory leak prevention and detection code to work with IBM as well as Oracle JVMs. Based on a patch provided by Rohit Kelapure. Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoader.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356198r1=1356197r2=1356198view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 12:04:11 2012 @@ -127,13 +127,6 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52850 - Extend memory leak prevention and detection code to - work with IBM as well as Oracle JVMs. Based on patch provided by Rohit Kelapure. - https://issues.apache.org/bugzilla/attachment.cgi?id=28893 - +1: kkolinko, schultz, markt - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53047 Allow database realms configured with an all roles mode that is authentication only to not have to define a role table Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1356198r1=1356197r2=1356198view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Mon Jul 2 12:04:11 2012 @@ -2177,8 +2177,9 @@ public class WebappClassLoader } // TimerThread can be stopped safely so treat separately -if (thread.getClass().getName().equals( -java.util.TimerThread) +// java.util.TimerThread in Sun/Oracle JDK +// java.util.Timer$TimerImpl in Apache Harmony and in IBM JDK +if (thread.getClass().getName().startsWith(java.util.Timer) clearReferencesStopTimerThreads) { clearReferencesStopTimerThread(thread); continue; @@ -2201,13 +2202,29 @@ public class WebappClassLoader // If the thread has been started via an executor, try // shutting down the executor try { -Field targetField = -thread.getClass().getDeclaredField(target); -targetField.setAccessible(true); -Object target = targetField.get(thread); - +// Runnable wrapped by Thread +// target in Sun/Oracle JDK +// runnable in IBM JDK +// action in Apache Harmony +Object target = null; +for (String fieldName : new String[] { target, +runnable, action }) { +try { +Field targetField = thread.getClass() +.getDeclaredField(fieldName); +targetField.setAccessible(true); +target = targetField.get(thread); +break; +} catch (NoSuchFieldException nfe) { +continue; +} +} + +// java.util.concurrent code is in public domain, +// so all implementations are similar if (target != null -target.getClass().getCanonicalName().equals( +target.getClass().getCanonicalName() != null + target.getClass().getCanonicalName().equals( java.util.concurrent.ThreadPoolExecutor.Worker)) { Field executorField = target.getClass().getDeclaredField(this$0); @@ -2276,37 +2293,46 @@ public class WebappClassLoader private void clearReferencesStopTimerThread(Thread thread) { - + // Need to get references to: -// - newTasksMayBeScheduled field +// in Sun/Oracle JDK: +// - newTasksMayBeScheduled field (in java.util.TimerThread) // - queue field // - queue.clear() -
[Bug 52850] Various miscellaneous fixes to Tomcat Memory Leak Detection code
https://issues.apache.org/bugzilla/show_bug.cgi?id=52850 --- Comment #13 from Konstantin Kolinko knst.koli...@gmail.com --- Fixed in 6.0 with r1356198 and will be in 6.0.36 -- 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: r1356208 - in /tomcat/tc6.0.x/trunk: ./ STATUS.txt java/org/apache/coyote/http11/InternalNioInputBuffer.java webapps/docs/changelog.xml
Author: kkolinko Date: Mon Jul 2 13:01:28 2012 New Revision: 1356208 URL: http://svn.apache.org/viewvc?rev=1356208view=rev Log: Improve InternalNioInputBuffer#parseHeaders() Move the code and s/end/pos/ It is backport of r1350294 from trunk (r1350301 in Tomcat 7). Modified: tomcat/tc6.0.x/trunk/ (props changed) tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc6.0.x/trunk/ -- Merged /tomcat/trunk:r1350294 Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356208r1=1356207r2=1356208view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 13:01:28 2012 @@ -144,12 +144,6 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, kfujino -1: -* Improve InternalNioInputBuffer.parseHeaders() - http://svn.apache.org/viewvc?view=revisionrevision=1350294 - (r1350301 in Tomcat 7) - +1: kkolinko, markt, kfujino - -1: - * Implement maxHeaderCount attribute on Connector. It is equivalent of LimitRequestFields directive of Apache HTTPD (backport of r1350295) Modified: tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java?rev=1356208r1=1356207r2=1356208view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java Mon Jul 2 13:01:28 2012 @@ -673,10 +673,6 @@ public class InternalNioInputBuffer impl do { status = parseHeader(); -} while ( status == HeaderParseStatus.HAVE_MORE_HEADERS ); -if (status == HeaderParseStatus.DONE) { -parsingHeader = false; -end = pos; // Checking that // (1) Headers plus request line size does not exceed its limit // (2) There are enough bytes to avoid expanding the buffer when @@ -685,11 +681,15 @@ public class InternalNioInputBuffer impl // limitation to enforce the meaning of headerBufferSize // From the way how buf is allocated and how blank lines are being // read, it should be enough to check (1) only. -if (end - skipBlankLinesBytes headerBufferSize -|| buf.length - end socketReadBufferSize) { +if (pos - skipBlankLinesBytes headerBufferSize +|| buf.length - pos socketReadBufferSize) { throw new IllegalArgumentException( sm.getString(iib.requestheadertoolarge.error)); } +} while ( status == HeaderParseStatus.HAVE_MORE_HEADERS ); +if (status == HeaderParseStatus.DONE) { +parsingHeader = false; +end = pos; return true; } else { return false; Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1356208r1=1356207r2=1356208view=diff == --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Mon Jul 2 13:01:28 2012 @@ -183,6 +183,9 @@ client disconnects before the response has been fully written from an AJP connection using the APR/native connector. (kkolinko) /fix + fix +Improve codeInternalNioInputBuffer.parseHeaders()/code. (kkolinko) + /fix /changelog /subsection subsection name=Jasper - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356209 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kkolinko Date: Mon Jul 2 13:06:12 2012 New Revision: 1356209 URL: http://svn.apache.org/viewvc?rev=1356209view=rev Log: vote Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356209r1=1356208r2=1356209view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 13:06:12 2012 @@ -141,7 +141,7 @@ PATCHES PROPOSED TO BACKPORT: Use the message from the Throwable for the error report if none was specified via sendError() http://people.apache.org/~markt/patches/2012-06-11-bug53071-tc6.patch - +1: markt, kfujino + +1: markt, kfujino, kkolinko -1: * Implement maxHeaderCount attribute on Connector. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356239 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/connector/ java/org/apache/coyote/ java/org/apache/coyote/ajp/ java/org/apache/coyote/http11/ java/org/apache/jk/common/ ja
Author: kkolinko Date: Mon Jul 2 14:15:47 2012 New Revision: 1356239 URL: http://svn.apache.org/viewvc?rev=1356239view=rev Log: * Implement maxHeaderCount attribute on Connector. It is equivalent of LimitRequestFields directive of Apache HTTPD (backport of r1350295) * In JkMain.setProperty(): Fix setting of properties when connector has already started for properties that have aliases. E.g. changing maxHeaderCount attribute on Connector MBean via JMX. Added: tomcat/tc6.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java (with props) tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (with props) Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/AjpProtocol.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11Processor.java tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11Protocol.java tomcat/tc6.0.x/trunk/java/org/apache/jk/common/HandlerRequest.java tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkCoyoteHandler.java tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkMain.java tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/LocalStrings.properties tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/MimeHeaders.java tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml tomcat/tc6.0.x/trunk/webapps/docs/config/ajp.xml tomcat/tc6.0.x/trunk/webapps/docs/config/http.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356239r1=1356238r2=1356239view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 14:15:47 2012 @@ -144,20 +144,6 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, kfujino, kkolinko -1: -* Implement maxHeaderCount attribute on Connector. - It is equivalent of LimitRequestFields directive of Apache HTTPD - (backport of r1350295) - In JkMain.setProperty(): Fix setting of properties when connector has - already started for properties that have aliases. E.g. changing - maxHeaderCount attribute on Connector MBean via JMX. - Patch: - http://people.apache.org/~kkolinko/patches/2012-06-18_tc6_maxHeaderCount_v2.patch - Eol-Style: - svn propset svn:eol-style native java/org/apache/coyote/AbstractProtocol.java - svn propset svn:eol-style native java/org/apache/tomcat/util/net/AbstractEndpoint.java - +1: kkolinko, markt, kfujino - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50306 New StuckThreadDetectionValve to detect requests that take a long time to process, which might indicate that their processing Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java?rev=1356239r1=1356238r2=1356239view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java Mon Jul 2 14:15:47 2012 @@ -518,6 +518,35 @@ public class Connector /** + * Return the maximum number of headers that are allowed by the container. A + * value of less than 0 means no limit. + */ +public int getMaxHeaderCount() { +Object value = getProperty(maxHeaderCount); +if (value instanceof Integer) { +return ((Integer) value).intValue(); +} else if (value == null) { +// JkCoyoteHandler does not return the actual value, but the +// one passed to the previous call of setProperty(), which +// is null by default. +// The actual value can be seen in JkHandler MBean request. +// The default value for maxHeaderCount is known to be 100. +return 100; +} +return Integer.parseInt((String) value); +} + +/** + *
svn commit: r1356246 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/valves/ webapps/docs/ webapps/docs/config/
Author: kkolinko Date: Mon Jul 2 14:24:08 2012 New Revision: 1356246 URL: http://svn.apache.org/viewvc?rev=1356246view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50306 New StuckThreadDetectionValve to detect requests that take a long time to process, which might indicate that their processing threads are stuck. Based on a patch provided by TomLu. Added: tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java (with props) Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/LocalStrings.properties tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356246r1=1356245r2=1356246view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 14:24:08 2012 @@ -144,17 +144,6 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, kfujino, kkolinko -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50306 - New StuckThreadDetectionValve to detect requests that - take a long time to process, which might indicate that their processing - threads are stuck. Based on a patch provided by TomLu. - Patch: - https://issues.apache.org/bugzilla/attachment.cgi?id=28966 - Eol-Style: - svn propset svn:eol-style native java/org/apache/catalina/valves/StuckThreadDetectionValve.java - +1: kkolinko, markt, kfujino - -1: - PATCHES/ISSUES THAT ARE STALLED Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/LocalStrings.properties?rev=1356246r1=1356245r2=1356246view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/LocalStrings.properties (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/LocalStrings.properties Mon Jul 2 14:24:08 2012 @@ -56,6 +56,10 @@ remoteIpValve.syntax=Invalid regular exp sslValve.invalidProvider=The SSL provider specified on the connector associated with this request of [{0}] is invalid. The certificate data could not be processed. +#Stuck thread detection Valve +stuckThreadDetectionValve.notifyStuckThreadDetected=Thread {0} (id={6}) has been active for {1} milliseconds (since {2}) to serve the same request for {4} and may be stuck (configured threshold for this StuckThreadDetectionValve is {5} seconds). There is/are {3} thread(s) in total that are monitored by this Valve and may be stuck. +stuckThreadDetectionValve.notifyStuckThreadCompleted=Thread {0} (id={3}) was previously reported to be stuck but has completed. It was active for approximately {1} milliseconds.{2,choice,0#|0 There is/are still {2} thread(s) that are monitored by this Valve and may be stuck.} + # HTTP status reports http.100=The client may continue ({0}). http.101=The server is switching protocols according to the Upgrade header ({0}). Added: tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java?rev=1356246view=auto == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java (added) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java Mon Jul 2 14:24:08 2012 @@ -0,0 +1,297 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.catalina.valves; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Queue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.atomic.AtomicInteger; + +import
[Bug 50306] Detect stuck threads
https://issues.apache.org/bugzilla/show_bug.cgi?id=50306 --- Comment #13 from Konstantin Kolinko knst.koli...@gmail.com --- StuckThreadDetectionValve added to Tomcat 6 in r1356246 and will be in 6.0.36. -- 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: r1356289 - in /tomcat/tc6.0.x/trunk: ./ webapps/examples/jsp/cal/login.html
Author: kkolinko Date: Mon Jul 2 15:13:01 2012 New Revision: 1356289 URL: http://svn.apache.org/viewvc?rev=1356289view=rev Log: CTR: fix typo on a page in examples webapp It is backport of r1356125 from trunk. Modified: tomcat/tc6.0.x/trunk/ (props changed) tomcat/tc6.0.x/trunk/webapps/examples/jsp/cal/login.html Propchange: tomcat/tc6.0.x/trunk/ -- Merged /tomcat/trunk:r1356125 Modified: tomcat/tc6.0.x/trunk/webapps/examples/jsp/cal/login.html URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/examples/jsp/cal/login.html?rev=1356289r1=1356288r2=1356289view=diff == --- tomcat/tc6.0.x/trunk/webapps/examples/jsp/cal/login.html (original) +++ tomcat/tc6.0.x/trunk/webapps/examples/jsp/cal/login.html Mon Jul 2 15:13:01 2012 @@ -39,7 +39,7 @@ /form hr font size=3 color=red Note: This application does not implement the complete -functionality of a typical calendar application. It demostartes a way JSP can be +functionality of a typical calendar application. It demonstrates a way JSP can be used with html tables and forms./font /center - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Timing for 7.0.29
On 26/06/2012 21:11, Mark Thomas wrote: I'm sure circumstances will conspire against me but I am currently planning to start the 7.0.29 release process early next week. That aligns with my general aim of getting a release out at the start of each month and there are some regressions in 7.0.28 that I'd rather fix sooner than later. I'll be tagging 7.0.29 later today. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356422 - /tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
Author: markt Date: Mon Jul 2 19:18:16 2012 New Revision: 1356422 URL: http://svn.apache.org/viewvc?rev=1356422view=rev Log: Remove unused code Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1356422r1=1356421r2=1356422view=diff == --- tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java (original) +++ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Mon Jul 2 19:18:16 2012 @@ -635,10 +635,6 @@ public class TestCometProcessor extends return e; } -public void clearResponse() { -response = new StringBuilder(); -} - public String getResponse() { return response.toString(); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356423 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/catalina/comet/TestCometProcessor.java
Author: markt Date: Mon Jul 2 19:21:41 2012 New Revision: 1356423 URL: http://svn.apache.org/viewvc?rev=1356423view=rev Log: Remove unused code Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1356422 Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1356423r1=1356422r2=1356423view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Mon Jul 2 19:21:41 2012 @@ -635,10 +635,6 @@ public class TestCometProcessor extends return e; } -public void clearResponse() { -response = new StringBuilder(); -} - public String getResponse() { return response.toString(); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356426 - /tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestByteChunk.java
Author: markt Date: Mon Jul 2 19:24:09 2012 New Revision: 1356426 URL: http://svn.apache.org/viewvc?rev=1356426view=rev Log: Deprecate test of deprecated code Modified: tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestByteChunk.java Modified: tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestByteChunk.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestByteChunk.java?rev=1356426r1=1356425r2=1356426view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestByteChunk.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestByteChunk.java Mon Jul 2 19:24:09 2012 @@ -138,6 +138,7 @@ public class TestByteChunk { } @Test +@Deprecated public void testFindNotBytes() throws UnsupportedEncodingException { byte[] bytes = Hello\u00a0world.getBytes(ISO-8859-1); final int len = bytes.length; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356428 - /tomcat/tc7.0.x/trunk/java/org/apache/catalina/CatalinaFactory.java
Author: markt Date: Mon Jul 2 19:24:51 2012 New Revision: 1356428 URL: http://svn.apache.org/viewvc?rev=1356428view=rev Log: Add missing deprecation annotation Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/CatalinaFactory.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/CatalinaFactory.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/CatalinaFactory.java?rev=1356428r1=1356427r2=1356428view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/CatalinaFactory.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/CatalinaFactory.java Mon Jul 2 19:24:51 2012 @@ -29,6 +29,7 @@ import org.apache.catalina.core.Standard * @deprecated There was no demand for this capability and it will be removed in * Tomcat 8.0.x */ +@Deprecated public class CatalinaFactory { private static CatalinaFactory factory = new CatalinaFactory(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356436 - /tomcat/trunk/java/javax/servlet/http/HttpServlet.java
Author: markt Date: Mon Jul 2 19:44:13 2012 New Revision: 1356436 URL: http://svn.apache.org/viewvc?rev=1356436view=rev Log: Override annotations Modified: tomcat/trunk/java/javax/servlet/http/HttpServlet.java Modified: tomcat/trunk/java/javax/servlet/http/HttpServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServlet.java?rev=1356436r1=1356435r2=1356436view=diff == --- tomcat/trunk/java/javax/servlet/http/HttpServlet.java (original) +++ tomcat/trunk/java/javax/servlet/http/HttpServlet.java Mon Jul 2 19:44:13 2012 @@ -860,6 +860,7 @@ class NoBodyOutputStream extends Servlet * TODO SERVLET 3.1 * @return */ +@Override public boolean canWrite() { return false; } @@ -868,9 +869,8 @@ class NoBodyOutputStream extends Servlet * TODO SERVLET 3.1 * @param listener */ +@Override public void setWriteListener(javax.servlet.WriteListener listener) { } - - } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53498] New: Atomicity violation bugs because of misusing concurrent collections
https://issues.apache.org/bugzilla/show_bug.cgi?id=53498 Priority: P2 Bug ID: 53498 Assignee: dev@tomcat.apache.org Summary: Atomicity violation bugs because of misusing concurrent collections Severity: normal Classification: Unclassified OS: Mac OS X 10.4 Reporter: yu.lin...@gmail.com Hardware: PC Status: NEW Version: 7.0.28 Component: Catalina Product: Tomcat 7 Created attachment 29021 -- https://issues.apache.org/bugzilla/attachment.cgi?id=29021action=edit The patch that may fix the atomicity violation bugs. My name is Yu Lin. I'm a Ph.D. student in the CS department at UIUC. I'm currently doing research on mining Java concurrent library misusages. I found some misusages of ConcurrentHashMap in Tomcat 7.0.28, which may result in potential atomicity violation bugs or harm the performance. The code below is a snapshot of the code in file java/org/apache/catalina/core/ApplicationContext.java from line 761 to 767 and line 1262 to 1266 L761found = attributes.containsKey(name); L762if (found) { L763value = attributes.get(name); L764attributes.remove(name); L765} else { L766return; L767} ... L1262 if (parameters.containsKey(name)) { L1263 return false; L1264 } L1265 L1266 parameters.put(name, value); In the code above, an atomicity violation may occur between lines 762 and 763. Suppose thread T1 executes line 761 and finds that the concurrent hashmap attributes contains the key name. Before thread T1 executes line 763, another thread T2 removes the name key from attributes. Now thread T1 resumes execution at line 763 and will get a null value for name. Then the next line will throw a NullPointerException when invoking the method on name. Second, the snapshot above has another atomicity violation. Let's look at lines 1262 and 1266. Suppose a thread T1 executes line 1262 and finds out the concurrent hashmap dose not contain the key name. Before it gets to execute line 1266, another thread T2 puts a pair name, v in the concurrent hashmap parameters. Now thread T1 resumes execution and it will overwrite the value written by thread T2. Thus, the code no longer preserves the put-if-absent semantics. I found some similar misusages in other files: In java/org/apache/catalina/ha/context/ReplicatedContext.java, similar atomicity violation may occur when another thread T2 remove the key name from concurrent hashmap tomcatAttributes before thread T1 executes line 172. In java/org/apache/catalina/startup/HostConfig.java, suppose thread T1 executes line 1480 and finds out the concurrent hashmap dose not contain the key contextName. Before it executes line 1509, another thread T2 puts a pair contextName, v in the concurrent hashmap deployed. Now thread T1 resumes execution and it will overwrite the value written by thread T2. Indeed, the putIfAbsent method shoule be used rather than put method at line 1509. -- 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 53498] Atomicity violation bugs because of misusing concurrent collections
https://issues.apache.org/bugzilla/show_bug.cgi?id=53498 Mark Thomas ma...@apache.org changed: What|Removed |Added Attachment #29021|0 |1 is patch|| Attachment #29021|application/octet-stream|text/plain mime type|| --- Comment #1 from Mark Thomas ma...@apache.org --- Comment on attachment 29021 -- https://issues.apache.org/bugzilla/attachment.cgi?id=29021 The patch that may fix the atomicity violation bugs. Fix mime type so patch can be viewed in browser -- 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: r1356494 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_29: ./ build.properties.default
Author: markt Date: Mon Jul 2 21:42:31 2012 New Revision: 1356494 URL: http://svn.apache.org/viewvc?rev=1356494view=rev Log: Tag 7.0.29 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ (props changed) - copied from r1356493, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- --- bugtraq:message (added) +++ bugtraq:message Mon Jul 2 21:42:31 2012 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- --- svn:ignore (added) +++ svn:ignore Mon Jul 2 21:42:31 2012 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_29/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Jul 2 21:42:31 2012 @@ -0,0 +1 @@ +/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112 ,1240114,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342 320,1342476,1342498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,1343394,1343400,1343629,1343708,1343718,1343895,1344063,1344068,1344250,1344266,1344515,1344528,1344612,1344629,1344725,1344868,1344890,1344893,1344896,1344901,1345020,1345029,1345039,1345287-1345290,1345294,1345309,1345325,1345357,1345367,1345579-1345580,1345582,1345688,1345699,1345704,1345731-1345732,1345737,1345744,1345752,1345754,1345779,1345781,1345846,1346107,1346376,1346404,1346510,1346514,1346519,1346581,1346635,1346644,1346683,1346794,1346885,1346932,1347034,1347047,1347087,1347108-1347109,1347583,1347737,1348105,1348357,1348398,1348425,1348461-1348495,1348498,1348752,1348762,1348772,1348776,1348859,1348968,1348973,1348989,1349007,1349237,1349298,1349317,1349410,1349473,1349539,1349879,1349887,1349893,1349922,1349984,1350124,1350241,1350243,1350294-1350295,1350299,1350864,1350900,1351010,1351054,1351056,1351068,1351134-1351135,1351148,1351259,1351604,1351636-1351640,1351991,1351993,1352011,1
svn commit: r1356495 - in /tomcat/tc7.0.x/trunk: build.properties.default res/maven/mvn.properties.default
Author: markt Date: Mon Jul 2 21:44:08 2012 New Revision: 1356495 URL: http://svn.apache.org/viewvc?rev=1356495view=rev Log: Increment version ready for next tag Modified: tomcat/tc7.0.x/trunk/build.properties.default tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default Modified: tomcat/tc7.0.x/trunk/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/build.properties.default?rev=1356495r1=1356494r2=1356495view=diff == --- tomcat/tc7.0.x/trunk/build.properties.default (original) +++ tomcat/tc7.0.x/trunk/build.properties.default Mon Jul 2 21:44:08 2012 @@ -27,7 +27,7 @@ # - Version Control Flags - version.major=7 version.minor=0 -version.build=29 +version.build=30 version.patch=0 version.suffix=-dev Modified: tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default?rev=1356495r1=1356494r2=1356495view=diff == --- tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default (original) +++ tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default Mon Jul 2 21:44:08 2012 @@ -35,7 +35,7 @@ maven.asf.release.repo.url=https://repos maven.asf.release.repo.repositoryId=apache.releases # Release version info -maven.asf.release.deploy.version=7.0.29 +maven.asf.release.deploy.version=7.0.30 #Where do we load the libraries from tomcat.lib.path=../../output/build/lib - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356505 - /tomcat/trunk/java/org/apache/catalina/connector/Request.java
Author: kkolinko Date: Mon Jul 2 22:15:50 2012 New Revision: 1356505 URL: http://svn.apache.org/viewvc?rev=1356505view=rev Log: Automatically delete temporary files created by Servlet 3.0 file upload when request is recycled. Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1356505r1=1356504r2=1356505view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Mon Jul 2 22:15:50 2012 @@ -463,7 +463,16 @@ public class Request userPrincipal = null; subject = null; parametersParsed = false; -parts = null; +if (parts != null) { +for (Part part: parts) { +try { +part.delete(); +} catch (IOException ignored) { +// ApplicationPart.delete() never throws an IOEx +} +} +parts = null; +} partsParseException = null; cookiesParsed = false; locales.clear(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1356509 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/Request.java webapps/docs/changelog.xml
Author: kkolinko Date: Mon Jul 2 22:43:32 2012 New Revision: 1356509 URL: http://svn.apache.org/viewvc?rev=1356509view=rev Log: Merged revision 1356505 from tomcat/trunk: Automatically delete temporary files used by Servlet 3.0 file upload when request is recycled. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1356505 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java?rev=1356509r1=1356508r2=1356509view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java Mon Jul 2 22:43:32 2012 @@ -470,7 +470,16 @@ public class Request subject = null; sessionParsed = false; parametersParsed = false; -parts = null; +if (parts != null) { +for (Part part: parts) { +try { +part.delete(); +} catch (IOException ignored) { +// ApplicationPart.delete() never throws an IOEx +} +} +parts = null; +} partsParseException = null; cookiesParsed = false; locales.clear(); Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1356509r1=1356508r2=1356509view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Jul 2 22:43:32 2012 @@ -53,6 +53,18 @@ They eventually become mixed with the numbered issues. (I.e., numbered issues to not pop up wrt. others). -- +section name=Tomcat 7.0.30 (markt) + subsection name=Catalina +changelog + fix +Automatically delete temporary files used by Servlet 3.0 file +upload (for parts which size is greater than +codefile-size-threshold/code option in web.xml) +when request processing completes. (kkolinko) + /fix +/changelog + /subsection +/section section name=Tomcat 7.0.29 (markt) subsection name=Catalina changelog - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org