[Bug 56456] Suggesting lock-free endpoint state machine

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56456

--- Comment #3 from Mark Thomas  ---
Patches should be in diff -u format to aid review.

Without some performance tests that demonstrate that this code performs better
than the current code for the normal usage case(s) then this issue is likely to
be resolved as WONTFIX.

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



Early Access builds for JDK 9 b09, JDK 8u20 b10 and JDK 7U60 b15 are available on java.net

2014-04-25 Thread Rory O'Donnell Oracle, Dublin Ireland

Hi Mladen,

Early Access builds for JDK 9 b09 , JDK 
8u20 b10  and JDK 7U60 b15 
 are available on java.net.


As we enter the later phases of development for JDK 7u60 & JDK 8u20 , 
please log any show

stoppers as soon as possible.

Rgds, Rory

--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland



svn commit: r1589967 - in /tomcat/trunk: java/org/apache/catalina/valves/ErrorReportValve.java java/org/apache/catalina/valves/mbeans-descriptors.xml webapps/docs/changelog.xml webapps/docs/config/val

2014-04-25 Thread violetagg
Author: violetagg
Date: Fri Apr 25 10:06:58 2014
New Revision: 1589967

URL: http://svn.apache.org/r1589967
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56383
Properties for disabling server information and error report are added to the 
o.a.catalina.valves.ErrorReportValve. Based on the patch provided by Nick Bunn.

