[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed

2012-11-11 Thread Gump
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

2012-11-11 Thread kkolinko
Author: kkolinko
Date: Sun Nov 11 16:25:18 2012
New Revision: 1408043

URL: http://svn.apache.org/viewvc?rev=1408043view=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=1408043r1=1408042r2=1408043view=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

2012-11-11 Thread kkolinko
Author: kkolinko
Date: Sun Nov 11 16:42:02 2012
New Revision: 1408044

URL: http://svn.apache.org/viewvc?rev=1408044view=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=1408044r1=1408043r2=1408044view=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=1408044r1=1408043r2=1408044view=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 @@
 bug54127/bug: Add support for sending a WebSocket Ping. Patch
 provided by Sean Winterberger. (markt)
   /add
+  fix
+In FormAuthenticator: If it is configured to change Session IDs,
+do the change before displaying the login form. (kkolinko)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote



-
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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:26:55 2012
New Revision: 1408148

URL: http://svn.apache.org/viewvc?rev=1408148view=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=1408148r1=1408147r2=1408148view=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=1408148r1=1408147r2=1408148view=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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:32:43 2012
New Revision: 1408150

URL: http://svn.apache.org/viewvc?rev=1408150view=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=1408150r1=1408149r2=1408150view=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;
-ListAsyncListenerWrapper listenersCopy =
-new ArrayListAsyncListenerWrapper();
-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;
+ListAsyncListenerWrapper listenersCopy =
+new ArrayListAsyncListenerWrapper();
+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=1408150r1=1408149r2=1408150view=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)
   /fix
+  fix
+Ensure codeAsyncListener.timeout()/code and
+codeAsyncListener.complete()/code are called with the correct
+thread context class loader. (fhanik)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote



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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:35:41 2012
New Revision: 1408152

URL: http://svn.apache.org/viewvc?rev=1408152view=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=1408152r1=1408151r2=1408152view=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=1408152r1=1408151r2=1408152view=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 extends Va
 

[Bug 54123] servlet 3.0 spec violation in async timeout processing

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54123

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas ma...@apache.org ---
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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:43:18 2012
New Revision: 1408154

URL: http://svn.apache.org/viewvc?rev=1408154view=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=1408154r1=1408153r2=1408154view=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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:45:46 2012
New Revision: 1408155

URL: http://svn.apache.org/viewvc?rev=1408155view=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=1408155r1=1408154r2=1408155view=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=1408155r1=1408154r2=1408155view=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 @@
 codeAsyncListener/codes defined, a 500 error will be triggered.
 (markt)
   /fix
+  fix
+bug54124/bug: Correct provided value of request attribute
+codejavax.servlet.async.request_uri/code and add missing request
+attribute codejavax.servlet.async.path_info/code. (markt)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote



-
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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54124

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas ma...@apache.org ---
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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:47:34 2012
New Revision: 1408156

URL: http://svn.apache.org/viewvc?rev=1408156view=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=1408156r1=1408155r2=1408156view=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 ListString 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

2012-11-11 Thread markt
Author: markt
Date: Sun Nov 11 23:48:19 2012
New Revision: 1408157

URL: http://svn.apache.org/viewvc?rev=1408157view=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=1408157r1=1408156r2=1408157view=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 ListString 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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54115

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas ma...@apache.org ---
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

2012-11-11 Thread Mark Thomas
On 10/11/2012 09:31, Konstantin Kolinko wrote:
 2012/11/9  ma...@apache.org:
 Author: markt
 Date: Fri Nov  9 19:33:44 2012
 New Revision: 1407596

 URL: http://svn.apache.org/viewvc?rev=1407596view=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 Environment 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

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 00:00:17 2012
New Revision: 1408159

URL: http://svn.apache.org/viewvc?rev=1408159view=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=1408159r1=1408158r2=1408159view=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 @@
 
   attribute name=type required=true
 pThe 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
 codelt;env-entry-typegt;/code in the web application deployment
-descriptor:  codejava.lang.Boolean/code,
-codejava.lang.Byte/code, codejava.lang.Character/code,
-codejava.lang.Double/code, codejava.lang.Float/code,
-codejava.lang.Integer/code, codejava.lang.Long/code,
-codejava.lang.Short/code, or codejava.lang.String/code./p
+descriptor./p
   /attribute
 
   attribute name=value required=true

