DO NOT REPLY [Bug 46221] Leak WebappClassLoader with commons-logging and log4j
https://issues.apache.org/bugzilla/show_bug.cgi?id=46221 --- Comment #8 from Arnaud de Bossoreille <[EMAIL PROTECTED]> 2008-12-04 05:24:28 PST --- Mark, yo're probably right when you say it is more an enhancement than a leak. I could not reproduce it any more. It seems that sometimes the VM is more eager to unload its classes. Some other times it requires dozens of start/stop to finally unload the classes, even with forced GC calls. However Peter pointed out a real leak which I was not able to reproduce too. Can some objects be initialized in a different order that would explain that kind of behavior? -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 46337] New: real worker name is wrong
https://issues.apache.org/bugzilla/show_bug.cgi?id=46337 Summary: real worker name is wrong Product: Tomcat Connectors Version: 1.2.27 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Common AssignedTo: dev@tomcat.apache.org ReportedBy: [EMAIL PROTECTED] Created an attachment (id=22988) --> (https://issues.apache.org/bugzilla/attachment.cgi?id=22988) patch for jk_lb_worker.c I am using one lb worker with two sub workers. The name of sub workers are 'ajp13w' and 'ajp13w2'. The format of the request log is as follows: JkRequestLogFormat "%w(%R) %V %T" When the failover occurred in mod_jk 1.2.22, the real worker name output to the request log was 'ajp13w2'. However, when the failover occurred in mod_jk 1.2.27, the real worker name was 'ajp13w'. Because "s->route" is not NULL when the failover occurs, it is not overwrited in a new worker name. jk_lb_worker.c L1128 if (!s->route) s->route = rec->route; Log of mod_jk 1.2.22: - [Thu Dec 04 13:33:29 2008] [25987:13664] [info] init_jk::mod_jk.c (2743): mod_jk/1.2.22 initialized [Thu Dec 04 13:33:29 2008] [25988:13664] [info] init_jk::mod_jk.c (2743): mod_jk/1.2.22 initialized [Thu Dec 04 13:34:04 2008] [25989:18752] [info] jk_open_socket::jk_connect.c (451): connect to 172.20.140.5:8009 failed (errno=115) [Thu Dec 04 13:34:04 2008] [25989:18752] [info] ajp_connect_to_endpoint::jk_ajp_common.c (876): Failed opening socket to (172.20.140.5:8009) (errno=115) [Thu Dec 04 13:34:04 2008] [25989:18752] [info] ajp_send_request::jk_ajp_common.c (1273): (ajp13w) error connecting to the backend server (errno=115) [Thu Dec 04 13:34:04 2008] [25989:18752] [info] ajp_service::jk_ajp_common.c (1941): (ajp13w) sending request to tomcat failed, recoverable operation attempt=1 [Thu Dec 04 13:34:09 2008] [25989:18752] [info] jk_open_socket::jk_connect.c (451): connect to 172.20.140.5:8009 failed (errno=115) [Thu Dec 04 13:34:09 2008] [25989:18752] [info] ajp_connect_to_endpoint::jk_ajp_common.c (876): Failed opening socket to (172.20.140.5:8009) (errno=115) [Thu Dec 04 13:34:09 2008] [25989:18752] [info] ajp_send_request::jk_ajp_common.c (1273): (ajp13w) error connecting to the backend server (errno=115) [Thu Dec 04 13:34:09 2008] [25989:18752] [info] ajp_service::jk_ajp_common.c (1941): (ajp13w) sending request to tomcat failed, recoverable operation attempt=2 [Thu Dec 04 13:34:09 2008] [25989:18752] [error] ajp_service::jk_ajp_common.c (1953): (ajp13w) Connecting to tomcat failed. Tomcat is probably not started or is listening on the wrong port [Thu Dec 04 13:34:09 2008] [25989:18752] [info] service::jk_lb_worker.c (1098): service failed, worker ajp13w is in error state [Thu Dec 04 13:34:09 2008] wlb(ajp13w2) localhost 10.007632 --- Log of mod_jk 1.2.27: - [Thu Dec 04 15:27:22.494 2008] [28187:161211744] [info] init_jk::mod_jk.c (3020): mod_jk/1.2.27 initialized [Thu Dec 04 15:27:22.509 2008] [28188:161211744] [info] init_jk::mod_jk.c (3020): mod_jk/1.2.27 initialized [Thu Dec 04 15:27:33.773 2008] [28190:1123916096] [info] jk_open_socket::jk_connect.c (593): connect to 172.20.140.5:8009 failed (errno=115) [Thu Dec 04 15:27:33.773 2008] [28190:1123916096] [info] ajp_connect_to_endpoint::jk_ajp_common.c (922): Failed opening socket to (172.20.140.5:8009) (errno=115) [Thu Dec 04 15:27:33.773 2008] [28190:1123916096] [error] ajp_send_request::jk_ajp_common.c (1467): (ajp13w) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=115) [Thu Dec 04 15:27:33.773 2008] [28190:1123916096] [info] ajp_service::jk_ajp_common.c (2407): (ajp13w) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1) [Thu Dec 04 15:27:38.874 2008] [28190:1123916096] [info] jk_open_socket::jk_connect.c (593): connect to 172.20.140.5:8009 failed (errno=115) [Thu Dec 04 15:27:38.875 2008] [28190:1123916096] [info] ajp_connect_to_endpoint::jk_ajp_common.c (922): Failed opening socket to (172.20.140.5:8009) (errno=115) [Thu Dec 04 15:27:38.875 2008] [28190:1123916096] [error] ajp_send_request::jk_ajp_common.c (1467): (ajp13w) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=115) [Thu Dec 04 15:27:38.875 2008] [28190:1123916096] [info] ajp_service::jk_ajp_common.c (2407): (ajp13w) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2) [Thu Dec 04 15:27:38.875 2008] [28190:1123916096] [error] ajp_service::jk_ajp_common.c (2426): (ajp13w) connecting to tomcat failed. [Thu Dec 04 15:27:38.875 2008] [28190:1123916096] [info] service::jk_lb_worker.c (1347): service failed, worker ajp13w is in error state [Thu Dec 04 15:27:38.878 2008] wlb(ajp13w) localhost 10.106069 --- regards. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs
DO NOT REPLY [Bug 46337] real worker name is wrong
https://issues.apache.org/bugzilla/show_bug.cgi?id=46337 --- Comment #1 from Rainer Jung <[EMAIL PROTECTED]> 2008-12-04 06:39:26 PST --- The route in the service struct is used for two purposes: 1) we send it via ajp12 and ajp13 to the backend 2) we set it in the load balancer and make it available for logging in Apache httpd Ad 1) Unfortunately route is never initialized before sending via AJP and consistently it is never used in the Tomcat AJP connector. I think it would be nice to actually set it to the route of the worker before sending to a backend, and to allow the route contained in the session id to be injected by the request and not only to be statically determined by jvmRoute in server.xml. Ad 2) Here we need to decide consistently, whether we want to make the route which was requested available, or the one we have actually chosen. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Injecting jvmRoute via Request
Hi, motivated by a bug report I had a look at the handling of the optional route attribute in the AJP protocol. I noticed, that mod_jk never seems to actuall set the attribute, and that the AJP connectors on the Tomcat side extract it but never use it. I don't know about the history, but does the following sound reasonable: - Setting the route attribute in the AJP request to the route value configured for the AJP worker chosen in mod_jk (simple) - When a new session in Tomcat gets created, and the Engine does not have a jvmRoute set, and the request came in via AJP, setting the jvmRoute of the session to the jvmRoute returned by the AJP request. That way one can inject the stickyness tag from the frontend and there's no need for duplicate jvmRoute configuration (mod_jk and Tomcat) any more. Because of compatibility the default jvmRoute would still be the one configured in server.xml, even when there's another one coming in via the rquest. Optional enhancement: add the same logic the the valve which rewrites the session id when the backend changes, i.e. use the Tomcat configured jvmRoute when available, but if not also check whether it's an AJP request and use the jvmRoute in this request instead. Does that make sense? Or was it tried before and produced problems? Regards, Rainer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 46339] New: Recursive tag files with JspFragment attributes fails
https://issues.apache.org/bugzilla/show_bug.cgi?id=46339 Summary: Recursive tag files with JspFragment attributes fails Product: Tomcat 6 Version: 6.0.18 Platform: All OS/Version: All Status: NEW Severity: critical Priority: P2 Component: Servlet & JSP API AssignedTo: dev@tomcat.apache.org ReportedBy: [EMAIL PROTECTED] Created an attachment (id=22991) --> (https://issues.apache.org/bugzilla/attachment.cgi?id=22991) Application that demonstrates the problem It's not possible to write a recursive tag file that makes use of a fragment attribute. The fragment will be correctly invoked at the first level. But when the fragment is passed on as an attribute to the recursive invocation, the fragments seems to be invoked and the result of the invocation is used instead. See the attached application for a demonstration. This may be related to bug #42693. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Experimental support for SRS and BATV
Folks, If SRS and BATV mean nothing to you, feel free to ignore this. Those of you who have struggled in the past with SRS or BATV may be interested to know that experimental support for these has been added to the Tomcat user and dev lists. You should now be able to subscribe and post from addresses that use SRS or BATV. If you have any difficulties please contact [EMAIL PROTECTED] or [EMAIL PROTECTED] and one of us will see what we can do to help. Mark - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r723404 - in /tomcat/trunk: java/org/apache/tomcat/util/net/NioEndpoint.java java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java webapps/docs/config/http.xml
Author: markt Date: Thu Dec 4 11:31:34 2008 New Revision: 723404 URL: http://svn.apache.org/viewvc?rev=723404&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=44285 Provide support for configuring the JSSE SSL session cache size and timeout Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java tomcat/trunk/webapps/docs/config/http.xml Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=723404&r1=723403&r2=723404&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Thu Dec 4 11:31:34 2008 @@ -50,6 +50,7 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; +import javax.net.ssl.SSLSessionContext; import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.X509KeyManager; @@ -604,7 +605,6 @@ public void setKeystoreType(String s ) { this.keystoreType = s;} protected String sslProtocol = "TLS"; - public String getSslProtocol() { return sslProtocol;} public void setSslProtocol(String s) { sslProtocol = s;} @@ -617,7 +617,6 @@ for (int i=0; i0) reclaimParachute(true); Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=723404&r1=723403&r2=723404&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java Thu Dec 4 11:31:34 2008 @@ -49,6 +49,7 @@ import javax.net.ssl.SSLException; import javax.net.ssl.SSLServerSocket; import javax.net.ssl.SSLServerSocketFactory; +import javax.net.ssl.SSLSessionContext; import javax.net.ssl.SSLSocket; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; @@ -88,6 +89,9 @@ private static final String defaultKeystoreFile = System.getProperty("user.home") + "/.keystore"; private static final String defaultKeyPass = "changeit"; +private static final int defaultSessionCacheSize = 0; +private static final int defaultSessionTimeout = 86400; + static org.apache.juli.logging.Log log = org.apache.juli.logging.LogFactory.getLog(JSSESocketFactory.class); @@ -419,6 +423,28 @@ trustAlgorithm), new SecureRandom()); +// Configure SSL session cache +int sessionCacheSize; +if (attributes.get("sessionCacheSize") != null) { +sessionCacheSize = Integer.parseInt( +(String)attributes.get("sessionCacheSize")); +} else { +sessionCacheSize = defaultSessionCacheSize; +} +int sessionCacheTimeout; +if (attributes.get("sessionCacheTimeout") != null) { +sessionCacheTimeout = Integer.parseInt( +(String)attributes.get("sessionCacheTimeout")); +} else { +sessionCacheTimeout = defaultSessionTimeout; +} +SSLSessionContext sessionContext = +context.getServerSessionContext(); +if (sessionContext != null) { +sessionContext.setSessionCacheSize(sessionCacheSize); +sessionContext.setSessionTimeout(sessionCacheTimeout); +} + // create proxy sslProxy = context.getServerSocketFactory(); Modified: tomcat/trunk/webapps/docs/config/http.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/http.xml?rev=723404&r1=723403&r2=723404&view=diff == --- tomcat/trunk/webapps/docs/config/http.xml (original) +++ tomcat/trunk/webapps/docs/config/http.xml Thu Dec 4 11:31:34 2008 @@ -103,20 +103,14 @@ the container during FORM or CLIENT-CERT authentication. For both types of authentication, the POST will be saved/buffered before the user is authenticated. For CLIENT-CERT authentication, the POST is buffered for - the duration of - the SSL handshake and the buffer emptied when the request - is processed. For FORM authentication the POST is - saved whilst the user + the duration of the SSL handshake and the buffer emptied when the request + is processed. For FORM authentication the POST is saved whilst the user is re-directed to the login form and is retained until the user
DO NOT REPLY [Bug 44285] ssl.SessionId Cache Control
https://issues.apache.org/bugzilla/show_bug.cgi?id=44285 --- Comment #4 from Mark Thomas <[EMAIL PROTECTED]> 2008-12-04 11:33:29 PST --- This has been fixed in trunk and proposed for 6.0.x -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r723406 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: markt Date: Thu Dec 4 11:35:42 2008 New Revision: 723406 URL: http://svn.apache.org/viewvc?rev=723406&view=rev Log: Propose fix for 44285 Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=723406&r1=723405&r2=723406&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Dec 4 11:35:42 2008 @@ -237,3 +237,9 @@ http://svn.apache.org/viewvc?rev=721886&view=rev +1: markt -1: + +* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=44285 + Make SSL session cache size and timeout configurable + http://svn.apache.org/viewvc?rev=723404&view=rev + +1: markt + -1: - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 46343] New: .tag files: page scope attribute from outer tag is lost in inner tag
https://issues.apache.org/bugzilla/show_bug.cgi?id=46343 Summary: .tag files: page scope attribute from outer tag is lost in inner tag Product: Tomcat 6 Version: 6.0.18 Platform: PC OS/Version: Windows Server 2003 Status: NEW Severity: normal Priority: P2 Component: Servlet & JSP API AssignedTo: dev@tomcat.apache.org ReportedBy: [EMAIL PROTECTED] Created an attachment (id=22994) --> (https://issues.apache.org/bugzilla/attachment.cgi?id=22994) Sample for the failing Tags I asked this on the mailing list (Dec. 2nd, same subject), but got no reply. I think it is a bug, but maybe it is just an error of mine. I have a JSP tag file, which sets an attribute to the PageContext. I expect this attribute to be present in child tags. Here is the outer tag (in a file "outer.tag"): <%@ tag language="java" pageEncoding="ISO-8859-1"%> <%@ variable name-given="test" scope="NESTED" %> <% jspContext.setAttribute ("test", "This is a test !", PageContext.PAGE_SCOPE); %> Value before doBody: ${test} Value after doBody: ${test} The tag just sets a string "This is a test !" to a page scope attribute "test" and calls the tag body. This is the inner tag (file "inner.tag"), it tries to display the page scope attribute from the outer tag: <%@ tag language="java" pageEncoding="ISO-8859-1"%> Value in inner tag: ${test} My JSP is this: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="tagfiles" tagdir="/WEB-INF/tags" %> Value in test.jsp: ${test} The browser shows this: Value before doBody: This is a test ! Value in test.jsp: This is a test ! Value in inner tag: Value after doBody: This is a test ! The problem is the empty output in the inner tag. I expect the third line to be "Value in inner tag: This is a test !". If I code this with tag classes, everything works fine: the attribute is set through "this.pageContext.setAttribute("test", "This is a test !");" and the inner tag finds the value with "this.getJspContext().getAttribute("test", PageContext.PAGE_SCOPE);". Attached is a sample for this (WAR file created by Eclipse 3.4/WTP 3.0, including sources). It contains the .tag files and java code version of the tag. Both are called on "index.jsp", and the coded tag shows the expected behavior. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]