Modified:
tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
tomcat/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml
tomcat/trunk/webapps/docs/changelog.xml
tomcat/trunk/webapps/docs/config/valve.xml

Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1589967&r1=1589966&r2=1589967&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Fri Apr 
25 10:06:58 2014
@@ -48,6 +48,10 @@ import org.apache.tomcat.util.res.String
  */
 public class ErrorReportValve extends ValveBase {
 
+protected boolean showReport = true;
+
+protected boolean showServerInfo = true;
+
 //-- Constructor
 public ErrorReportValve() {
 super(true);
@@ -175,69 +179,74 @@ public class ErrorReportValve extends Va
 
 StringBuilder sb = new StringBuilder();
 
-sb.append("");
-sb.append(ServerInfo.getServerInfo()).append(" - ");
-sb.append(smClient.getString("errorReportValve.errorReport"));
-sb.append("");
-sb.append("");
-sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
-sb.append(" ");
+sb.append("");
+if(showServerInfo || showReport){
+sb.append("");
+if(showServerInfo) {
+sb.append(ServerInfo.getServerInfo()).append(" - ");
+}
+sb.append(smClient.getString("errorReportValve.errorReport"));
+sb.append("");
+sb.append(" ");
+}
 sb.append("");
 sb.append("");
 sb.append(smClient.getString("errorReportValve.statusHeader",
"" + statusCode, message)).append("");
-sb.append("");
-sb.append("type ");
-if (throwable != null) {
-sb.append(smClient.getString("errorReportValve.exceptionReport"));
-} else {
-sb.append(smClient.getString("errorReportValve.statusReport"));
-}
-sb.append("");
-sb.append("");
-sb.append(smClient.getString("errorReportValve.message"));
-sb.append(" ");
-sb.append(message).append("");
-sb.append("");
-sb.append(smClient.getString("errorReportValve.description"));
-sb.append(" ");
-sb.append(report);
-sb.append("");
-
-if (throwable != null) {
-
-String stackTrace = getPartialServletStackTrace(throwable);
+if (showReport) {
+sb.append("");
+sb.append("type ");
+if (throwable != null) {
+
sb.append(smClient.getString("errorReportValve.exceptionReport"));
+} else {
+sb.append(smClient.getString("errorReportValve.statusReport"));
+}
+sb.append("");
+sb.append("");
+sb.append(smClient.getString("errorReportValve.message"));
+sb.append(" ");
+sb.append(message).append("");
 sb.append("");
-sb.append(smClient.getString("errorReportValve.exception"));
-sb.append("");
-sb.append(RequestUtil.filter(stackTrace));
-sb.append("");
-
-int loops = 0;
-Throwable rootCause = throwable.getCause();
-while (rootCause != null && (loops < 10)) {
-stackTrace = getPartialServletStackTrace(rootCause);
+sb.append(smClient.getString("errorReportValve.description"));
+sb.append(" ");
+sb.append(report);
+sb.append("");
+if (throwable != null) {
+
+String stackTrace = getPartialServletStackTrace(throwable);
 sb.append("");
-sb.append(smClient.getString("errorReportValve.rootCause"));
+sb.append(smClient.getString("errorReportValve.exception"));
 sb.append("");
 sb.append(RequestUtil.filter(stackTrace));
 sb.append("");
-// In case root cause is somehow heavily nested
-rootCause = rootCause.getCause();
-loops++;
-}
 
-sb.append("");
-sb.append(smClient.getString("errorReport

svn commit: r1589980 - /tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 10:28:18 2014
New Revision: 1589980

URL: http://svn.apache.org/r1589980
Log:
More defensive coding around some XML activities that are triggered by web 
applications and are therefore at potential risk of a memory leak.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589980&r1=1589979&r2=1589980&view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 
25 10:28:18 2014
@@ -18,6 +18,7 @@ package org.apache.jasper.compiler;
 
 import java.io.IOException;
 import java.net.URL;
+import java.security.AccessController;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
@@ -29,6 +30,8 @@ import org.apache.jasper.JasperException
 import org.apache.jasper.compiler.tagplugin.TagPlugin;
 import org.apache.jasper.compiler.tagplugin.TagPluginContext;
 import org.apache.tomcat.util.descriptor.tagplugin.TagPluginParser;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
 import org.xml.sax.SAXException;
 
 /**
@@ -71,7 +74,34 @@ public class TagPluginManager {
 blockExternal = Boolean.parseBoolean(blockExternalString);
 }
 
-TagPluginParser parser = new TagPluginParser(ctxt, blockExternal);
+TagPluginParser parser;
+ClassLoader original;
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedGetTccl pa = new PrivilegedGetTccl();
+original = AccessController.doPrivileged(pa);
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
+try {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa =
+new 
PrivilegedSetTccl(JspDocumentParser.class.getClassLoader());
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(
+JspDocumentParser.class.getClassLoader());
+}
+
+parser = new TagPluginParser(ctxt, blockExternal);
+
+} finally {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
+}
 
 try {
 Enumeration urls =



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1589983 - /tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 10:44:05 2014
New Revision: 1589983

URL: http://svn.apache.org/r1589983
Log:
Fix indents and copy/paste errors

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589983&r1=1589982&r2=1589983&view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 
25 10:44:05 2014
@@ -79,17 +79,17 @@ public class TagPluginManager {
 if (Constants.IS_SECURITY_ENABLED) {
 PrivilegedGetTccl pa = new PrivilegedGetTccl();
 original = AccessController.doPrivileged(pa);
-} else {
-original = Thread.currentThread().getContextClassLoader();
-}
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
 try {
 if (Constants.IS_SECURITY_ENABLED) {
 PrivilegedSetTccl pa =
-new 
PrivilegedSetTccl(JspDocumentParser.class.getClassLoader());
+new 
PrivilegedSetTccl(TagPluginManager.class.getClassLoader());
 AccessController.doPrivileged(pa);
 } else {
 Thread.currentThread().setContextClassLoader(
-JspDocumentParser.class.getClassLoader());
+TagPluginManager.class.getClassLoader());
 }
 
 parser = new TagPluginParser(ctxt, blockExternal);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1589985 - /tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 10:53:44 2014
New Revision: 1589985

URL: http://svn.apache.org/r1589985
Log:
Parser uses lazy init so move creation of parser inside the block that uses the 
container class loader.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589985&r1=1589984&r2=1589985&view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 
25 10:53:44 2014
@@ -94,16 +94,6 @@ public class TagPluginManager {
 
 parser = new TagPluginParser(ctxt, blockExternal);
 
-} finally {
-if (Constants.IS_SECURITY_ENABLED) {
-PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
-AccessController.doPrivileged(pa);
-} else {
-Thread.currentThread().setContextClassLoader(original);
-}
-}
-
-try {
 Enumeration urls =
 
ctxt.getClassLoader().getResources(META_INF_JASPER_TAG_PLUGINS_XML);
 if (urls != null) {
@@ -119,6 +109,13 @@ public class TagPluginManager {
 }
 } catch (IOException | SAXException e) {
 throw new JasperException(e);
+} finally {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
 }
 
 Map plugins = parser.getPlugins();



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1589988 - /tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java

2014-04-25 Thread violetagg
Author: violetagg
Date: Fri Apr 25 10:57:39 2014
New Revision: 1589988

URL: http://svn.apache.org/r1589988
Log:
Return the type attribute in the . Removed by mistake with the previous 
commit.

Modified:
tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java

Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1589988&r1=1589987&r2=1589988&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Fri Apr 
25 10:57:39 2014
@@ -187,9 +187,9 @@ public class ErrorReportValve extends Va
 }
 sb.append(smClient.getString("errorReportValve.errorReport"));
 sb.append("");
-sb.append("