[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-taglibs-standard has an issue affecting its community integration. This issue affects 2 projects, and has been outstanding for 177 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-taglibs-standard : Standard Taglib - tomcat-taglibs-standard-install : JSP Taglibs Full details are available at: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency httpunit failed with reason build failed -DEBUG- (Apache Gump generated) Apache Maven Settings in: /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml -INFO- Failed with reason build failed -DEBUG- Maven POM in: /srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml -INFO- Failed to extract fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build) Work ended in a state of : Failed Elapsed: 22 secs Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml install [Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard] M2_HOME: /opt/maven2 - [INFO] [compiler:compile {execution: default-compile}] [INFO] Nothing to compile - all classes are up to date [debug] execute contextualize [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /srv/gump/public/workspace/tomcat-taglibs/standard/spec/src/test/resources [INFO] Copying 3 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] No sources to compile [INFO] [surefire:test {execution: default-test}] [INFO] Tests are skipped. [INFO] [bundle:bundle {execution: default-bundle}] [INFO] [install:install {execution: default-install}] [INFO] Installing /srv/gump/public/workspace/tomcat-taglibs/standard/spec/target/taglibs-standard-spec-1.2-SNAPSHOT.jar to /srv/gump/public/workspace/mvnlocalrepo/shared/org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] [bundle:install {execution: default-install}] [INFO] Parsing file:/srv/gump/public/workspace/mvnlocalrepo/shared/repository.xml [INFO] Installing org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] Writing OBR metadata [INFO] [INFO] Building JSTL Implementation [INFO]task-segment: [install] [INFO] [INFO] [remote-resources:process {execution: default}] [INFO] snapshot org.apache.taglibs:taglibs-standard-spec:1.2-SNAPSHOT: checking for updates from apache.snapshots [debug] execute contextualize [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 14 resources [INFO] Copying 3 resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 96 source files to /srv/gump/public/workspace/tomcat-taglibs/standard/impl/target/classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] 1 error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] [INFO] For more information, run Maven with the -e switch [INFO] --
svn commit: r1408043 - /tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
Author: kkolinko Date: Sun Nov 11 16:25:18 2012 New Revision: 1408043 URL: http://svn.apache.org/viewvc?rev=1408043&view=rev Log: In FormAuthenticator: If it is configured to change Session IDs, do the change before displaying the login form. Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1408043&r1=1408042&r2=1408043&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Sun Nov 11 16:25:18 2012 @@ -28,6 +28,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.catalina.Manager; import org.apache.catalina.Realm; import org.apache.catalina.Session; import org.apache.catalina.connector.Request; @@ -381,6 +382,15 @@ public class FormAuthenticator return; } +if (getChangeSessionIdOnAuthentication()) { +Session session = request.getSessionInternal(false); +if (session != null) { +Manager manager = request.getContext().getManager(); +manager.changeSessionId(session); +request.changeSessionId(session.getId()); +} +} + // Always use GET for the login page, regardless of the method used String oldMethod = request.getMethod(); request.getCoyoteRequest().method().setString("GET"); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408044 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/FormAuthenticator.java webapps/docs/changelog.xml
Author: kkolinko Date: Sun Nov 11 16:42:02 2012 New Revision: 1408044 URL: http://svn.apache.org/viewvc?rev=1408044&view=rev Log: Merged revision 1408043 from tomcat/trunk: In FormAuthenticator: If it is configured to change Session IDs, do the change before displaying the login form. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1408043 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1408044&r1=1408043&r2=1408044&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Sun Nov 11 16:42:02 2012 @@ -31,6 +31,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.catalina.Manager; import org.apache.catalina.Realm; import org.apache.catalina.Session; import org.apache.catalina.connector.Request; @@ -404,6 +405,15 @@ public class FormAuthenticator return; } +if (getChangeSessionIdOnAuthentication()) { +Session session = request.getSessionInternal(false); +if (session != null) { +Manager manager = request.getContext().getManager(); +manager.changeSessionId(session); +request.changeSessionId(session.getId()); +} +} + // Always use GET for the login page, regardless of the method used String oldMethod = request.getMethod(); request.getCoyoteRequest().method().setString("GET"); 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=1408044&r1=1408043&r2=1408044&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sun Nov 11 16:42:02 2012 @@ -114,6 +114,10 @@ 54127: Add support for sending a WebSocket Ping. Patch provided by Sean Winterberger. (markt) + +In FormAuthenticator: If it is configured to change Session IDs, +do the change before displaying the login form. (kkolinko) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408148 - in /tomcat/trunk: java/org/apache/catalina/core/AsyncContextImpl.java java/org/apache/catalina/core/StandardHostValve.java java/org/apache/coyote/AsyncStateMachine.java test/org
Author: markt Date: Sun Nov 11 23:26:55 2012 New Revision: 1408148 URL: http://svn.apache.org/viewvc?rev=1408148&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54123 There are two things going on here: 1. The reported bug. If there is a async timeout and no async listeners, trigger a 500 response. 2. Implement "error dispatch". This is used a couple of times in the spec without any definition. The implication from the part of the spec quoted in the bug report is: - The standard error page mechanism should be used to identify the page - An async request that has been started should be left in async mode when forwarding to the error page - The error page may call complete() or dispatch() This commit hooks into the StandardHostValve to access the error page mechanism. I could have copied and pasted but I preferred the dependency on StandardHostValve Because the error page may do a dispatch(), need to ensure that when running the dispatch(), the error page mechanism is not triggered a second time. Depending on what emerges running the full unit tests and the TCK, I mat still decide to copy the error page code to AsyncContextImpl Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1408148&r1=1408147&r2=1408148&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Sun Nov 11 23:26:55 2012 @@ -41,6 +41,8 @@ import javax.servlet.http.HttpServletRes import org.apache.catalina.AsyncDispatcher; import org.apache.catalina.Context; import org.apache.catalina.Globals; +import org.apache.catalina.Host; +import org.apache.catalina.Valve; import org.apache.catalina.connector.Request; import org.apache.coyote.ActionCode; import org.apache.coyote.AsyncContextCallback; @@ -182,8 +184,8 @@ public class AsyncContextImpl implements ActionCode.ASYNC_IS_TIMINGOUT, result); return !result.get(); } else { -// No listeners, container calls complete -complete(); +// No listeners, trigger error handling +return false; } } finally { @@ -423,6 +425,23 @@ public class AsyncContextImpl implements listener.getClass().getName() + "]", ioe); } } + +// SRV.2.3.3.3 (search for "error dispatch") +if (servletResponse instanceof HttpServletResponse) { +((HttpServletResponse) servletResponse).setStatus( +HttpServletResponse.SC_INTERNAL_SERVER_ERROR); +} + +Host host = (Host) context.getParent(); +Valve stdHostValve = host.getPipeline().getBasic(); +if (stdHostValve instanceof StandardHostValve) { +((StandardHostValve) stdHostValve).throwable(request, +request.getResponse(), t); +} + +if (isStarted() && !request.isAsyncDispatching()) { +complete(); +} } Modified: tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=1408148&r1=1408147&r2=1408148&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java Sun Nov 11 23:26:55 2012 @@ -145,6 +145,9 @@ final class StandardHostValve extends Va // If a request init listener throws an exception, the request is // aborted boolean asyncAtStart = request.isAsync(); +// An async error page may dispatch to another resource. This flag helps +// ensure an infinite error handling loop is not entered +boolean errorAtStart = response.isError(); if (asyncAtStart || context.fireRequestInitEvent(request)) { // Ask this Context to process this request @@ -152,29 +155,37 @@ final class StandardHostValve extends Va context.getPipeline().getFirst().invoke(request, response); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); -request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t); -throwable(request, response, t); +if (errorAtStart) { +
svn commit: r1408150 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/AsyncContextImpl.java webapps/docs/changelog.xml
Author: markt Date: Sun Nov 11 23:32:43 2012 New Revision: 1408150 URL: http://svn.apache.org/viewvc?rev=1408150&view=rev Log: both timeout and complete, as with all container callbacks must be invoked with the right context Backport of fhanik's r1356898 Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1356898 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1408150&r1=1408149&r2=1408150&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Sun Nov 11 23:32:43 2012 @@ -110,21 +110,30 @@ public class AsyncContextImpl implements request.getCoyoteRequest().action(ActionCode.ASYNC_TIMEOUT, result); if (result.get()) { -boolean listenerInvoked = false; -List listenersCopy = -new ArrayList(); -listenersCopy.addAll(listeners); -for (AsyncListenerWrapper listener : listenersCopy) { -listener.fireOnTimeout(event); -listenerInvoked = true; -} -if (listenerInvoked) { -request.getCoyoteRequest().action( -ActionCode.ASYNC_IS_TIMINGOUT, result); -return !result.get(); -} else { -// No listeners, container calls complete -complete(); + +ClassLoader oldCL = Thread.currentThread().getContextClassLoader(); +ClassLoader newCL = request.getContext().getLoader().getClassLoader(); +try { +Thread.currentThread().setContextClassLoader(newCL); +boolean listenerInvoked = false; +List listenersCopy = +new ArrayList(); +listenersCopy.addAll(listeners); +for (AsyncListenerWrapper listener : listenersCopy) { +listener.fireOnTimeout(event); +listenerInvoked = true; +} +if (listenerInvoked) { +request.getCoyoteRequest().action( +ActionCode.ASYNC_IS_TIMINGOUT, result); +return !result.get(); +} else { +// No listeners, container calls complete +complete(); +} + +} finally { +Thread.currentThread().setContextClassLoader(oldCL); } } return true; 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=1408150&r1=1408149&r2=1408150&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sun Nov 11 23:32:43 2012 @@ -118,6 +118,11 @@ In FormAuthenticator: If it is configured to change Session IDs, do the change before displaying the login form. (kkolinko) + +Ensure AsyncListener.timeout() and +AsyncListener.complete() are called with the correct +thread context class loader. (fhanik) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408152 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/ java/org/apache/coyote/ test/org/apache/catalina/core/ webapps/docs/
Author: markt Date: Sun Nov 11 23:35:41 2012 New Revision: 1408152 URL: http://svn.apache.org/viewvc?rev=1408152&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54123 There are two things going on here: 1. The reported bug. If there is a async timeout and no async listeners, trigger a 500 response. 2. Implement "error dispatch". This is used a couple of times in the spec without any definition. The implication from the part of the spec quoted in the bug report is: - The standard error page mechanism should be used to identify the page - An async request that has been started should be left in async mode when forwarding to the error page - The error page may call complete() or dispatch() This commit hooks into the StandardHostValve to access the error page mechanism. I could have copied and pasted but I preferred the dependency on StandardHostValve Because the error page may do a dispatch(), need to ensure that when running the dispatch(), the error page mechanism is not triggered a second time. Depending on what emerges running the full unit tests and the TCK, I mat still decide to copy the error page code to AsyncContextImpl Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/AsyncStateMachine.java tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1408148 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1408152&r1=1408151&r2=1408152&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Sun Nov 11 23:35:41 2012 @@ -41,6 +41,8 @@ import javax.servlet.http.HttpServletRes import org.apache.catalina.AsyncDispatcher; import org.apache.catalina.Context; import org.apache.catalina.Globals; +import org.apache.catalina.Host; +import org.apache.catalina.Valve; import org.apache.catalina.connector.Request; import org.apache.coyote.ActionCode; import org.apache.coyote.AsyncContextCallback; @@ -128,8 +130,8 @@ public class AsyncContextImpl implements ActionCode.ASYNC_IS_TIMINGOUT, result); return !result.get(); } else { -// No listeners, container calls complete -complete(); +// No listeners, trigger error handling +return false; } } finally { @@ -372,6 +374,23 @@ public class AsyncContextImpl implements listener.getClass().getName() + "]", ioe); } } + +// SRV.2.3.3.3 (search for "error dispatch") +if (servletResponse instanceof HttpServletResponse) { +((HttpServletResponse) servletResponse).setStatus( +HttpServletResponse.SC_INTERNAL_SERVER_ERROR); +} + +Host host = (Host) context.getParent(); +Valve stdHostValve = host.getPipeline().getBasic(); +if (stdHostValve instanceof StandardHostValve) { +((StandardHostValve) stdHostValve).throwable(request, +request.getResponse(), t); +} + +if (isStarted() && !request.isAsyncDispatching()) { +complete(); +} } Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=1408152&r1=1408151&r2=1408152&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java Sun Nov 11 23:35:41 2012 @@ -161,6 +161,9 @@ final class StandardHostValve extends Va // If a request init listener throws an exception, the request is // aborted boolean asyncAtStart = request.isAsync(); +// An async error page may dispatch to another resource. This flag helps +// ensure an infinite error handling loop is not entered +boolean errorAtStart = response.isError(); if (asyncAtStart || context.fireRequestInitEvent(request)) { // Ask this Context to process this request @@ -168,29 +171,37 @@ final class StandardHostValve e
[Bug 54123] servlet 3.0 spec violation in async timeout processing
https://issues.apache.org/bugzilla/show_bug.cgi?id=54123 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Fixed in trunk and 7.0.x and will be included in 7.0.33 onwards. "error dispatch" is not defined anywhere I could find in the servlet spec. I implemented based on what I could deduce from the spec text quoted in this issue. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408154 - /tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
Author: markt Date: Sun Nov 11 23:43:18 2012 New Revision: 1408154 URL: http://svn.apache.org/viewvc?rev=1408154&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54124 Correct ASYNC_REQUEST_URI. Addition of query string appears to be left over debug code Add missing ASYNC_PATH_INFO which appears to be an oversight. Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1408154&r1=1408153&r2=1408154&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Sun Nov 11 23:43:18 2012 @@ -218,9 +218,10 @@ public class AsyncContextImpl implements } check(); if (request.getAttribute(ASYNC_REQUEST_URI)==null) { -request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()+"?"+request.getQueryString()); +request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()); request.setAttribute(ASYNC_CONTEXT_PATH, request.getContextPath()); request.setAttribute(ASYNC_SERVLET_PATH, request.getServletPath()); +request.setAttribute(ASYNC_PATH_INFO, request.getPathInfo()); request.setAttribute(ASYNC_QUERY_STRING, request.getQueryString()); } final RequestDispatcher requestDispatcher = context.getRequestDispatcher(path); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408155 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/AsyncContextImpl.java webapps/docs/changelog.xml
Author: markt Date: Sun Nov 11 23:45:46 2012 New Revision: 1408155 URL: http://svn.apache.org/viewvc?rev=1408155&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54124 Correct ASYNC_REQUEST_URI. Addition of query string appears to be left over debug code Add missing ASYNC_PATH_INFO which appears to be an oversight. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1408154 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1408155&r1=1408154&r2=1408155&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Sun Nov 11 23:45:46 2012 @@ -164,9 +164,10 @@ public class AsyncContextImpl implements } check(); if (request.getAttribute(ASYNC_REQUEST_URI)==null) { -request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()+"?"+request.getQueryString()); +request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()); request.setAttribute(ASYNC_CONTEXT_PATH, request.getContextPath()); request.setAttribute(ASYNC_SERVLET_PATH, request.getServletPath()); +request.setAttribute(ASYNC_PATH_INFO, request.getPathInfo()); request.setAttribute(ASYNC_QUERY_STRING, request.getQueryString()); } final RequestDispatcher requestDispatcher = context.getRequestDispatcher(path); 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=1408155&r1=1408154&r2=1408155&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sun Nov 11 23:45:46 2012 @@ -128,6 +128,11 @@ AsyncListeners defined, a 500 error will be triggered. (markt) + +54124: Correct provided value of request attribute +javax.servlet.async.request_uri and add missing request +attribute javax.servlet.async.path_info. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54124] wrong javax.servlet.async.request_uri information and javax.servlet.async.path_info is missing
https://issues.apache.org/bugzilla/show_bug.cgi?id=54124 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Thanks for the report. Fixed in trunk and 7.0.x and will be included in 7.0.33 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: r1408156 - /tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java
Author: markt Date: Sun Nov 11 23:47:34 2012 New Revision: 1408156 URL: http://svn.apache.org/viewvc?rev=1408156&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54115 Minor enhancements to HttpClient test helper class Patch by Brian Burch Modified: tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Modified: tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java?rev=1408156&r1=1408155&r2=1408156&view=diff == --- tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java (original) +++ tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Sun Nov 11 23:47:34 2012 @@ -103,6 +103,9 @@ public abstract class SimpleHttpClient { request = theRequest; } +/* + * Expect the server to reply with 100 Continue interim response + */ public void setUseContinue(boolean theUseContinueFlag) { useContinue = theUseContinueFlag; } @@ -135,6 +138,10 @@ public abstract class SimpleHttpClient { return responseBody; } +public List getResponseBodyUriElements() { +return bodyUriElments; +} + public void setUseContentLength(boolean b) { useContentLength = b; } @@ -180,17 +187,23 @@ public abstract class SimpleHttpClient { } +/* + * Send the component parts of the request + * (be tolerant and simply skip null entries) + */ public void sendRequest() throws InterruptedException, IOException { -// Send the request boolean first = true; for (String requestPart : request) { -if (first) { -first = false; -} else { -Thread.sleep(requestPause); +if (requestPart != null) { +if (first) { +first = false; +} +else { +Thread.sleep(requestPause); +} +writer.write(requestPart); +writer.flush(); } -writer.write(requestPart); -writer.flush(); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408157 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/catalina/startup/SimpleHttpClient.java
Author: markt Date: Sun Nov 11 23:48:19 2012 New Revision: 1408157 URL: http://svn.apache.org/viewvc?rev=1408157&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54115 Minor enhancements to HttpClient test helper class Patch by Brian Burch Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1408156 Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java?rev=1408157&r1=1408156&r2=1408157&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Sun Nov 11 23:48:19 2012 @@ -103,6 +103,9 @@ public abstract class SimpleHttpClient { request = theRequest; } +/* + * Expect the server to reply with 100 Continue interim response + */ public void setUseContinue(boolean theUseContinueFlag) { useContinue = theUseContinueFlag; } @@ -135,6 +138,10 @@ public abstract class SimpleHttpClient { return responseBody; } +public List getResponseBodyUriElements() { +return bodyUriElments; +} + public void setUseContentLength(boolean b) { useContentLength = b; } @@ -180,17 +187,23 @@ public abstract class SimpleHttpClient { } +/* + * Send the component parts of the request + * (be tolerant and simply skip null entries) + */ public void sendRequest() throws InterruptedException, IOException { -// Send the request boolean first = true; for (String requestPart : request) { -if (first) { -first = false; -} else { -Thread.sleep(requestPause); +if (requestPart != null) { +if (first) { +first = false; +} +else { +Thread.sleep(requestPause); +} +writer.write(requestPart); +writer.flush(); } -writer.write(requestPart); -writer.flush(); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54115] Minor enhancements to HttpClient test helper class
https://issues.apache.org/bugzilla/show_bug.cgi?id=54115 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Fixed in trunk and 7.0.x and will be included in 7.0.33 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
Re: svn commit: r1407596 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/NamingContextListener.java test/org/apache/catalina/core/TestNamingContextListener.java webapps/docs/changelog.xml
On 10/11/2012 09:31, Konstantin Kolinko wrote: > 2012/11/9 : >> Author: markt >> Date: Fri Nov 9 19:33:44 2012 >> New Revision: 1407596 >> >> URL: http://svn.apache.org/viewvc?rev=1407596&view=rev >> Log: >> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54096 >> env-entry can use any type that has a String or char constructor >> > > Does it change what types are allowed for the element in > Context or in GlobalResources? > > I mean the following documentation: > http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Environment_Entries > http://tomcat.apache.org/tomcat-7.0-doc/config/globalresources.html#Environment_Entries It does. Those limitations were removed in Servlet 2.4 (Tomcat 5.x). I'll update the docs. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408159 - in /tomcat/trunk/webapps/docs/config: context.xml globalresources.xml
Author: markt Date: Mon Nov 12 00:00:17 2012 New Revision: 1408159 URL: http://svn.apache.org/viewvc?rev=1408159&view=rev Log: Update docs after r1407595 Modified: tomcat/trunk/webapps/docs/config/context.xml tomcat/trunk/webapps/docs/config/globalresources.xml Modified: tomcat/trunk/webapps/docs/config/context.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/context.xml?rev=1408159&r1=1408158&r2=1408159&view=diff == --- tomcat/trunk/webapps/docs/config/context.xml (original) +++ tomcat/trunk/webapps/docs/config/context.xml Mon Nov 12 00:00:17 2012 @@ -934,13 +934,9 @@ The fully qualified Java class name expected by the web application -for this environment entry. Must be one of the legal values for +for this environment entry. Must be a legal value forin the web application deployment -descriptor: java.lang.Boolean, -java.lang.Byte, java.lang.Character, -java.lang.Double, java.lang.Float, -java.lang.Integer, java.lang.Long, -java.lang.Short, or java.lang.String. +descriptor. Modified: tomcat/trunk/webapps/docs/config/globalresources.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/globalresources.xml?rev=1408159&r1=1408158&r2=1408159&view=diff == --- tomcat/trunk/webapps/docs/config/globalresources.xml (original) +++ tomcat/trunk/webapps/docs/config/globalresources.xml Mon Nov 12 00:00:17 2012 @@ -115,13 +115,9 @@ The fully qualified Java class name expected by the web application -for this environment entry. Must be one of the legal values for +for this environment entry. Must be a legal value for in the web application deployment -descriptor: java.lang.Boolean, -java.lang.Byte, java.lang.Character, -java.lang.Double, java.lang.Float, -java.lang.Integer, java.lang.Long, -java.lang.Short, or java.lang.String. +descriptor. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408160 - in /tomcat/tc7.0.x/trunk: ./ webapps/docs/config/context.xml webapps/docs/config/globalresources.xml
Author: markt Date: Mon Nov 12 00:00:56 2012 New Revision: 1408160 URL: http://svn.apache.org/viewvc?rev=1408160&view=rev Log: Update docs after r1407596 Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/docs/config/context.xml tomcat/tc7.0.x/trunk/webapps/docs/config/globalresources.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1408159 Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/context.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/context.xml?rev=1408160&r1=1408159&r2=1408160&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/config/context.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/config/context.xml Mon Nov 12 00:00:56 2012 @@ -958,13 +958,9 @@ The fully qualified Java class name expected by the web application -for this environment entry. Must be one of the legal values for +for this environment entry. Must be a legal value forin the web application deployment -descriptor: java.lang.Boolean, -java.lang.Byte, java.lang.Character, -java.lang.Double, java.lang.Float, -java.lang.Integer, java.lang.Long, -java.lang.Short, or java.lang.String. +descriptor. Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/globalresources.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/globalresources.xml?rev=1408160&r1=1408159&r2=1408160&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/config/globalresources.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/config/globalresources.xml Mon Nov 12 00:00:56 2012 @@ -115,13 +115,9 @@ The fully qualified Java class name expected by the web application -for this environment entry. Must be one of the legal values for +for this environment entry. Must be a legal value for in the web application deployment -descriptor: java.lang.Boolean, -java.lang.Byte, java.lang.Character, -java.lang.Double, java.lang.Float, -java.lang.Integer, java.lang.Long, -java.lang.Short, or java.lang.String. +descriptor. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54087] HTTP Connector incorrectly throws Exception on Invalid If-Modified-Since Header
https://issues.apache.org/bugzilla/show_bug.cgi?id=54087 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Mark Thomas --- There is a grey(ish) area here. SRV.3.4 states "If the getDateHeader method cannot translate the header to a Date object, an IllegalArgumentException is thrown" RFC2616-3.3.1 states "Recipients of date values are encouraged to be robust in accepting date values". I take 'robust' in this case to mean tolerant rather than strict. It could be read as either. RFC2616-14.25.a as already quoted Together, these suggest that Tomcat should try and parse the header regardless of the format and if it can't parse it ignore it if the header is an "If-Modified-Since" header. When processing the If-Modified-Since header in the DefaultServlet, Tomcat does follow RFC2616-14.25.a and effectively ignores the header. The Javadoc for getDateHeader() states that "returns ... -1 if the named header was not included with the request". That is the only circumstance in which -1 is a permitted return value so if the header is present but in the wrong format Tomcat's only options are a) throw an IAE, b) parse it anyway. The problem with b) is that Tomcat would have to guess what the invalid format was. That is easier said than done. Therefore, all Tomcat can realistically do here is throw IAE. That, therefore, passes responsibility for adhering to RFC2616-14.25.a to whatever code is calling getDateHeader(). In this case the application; making it an application issue not a Tomcat one. -- 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: r1408162 - /tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java
Author: markt Date: Mon Nov 12 00:43:04 2012 New Revision: 1408162 URL: http://svn.apache.org/viewvc?rev=1408162&view=rev Log: Prevent NPEs with background processing and a failed deployment. Modified: tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java Modified: tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java?rev=1408162&r1=1408161&r2=1408162&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java Mon Nov 12 00:43:04 2012 @@ -58,6 +58,7 @@ import org.apache.catalina.Valve; import org.apache.catalina.Wrapper; import org.apache.catalina.connector.Request; import org.apache.catalina.connector.Response; +import org.apache.catalina.startup.FailedContext; import org.apache.catalina.util.ContextName; import org.apache.catalina.util.LifecycleMBeanBase; import org.apache.juli.logging.Log; @@ -1342,6 +1343,9 @@ public abstract class ContainerBase exte try { if (container instanceof Context) { +if (container instanceof FailedContext) { +return; +} // Ensure background processing for Contexts and Wrappers // is performed under the web app's class loader originalClassLoader = - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408163 - /tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
Author: markt Date: Mon Nov 12 01:15:52 2012 New Revision: 1408163 URL: http://svn.apache.org/viewvc?rev=1408163&view=rev Log: Fix memory leak that prevents context.xml files associated with failed deployments from being deleted. Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1408163&r1=1408162&r2=1408163&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Mon Nov 12 01:15:52 2012 @@ -545,10 +545,11 @@ public class HostConfig boolean isExternalWar = false; boolean isExternal = false; File expandedDocBase = null; -try { + +try (FileInputStream fis = new FileInputStream(contextXml)) { synchronized (digester) { try { -context = (Context) digester.parse(contextXml); +context = (Context) digester.parse(fis); } catch (Exception e) { log.error(sm.getString( "hostConfig.deployDescriptor.error", - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408164 - /tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
Author: markt Date: Mon Nov 12 01:16:37 2012 New Revision: 1408164 URL: http://svn.apache.org/viewvc?rev=1408164&view=rev Log: Prevent ClassCastException when undeploying a FailedContext Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1408164&r1=1408163&r2=1408164&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Mon Nov 12 01:16:37 2012 @@ -1033,9 +1033,11 @@ public class ContextConfig implements Li } // Changed to getWorkPath per Bugzilla 35819. -String workDir = ((StandardContext) context).getWorkPath(); -if (workDir != null) { -ExpandWar.delete(new File(workDir)); +if (context instanceof StandardContext) { +String workDir = ((StandardContext) context).getWorkPath(); +if (workDir != null) { +ExpandWar.delete(new File(workDir)); +} } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1408165 - in /tomcat/trunk/java/org/apache/catalina: startup/FailedContext.java util/LifecycleBase.java
Author: markt Date: Mon Nov 12 01:19:18 2012 New Revision: 1408165 URL: http://svn.apache.org/viewvc?rev=1408165&view=rev Log: If a component is FAILED it will remain in the FAILED state while stop() is called Better logging for Lifecycle issues for FailedContext Modified: tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java Modified: tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1408165&r1=1408164&r2=1408165&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java Mon Nov 12 01:19:18 2012 @@ -222,6 +222,10 @@ public class FailedContext extends Lifec @Override public void removeChild(Container child) { /* NO-OP */ } +@Override +public String toString() { +return getName(); +} // All NO-OPs beyond this point @Override Modified: tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java?rev=1408165&r1=1408164&r2=1408165&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java Mon Nov 12 01:19:18 2012 @@ -242,7 +242,7 @@ public abstract class LifecycleBase impl setStateInternal(LifecycleState.STOPPED, null, false); destroy(); -} else { +} else if (!state.equals(LifecycleState.FAILED)){ // Shouldn't be necessary but acts as a check that sub-classes are // doing what they are supposed to. if (!state.equals(LifecycleState.STOPPING)) { @@ -272,7 +272,8 @@ public abstract class LifecycleBase impl stop(); } catch (LifecycleException e) { // Just log. Still want to destroy. -log.warn(sm.getString("lifecycleBase.destroyStopFail"), e); +log.warn(sm.getString( +"lifecycleBase.destroyStopFail", toString()), e); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54123] servlet 3.0 spec violation in async timeout processing
https://issues.apache.org/bugzilla/show_bug.cgi?id=54123 --- Comment #2 from Eugene Chung (TmaxSoft) --- Yes, I haven't seen the def. of 'error dispatch', too. In our product, I just used response.sendError(500) that was internally using forward with DispatcherType.ERROR. -- 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: r1408166 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/startup/ java/org/apache/catalina/util/ webapps/docs/
Author: markt Date: Mon Nov 12 01:26:59 2012 New Revision: 1408166 URL: http://svn.apache.org/viewvc?rev=1408166&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54007 Fix memory leak that prevents context.xml files associated with failed deployments from being deleted. Fix errors uncovered once the above issue was resolved. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/ContextConfig.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/HostConfig.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/LifecycleBase.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1408163-1408165 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1408166&r1=1408165&r2=1408166&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/ContextConfig.java Mon Nov 12 01:26:59 2012 @@ -1094,9 +1094,12 @@ public class ContextConfig implements Li } // Changed to getWorkPath per Bugzilla 35819. -String workDir = ((StandardContext) context).getWorkPath(); -if (workDir != null) -ExpandWar.delete(new File(workDir)); +if (context instanceof StandardContext) { +String workDir = ((StandardContext) context).getWorkPath(); +if (workDir != null) { +ExpandWar.delete(new File(workDir)); +} +} } Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1408166&r1=1408165&r2=1408166&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java Mon Nov 12 01:26:59 2012 @@ -181,6 +181,10 @@ public class FailedContext extends Lifec @Override public void removeChild(Container child) { /* NO-OP */ } +@Override +public String toString() { +return getName(); +} // All NO-OPs beyond this point @Override Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1408166&r1=1408165&r2=1408166&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/HostConfig.java Mon Nov 12 01:26:59 2012 @@ -603,10 +603,12 @@ public class HostConfig boolean isExternalWar = false; boolean isExternal = false; File expandedDocBase = null; +FileInputStream fis = null; try { +fis = new FileInputStream(contextXml); synchronized (digester) { try { -context = (Context) digester.parse(contextXml); +context = (Context) digester.parse(fis); } catch (Exception e) { log.error(sm.getString( "hostConfig.deployDescriptor.error", @@ -658,6 +660,13 @@ public class HostConfig log.error(sm.getString("hostConfig.deployDescriptor.error", contextXml.getAbsolutePath()), t); } finally { +if (fis != null) { +try { +fis.close(); +} catch (IOException e) { +// Ignore +} +} // Get paths for WAR and expanded WAR in appBase // default to appBase dir + name Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/LifecycleBase.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/LifecycleBase.java?rev=1408166&r1=1408165&r2=1408166&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/LifecycleBase.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/LifecycleBase.java Mon Nov 12 01:26:59 2012 @@ -242,7 +242,7 @@ public abstract class LifecycleBase impl setStateInternal(Lifecycle
[Bug 54007] Improve handling of failed web application deployments
https://issues.apache.org/bugzilla/show_bug.cgi?id=54007 --- Comment #3 from Mark Thomas --- Note the leak has been identified and fixed in trunk and 7.0.x. See r1408163 and r1408166. -- 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
Plans for 7.0.33
I plan to run the TCKs tomorrow (strictly later today) but either way once I have got some sleep. If they and the unit tests pass, I'll tag 7.0.33 shortly afterwards. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/3550 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1408165 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
Re: buildbot failure in ASF Buildbot on tomcat-trunk
2012/11/12 : > The Buildbot has detected a new failure on builder tomcat-trunk while > building ASF Buildbot. > Full details are available at: > http://ci.apache.org/builders/tomcat-trunk/builds/3550 > > Buildbot URL: http://ci.apache.org/ > > Buildslave for this Build: bb-vm_ubuntu > > Build Reason: scheduler > Build Source Stamp: [branch tomcat/trunk] 1408165 > Blamelist: markt > > BUILD FAILED: failed compile_1 > http://ci.apache.org/projects/tomcat/tomcat8/logs/1408165/TEST-org.apache.catalina.core.TestAsyncContextImpl.NIO.txt Testsuite: org.apache.catalina.core.TestAsyncContextImpl Tests run: 41, Failures: 1, Errors: 0, Time elapsed: 79.256 sec Testcase: testTimeoutListenerCompleteNoDispatch took 5.125 sec FAILED Uri: /async, Status: 200, Time: 2921 junit.framework.AssertionFailedError: Uri: /async, Status: 200, Time: 2921 at org.apache.catalina.valves.TesterAccessLogValve.validateAccessLog(TesterAccessLogValve.java:81) at org.apache.catalina.core.TestAsyncContextImpl.doTestTimeout(TestAsyncContextImpl.java:499) at org.apache.catalina.core.TestAsyncContextImpl.testTimeoutListenerCompleteNoDispatch(TestAsyncContextImpl.java:387) The code is alvGlobal.validateAccessLog(1, 200, TimeoutServlet.ASYNC_TIMEOUT, TimeoutServlet.ASYNC_TIMEOUT + TIMEOUT_MARGIN + REQUEST_TIME); TimeoutServlet.ASYNC_TIMEOUT is 3000, so it executed faster (2921) than expected. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54064] tomcat native randomly very slow with high CPU usage
https://issues.apache.org/bugzilla/show_bug.cgi?id=54064 --- Comment #16 from Mladen Turk --- Hmm, This looks like an endless loop where socket is trying to write to something that's not there any more. The problem with that is how to simulate such situation. Since it happens with SSL only I presume its hidden somewhere in our SSL send loop. Since it seems the only way is by trial and error let me check few options. I'll prepare real tcnative binary for Linux, so hope you'll be able to check few runs. -- 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 53869] Performance tuning solution to resolve too many cascaded JspContextWrapper issue
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869 --- Comment #4 from Sheldon Shao --- Created attachment 29586 --> https://issues.apache.org/bugzilla/attachment.cgi?id=29586&action=edit Old JspContextWrapper -- 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 53869] Performance tuning solution to resolve too many cascaded JspContextWrapper issue
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869 --- Comment #5 from Sheldon Shao --- Created attachment 29587 --> https://issues.apache.org/bugzilla/attachment.cgi?id=29587&action=edit Test case comparison for performance tuning -- 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 53869] Performance tuning solution to resolve too many cascaded JspContextWrapper issue
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869 Sheldon Shao changed: What|Removed |Added Attachment #29586|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 53869] Performance tuning solution to resolve too many cascaded JspContextWrapper issue
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869 Sheldon Shao changed: What|Removed |Added Attachment #29587|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 53869] Performance tuning solution to resolve too many cascaded JspContextWrapper issue
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869 --- Comment #6 from Sheldon Shao --- Hi Mark. I added the test case. Here is a result of this case: Duration:422 DurationOld:748 Duration:203 DurationOld:717 Duration:187 DurationOld:702 Duration:187 DurationOld:686 -- 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: Plans for 7.0.33
I updated this jira https://issues.apache.org/bugzilla/show_bug.cgi?id=53869 Could you add this in 7.0.33 ? Thanks, Sheldon -Original Message- From: Mark Thomas [mailto:ma...@apache.org] Sent: 2012年11月12日 9:31 To: Tomcat Developers List Subject: Plans for 7.0.33 I plan to run the TCKs tomorrow (strictly later today) but either way once I have got some sleep. If they and the unit tests pass, I'll tag 7.0.33 shortly afterwards. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org