Modified: tomcat/trunk/webapps/docs/config/globalresources.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/globalresources.xml?rev=1408159r1=1408158r2=1408159view=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 @@
 
   attribute name=type required=true
 pThe 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
 codelt;env-entry-typegt;/code in the web application deployment
-descriptor:  codejava.lang.Boolean/code,
-codejava.lang.Byte/code, codejava.lang.Character/code,
-codejava.lang.Double/code, codejava.lang.Float/code,
-codejava.lang.Integer/code, codejava.lang.Long/code,
-codejava.lang.Short/code, or codejava.lang.String/code./p
+descriptor./p
   /attribute
 
   attribute name=value required=true



-
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

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 00:00:56 2012
New Revision: 1408160

URL: http://svn.apache.org/viewvc?rev=1408160view=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=1408160r1=1408159r2=1408160view=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 @@
 
   attribute name=type required=true
 pThe 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
 codelt;env-entry-typegt;/code in the web application deployment
-descriptor:  codejava.lang.Boolean/code,
-codejava.lang.Byte/code, codejava.lang.Character/code,
-codejava.lang.Double/code, codejava.lang.Float/code,
-codejava.lang.Integer/code, codejava.lang.Long/code,
-codejava.lang.Short/code, or codejava.lang.String/code./p
+descriptor./p
   /attribute
 
   attribute name=value required=true

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=1408160r1=1408159r2=1408160view=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 @@
 
   attribute name=type required=true
 pThe 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
 codelt;env-entry-typegt;/code in the web application deployment
-descriptor:  codejava.lang.Boolean/code,
-codejava.lang.Byte/code, codejava.lang.Character/code,
-codejava.lang.Double/code, codejava.lang.Float/code,
-codejava.lang.Integer/code, codejava.lang.Long/code,
-codejava.lang.Short/code, or codejava.lang.String/code./p
+descriptor./p
   /attribute
 
   attribute name=value required=true



-
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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54087

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #1 from Mark Thomas ma...@apache.org ---
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

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 00:43:04 2012
New Revision: 1408162

URL: http://svn.apache.org/viewvc?rev=1408162view=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=1408162r1=1408161r2=1408162view=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

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 01:15:52 2012
New Revision: 1408163

URL: http://svn.apache.org/viewvc?rev=1408163view=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=1408163r1=1408162r2=1408163view=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

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 01:16:37 2012
New Revision: 1408164

URL: http://svn.apache.org/viewvc?rev=1408164view=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=1408164r1=1408163r2=1408164view=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

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 01:19:18 2012
New Revision: 1408165

URL: http://svn.apache.org/viewvc?rev=1408165view=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=1408165r1=1408164r2=1408165view=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=1408165r1=1408164r2=1408165view=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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54123

--- Comment #2 from Eugene Chung (TmaxSoft) bluewolf.ch...@gmail.com ---
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/

2012-11-11 Thread markt
Author: markt
Date: Mon Nov 12 01:26:59 2012
New Revision: 1408166

URL: http://svn.apache.org/viewvc?rev=1408166view=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=1408166r1=1408165r2=1408166view=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=1408166r1=1408165r2=1408166view=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=1408166r1=1408165r2=1408166view=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=1408166r1=1408165r2=1408166view=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(LifecycleState.STOPPED, 

[Bug 54007] Improve handling of failed web application deployments

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54007

--- Comment #3 from Mark Thomas ma...@apache.org ---
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

2012-11-11 Thread Mark Thomas
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

2012-11-11 Thread buildbot
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-11 Thread Konstantin Kolinko
2012/11/12  build...@apache.org:
 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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54064

--- Comment #16 from Mladen Turk mt...@apache.org ---
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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869

--- Comment #4 from Sheldon Shao xs...@ebay.com ---
Created attachment 29586
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=29586action=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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869

--- Comment #5 from Sheldon Shao xs...@ebay.com ---
Created attachment 29587
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=29587action=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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869

Sheldon Shao xs...@ebay.com 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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869

Sheldon Shao xs...@ebay.com 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

2012-11-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53869

--- Comment #6 from Sheldon Shao xs...@ebay.com ---
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

2012-11-11 Thread Shao, Sheldon
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