Re: Limiting concurrent requests by user
On 27 Feb 2012, at 22:18, Hassan Schroeder hassan.schroe...@gmail.com wrote: On Mon, Feb 27, 2012 at 12:04 PM, hernan hbe...@gmail.com wrote: - how to or where to place and access an object shared by all tomcat threads And I'd like to have a solution that can be extended to many tomcat instances (in different servers). Why not just keep counters in an in-memory store like e.g. Redis, MongoDB, Cassandra, etc. etc.? Or queue the work requests in a per user queue. This is better for long running jobs, better for user/resource management and could make your app more responsive. p -- Hassan Schroeder hassan.schroe...@gmail.com http://about.me/hassanschroeder twitter: @hassan - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Limiting concurrent requests by user
On 27 Feb 2012, at 22:26, Christopher Schultz ch...@christopherschultz.net wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hernán, On 2/27/12 3:04 PM, hernan wrote: I've a web service. In order to do a request, a user specifies a username and password via web service parameters along with web service parameters. The web service server, checks user and password and if it is correct, then process the request (else response access denied). The process may take some seconds or a few minutes to be completed. I'd like to limit the number of client requests per user. Does the username/password check take some seconds, or the operation that follows it? I'm asking because if you want to avoid the username/password check, then you'll have to assume that a username presented by a user is accurate -- that can open you up to denial-of-service attacks. Are you using sessions for users, or is everything stateless? I'm thinking to mantain some data structure in memory (shared by all tomcat threads, I don't know how to do that) or in some table in the database to count the number of requests per user. An in-memory structure would be far faster, but of course you have to keep it in memory. The best place for something like this is probably in the ServletContext (aka application), unless you are going to put it into something outside of the JVM (memcached, db, etc.). For each received request, if accepted, increments the counter, and when the process finishes (or if the process fails) decrements the counter. In order to do that, I think I need to have a singleton class and a synchronized method to check and modify the counter. Sincerely, I don't think it's a good idea, because I'll have a bottleneck using synchronized methods. In other hand, I don't know and I'd like: - how to or where to place and access an object shared by all tomcat threads - define a singleton class in tomcat You won't be doing anything with Tomcat per se: everything will be in your own webapp so you don't need to know how to do it in Tomcat. You also don't need a singleton: just a place to store the data. If you use the ServletContext, you can get to it from any servlet during the request. If you need to pass that data into some business logic controller, you can easily do that eve if it's just stored in the ServletContext. I wouldn't worry too much about synchronized access to such a structure, since the operations will be so short (perform a (hash?) lookup, perform an increment/decrement operation). You'll have to worry about your in-memory structure growing too large (huge username cache, for instance), so I would actually recommend scrapping the counter idea and instead using a simpler user in use flag -- something like a hash table with username keys and Boolean values: if a user is doing something, the hash table contains Boolean.TRUE for that username. If the user is not doing anything, then the username does not appear in the structure at all. Of course, that only works if you want to serialize all access on a per-user basis. If you instead want to limit things to, say, 5 simultaneous requests, then you'll have to use counters. Don't forget to release the user-lock in a finally block or you'll end up locking everyone out and/or running out of memory at some point (or both) :) And I'd like to have a solution that can be extended to many tomcat instances (in different servers). Do you want to have a cluster-wide lock-out mechanism so that a user may only make a single request to the cluster at a time, or do you want to just limit the user on a single machine? If you want to limit the user to one-request-per-cluster, then you'll definitely have to go outside the container for a decent solution. I would recommend looking into something like memcached for such a thing. Or a message broker. p I'm using: Tomcat 7.0.14 Upgrade. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9MAvcACgkQ9CaO5/Lv0PDfOQCfZAIAU4SeuqasbTvpP7t4dqL8 kDIAmgI3N1ZyMhwbNcwzkZTH83l/WbDN =UyLk -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Embedded tomcat does not read webapp specific context.xml
Hi, I'm using embedded tomcat(7.0.14) in one of my application. I have extended Tomcat class and used that to add webapps by calling the addWebapp method. Everything works accordingly. But this way, if a webapp contains a context.xml(META-INF/context.xml) within, it is not getting read by embedded tomcat. Then after some investigation i found the following to set the contextXml file programmatically. According to the API documentation, addWebapp method returns the Context for the added webapp [1]. So what i did later is, i used this Context to set the contextXml file by calling setConfigFile method. But still i'm unable to get tomcat to read webapp specific context files. In Both occasions, the error i'm getting is, javax.naming.NamingException: Cannot create resource instance at org.apache.naming.factory.ResourceEnvFactory.getObjectInstance(ResourceEnvFactory.java:117) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) at org.apache.naming.NamingContext.lookup(NamingContext.java:826) at org.apache.naming.NamingContext.lookup(NamingContext.java:145) at org.apache.naming.NamingContext.lookup(NamingContext.java:814) at org.apache.naming.NamingContext.lookup(NamingContext.java:159) at org.kishan.j2ee.sample.servlet.MyServlet.doGet(MyServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) What i'm trying to achieve is defining webapp specific resources in the contextXml file and use them in the respective webapps. So what would be the correct way to get embedded tomcat to load the contextXml file specific to webapps? Thanks, Kishanthan. [1] http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/startup/Tomcat.html#addWebapp(java.lang.String, java.lang.String)
Tomcat somtimes responses a blank page.
Server version: Apache Tomcat/7.0.26 Server built: Feb 17 2012 02:11:27 Server number: 7.0.26.0 OS Name:Linux OS Version: 2.6.32-220.2.1.el6.x86_64 Architecture: amd64 JVM Version:1.7.0_03-b04 JVM Vendor: Oracle Corporation I'm using .aspx extension for JAVA Server Pages instead of .jsp , because it was served by ASP.NET http://asp.net/. But Tomcat somtimes served a blank page with no Error. Access log was like this. - - [28/Feb/2012:21:12:07 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:08 +0900] GET /manual.aspx HTTP/1.1 200 13057 - - [28/Feb/2012:21:12:09 +0900] GET /manual2.aspx HTTP/1.1 200 12858 - - [28/Feb/2012:21:12:10 +0900] GET /manual3.aspx HTTP/1.1 200 10428 - - [28/Feb/2012:21:12:11 +0900] GET /manual4.aspx HTTP/1.1 200 9043 - - [28/Feb/2012:21:12:12 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:12 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:13 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:14 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:14 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:15 +0900] GET /manual.aspx HTTP/1.1 200 - The last line was a problem. (served an empty page) It was going okay when I refreshed this page again. Response Headers was like this. HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 28 Feb 2012 12:22:09 GMT and with no contents. My web.xml is set web-app xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version=3.0 metadata-complete=true !-- The mappings for the JSP servlet -- servlet-mapping servlet-namejsp/servlet-name url-pattern*.aspx/url-pattern url-pattern*.jspx/url-pattern url-pattern*.jsp/url-pattern /servlet-mapping /web-app I really appreciated your help.
Re: Tomcat somtimes responses a blank page.
Are you hitting your pages through an external web server (Apache, IIS) or are you hitting Tomcat (Coyote) directly? This sounds like a crashed thread. Any indicators in the catalina.out logs? -Jordan - Original Message - From: nara eval...@gmail.com To: users users@tomcat.apache.org Sent: Tuesday, February 28, 2012 4:34:59 AM Subject: Tomcat somtimes responses a blank page. Server version: Apache Tomcat/7.0.26 Server built: Feb 17 2012 02:11:27 Server number: 7.0.26.0 OS Name:Linux OS Version: 2.6.32-220.2.1.el6.x86_64 Architecture: amd64 JVM Version:1.7.0_03-b04 JVM Vendor: Oracle Corporation I'm using .aspx extension for JAVA Server Pages instead of .jsp , because it was served by ASP.NET http://asp.net/. But Tomcat somtimes served a blank page with no Error. Access log was like this. - - [28/Feb/2012:21:12:07 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:08 +0900] GET /manual.aspx HTTP/1.1 200 13057 - - [28/Feb/2012:21:12:09 +0900] GET /manual2.aspx HTTP/1.1 200 12858 - - [28/Feb/2012:21:12:10 +0900] GET /manual3.aspx HTTP/1.1 200 10428 - - [28/Feb/2012:21:12:11 +0900] GET /manual4.aspx HTTP/1.1 200 9043 - - [28/Feb/2012:21:12:12 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:12 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:13 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:14 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:14 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:15 +0900] GET /manual.aspx HTTP/1.1 200 - The last line was a problem. (served an empty page) It was going okay when I refreshed this page again. Response Headers was like this. HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 28 Feb 2012 12:22:09 GMT and with no contents. My web.xml is set web-app xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version=3.0 metadata-complete=true !-- The mappings for the JSP servlet -- servlet-mapping servlet-namejsp/servlet-name url-pattern*.aspx/url-pattern url-pattern*.jspx/url-pattern url-pattern*.jsp/url-pattern /servlet-mapping /web-app I really appreciated your help. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat suddenly dies
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chuck, On 2/27/12 9:01 PM, Caldarale, Charles R wrote: From: Carl Kabbe [mailto:c...@etrak-plus.com] Subject: Tomcat suddenly dies Starting about a month ago, Tomcat would suddenly fail, no heap dump, no indication of trouble in the log, no indication the JVM crashed Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log), possibly in the current directory of what was the Tomcat process. +1 Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9M/RcACgkQ9CaO5/Lv0PDtmQCgmnkl/KExQjSradWMoIvxEM+Y AWsAmgJudFWslkrIZLv7uID+uWUu9HZs =lUVS -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Create a tomcat 7 instance
Hello everyone, can someone help me to create an instance of tomcat 7 as a service? How do I set up several instances of tomcat 7 without the installer?
Inconsistency in AjpMessage.java
I observed some code clones in Tomcat and found inconsistent code. Could anyone explain why this is not a bug? /tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java 195if (cc == null) { 196log.error(sm.getString(ajpmessage.null), 197new NullPointerException()); 198appendInt(0); 199appendByte(0); 200return; 201} 202int start = cc.getStart(); 203int end = cc.getEnd(); 204appendInt(end - start); 205char[] cbuf = cc.getBuffer(); 206for (int i = start; i end; i++) { 207char c = cbuf[i]; 208// Note: This is clearly incorrect for many strings, 209// but is the only consistent approach within the current 210// servlet framework. It must suffice until servlet output 211// streams properly encode their output. 212if (((c = 31) (c != 9)) || c == 127 || c 255) { 213c = ' '; 214} 215appendByte(c); 216} 217appendByte(0); /tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java 230if (str == null) { 231log.error(sm.getString(ajpmessage.null), 232new NullPointerException()); 233appendInt(0); 234appendByte(0); 235return; 236} 237int len = str.length(); 238appendInt(len); 239for (int i = 0; i len; i++) { 240char c = str.charAt (i); 241// Note: This is clearly incorrect for many strings, 242// but is the only consistent approach within the current 243// servlet framework. It must suffice until servlet output 244// streams properly encode their output. 245if (((c = 31) (c != 9)) || c == 127 || c 255) { 246c = ' '; 247} 248appendByte(c); 249} 250appendByte(0); Quick description of the inconsistency Two code snippets are very similar code, but as you see, both codes use different ways to compute the condition of for loop.
Inconsistency in AprEndpoint.java and JIoEndpoint.java
I observed some code clones in Tomcat and found inconsistent code. Could anyone explain why this is not a bug? /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java 1048try { 1049Thread.sleep(1000); 1050} catch (InterruptedException e) { 1051// Ignore 1052} 1053long now = System.currentTimeMillis(); 1054IteratorSocketWrapperLong sockets = 1055waitingRequests.iterator(); 1056while (sockets.hasNext()) { 1057SocketWrapperLong socket = sockets.next(); 1058if (socket.async) { 1059long access = socket.getLastAccess(); 1060if (socket.getTimeout() 0 1061(now-access)socket.getTimeout()) { 1062 processSocketAsync(socket,SocketStatus.TIMEOUT); 1063} 1064} 1065} /tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java 147try { 148Thread.sleep(1000); 149} catch (InterruptedException e) { 150// Ignore 151} 152long now = System.currentTimeMillis(); 153IteratorSocketWrapperSocket sockets = 154waitingRequests.iterator(); 155while (sockets.hasNext()) { 156SocketWrapperSocket socket = sockets.next(); 157long access = socket.getLastAccess(); 158if (socket.getTimeout() 0 159(now-access)socket.getTimeout()) { 160processSocketAsync(socket,SocketStatus.TIMEOUT); 161} 162} Quick description of the inconsistency Two code snippets are very similar code, but as you see, in JIoEndpoint.java does not check if (socket.async) while AprEndpoint.java has the checker.
Re: Tomcat somtimes responses a blank page.
I'm using tomcat directly and there is no log about this error in the catalina.out - Nara 2012/2/29 Jordan Michaels jor...@viviotech.net Are you hitting your pages through an external web server (Apache, IIS) or are you hitting Tomcat (Coyote) directly? This sounds like a crashed thread. Any indicators in the catalina.out logs? -Jordan - Original Message - From: nara eval...@gmail.com To: users users@tomcat.apache.org Sent: Tuesday, February 28, 2012 4:34:59 AM Subject: Tomcat somtimes responses a blank page. Server version: Apache Tomcat/7.0.26 Server built: Feb 17 2012 02:11:27 Server number: 7.0.26.0 OS Name:Linux OS Version: 2.6.32-220.2.1.el6.x86_64 Architecture: amd64 JVM Version:1.7.0_03-b04 JVM Vendor: Oracle Corporation I'm using .aspx extension for JAVA Server Pages instead of .jsp , because it was served by ASP.NET http://asp.net/. But Tomcat somtimes served a blank page with no Error. Access log was like this. - - [28/Feb/2012:21:12:07 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:08 +0900] GET /manual.aspx HTTP/1.1 200 13057 - - [28/Feb/2012:21:12:09 +0900] GET /manual2.aspx HTTP/1.1 200 12858 - - [28/Feb/2012:21:12:10 +0900] GET /manual3.aspx HTTP/1.1 200 10428 - - [28/Feb/2012:21:12:11 +0900] GET /manual4.aspx HTTP/1.1 200 9043 - - [28/Feb/2012:21:12:12 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:12 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:13 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:14 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:14 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:15 +0900] GET /manual.aspx HTTP/1.1 200 - The last line was a problem. (served an empty page) It was going okay when I refreshed this page again. Response Headers was like this. HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 28 Feb 2012 12:22:09 GMT and with no contents. My web.xml is set web-app xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version=3.0 metadata-complete=true !-- The mappings for the JSP servlet -- servlet-mapping servlet-namejsp/servlet-name url-pattern*.aspx/url-pattern url-pattern*.jspx/url-pattern url-pattern*.jsp/url-pattern /servlet-mapping /web-app I really appreciated your help. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org -- Sincerely, Nara Park TEL : +82-10-8884-4434 E-mail: eval...@gmail.com
Re: Inconsistency in AjpMessage.java
On Wed, 2012-02-29 at 00:40 +0800, Ken Cheung wrote: I observed some code clones in Tomcat and found inconsistent code. Could anyone explain why this is not a bug? If you think it's a bug can you explain why you think so? You may get more value out of the homework assignment by pondering this. /tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java 195if (cc == null) { 196log.error(sm.getString(ajpmessage.null), 197new NullPointerException()); 198appendInt(0); 199appendByte(0); 200return; 201} 202int start = cc.getStart(); 203int end = cc.getEnd(); 204appendInt(end - start); 205char[] cbuf = cc.getBuffer(); 206for (int i = start; i end; i++) { 207char c = cbuf[i]; 208// Note: This is clearly incorrect for many strings, 209// but is the only consistent approach within the current 210// servlet framework. It must suffice until servlet output 211// streams properly encode their output. 212if (((c = 31) (c != 9)) || c == 127 || c 255) { 213c = ' '; 214} 215appendByte(c); 216} 217appendByte(0); /tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java 230if (str == null) { 231log.error(sm.getString(ajpmessage.null), 232new NullPointerException()); 233appendInt(0); 234appendByte(0); 235return; 236} 237int len = str.length(); 238appendInt(len); 239for (int i = 0; i len; i++) { 240char c = str.charAt (i); 241// Note: This is clearly incorrect for many strings, 242// but is the only consistent approach within the current 243// servlet framework. It must suffice until servlet output 244// streams properly encode their output. 245if (((c = 31) (c != 9)) || c == 127 || c 255) { 246c = ' '; 247} 248appendByte(c); 249} 250appendByte(0); Quick description of the inconsistency Two code snippets are very similar code, but as you see, both codes use different ways to compute the condition of for loop. signature.asc Description: This is a digitally signed message part
log date formatting
We are using Tomcat 7.0.23 with jdk1.6.0_27 on Solaris 10, mod_ajp 1.3 and Apache 2.2.21 and have a logging.properties file configured with the catalina.org.apache.juli.FileHandler set to the java.util.logging.SimpleFormatter for logging. This works fine, but to appease some old scripts I need to change the format of the timestamp from this: Feb 28, 2012 2:30:30 PM org.apache.catalina.core.StandardWrapperValve invoke ... To this: 02/28 14:30:30 org.apache.catalina.core.StandardWrapperValve invoke ... Before I go nuts and create a custom formatter, I thought I would check to see if there was a way simpler way to make this change directly in the logging.properties file, like a way to configure the SimpleFormatter (a la SimpleDateFormat.format) or if there is a canned formatter out there that I could use instead. Thank you, -Kari _ Kari Scott Senior Programmer kari.sc...@cdw.commailto:kari.sc...@cdw.com CDW 5520 Research Park Drive Madison, WI 53711 Office: 608 298 1223 Fax: 608 288 3007
Re: Inconsistency in AprEndpoint.java and JIoEndpoint.java
On 28/02/2012 16:40, Ken Cheung wrote: I observed some code clones in Tomcat and found inconsistent code. Could anyone explain why this is not a bug? Yes. Perhaps you'd like to explain your basis for assuming it is a bug. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Create a tomcat 7 instance
On 28/02/2012 16:26, André Moraes wrote: Hello everyone, can someone help me to create an instance of tomcat 7 as a service? How do I set up several instances of tomcat 7 without the installer? service.bat Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat suddenly dies
Chuck and Chris, Thanks for your replies. Below is some information to your questions/suggestions: Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log) I have and there is nothing in the messages file except accesses granted to specific workstations coming in on ssh and sync'ing to a time server. Neither of these have times that correspond to the crashes. There are no hs_err_* files anywhere on the servers. Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? We are running 64 bit OS's (Slackware 13.x, the latest version.) There are two other applications running on each of the boxes: 1) the Apache James email server (localhost SMTP only) and 2) a small application that serves reports. They are both very small (the current server shows 11GB+ free memory) and always survive theTomcat crashes. These servers are only used for Tomcat (and the related James and report serving app.) Not on a timed schedule but usually during high traffic periods (usually, but not always, as with last Friday.) Thanks, Carl On Feb 28, 2012, at 11:13 AM, Christopher Schultz wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chuck, On 2/27/12 9:01 PM, Caldarale, Charles R wrote: From: Carl Kabbe [mailto:c...@etrak-plus.com] Subject: Tomcat suddenly dies Starting about a month ago, Tomcat would suddenly fail, no heap dump, no indication of trouble in the log, no indication the JVM crashed Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log), possibly in the current directory of what was the Tomcat process. +1 Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9M/RcACgkQ9CaO5/Lv0PDtmQCgmnkl/KExQjSradWMoIvxEM+Y AWsAmgJudFWslkrIZLv7uID+uWUu9HZs =lUVS -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat somtimes responses a blank page.
Can you predictably reproduce the error? (IE: first hit after a Tomcat restart) Or is it completely random? -Jordan On 02/28/2012 09:03 AM, nara wrote: I'm using tomcat directly and there is no log about this error in the catalina.out - Nara 2012/2/29 Jordan Michaelsjor...@viviotech.net Are you hitting your pages through an external web server (Apache, IIS) or are you hitting Tomcat (Coyote) directly? This sounds like a crashed thread. Any indicators in the catalina.out logs? -Jordan - Original Message - From: naraeval...@gmail.com To: usersusers@tomcat.apache.org Sent: Tuesday, February 28, 2012 4:34:59 AM Subject: Tomcat somtimes responses a blank page. Server version: Apache Tomcat/7.0.26 Server built: Feb 17 2012 02:11:27 Server number: 7.0.26.0 OS Name:Linux OS Version: 2.6.32-220.2.1.el6.x86_64 Architecture: amd64 JVM Version:1.7.0_03-b04 JVM Vendor: Oracle Corporation I'm using .aspx extension for JAVA Server Pages instead of .jsp , because it was served by ASP.NEThttp://asp.net/. But Tomcat somtimes served a blank page with no Error. Access log was like this. - - [28/Feb/2012:21:12:07 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:08 +0900] GET /manual.aspx HTTP/1.1 200 13057 - - [28/Feb/2012:21:12:09 +0900] GET /manual2.aspx HTTP/1.1 200 12858 - - [28/Feb/2012:21:12:10 +0900] GET /manual3.aspx HTTP/1.1 200 10428 - - [28/Feb/2012:21:12:11 +0900] GET /manual4.aspx HTTP/1.1 200 9043 - - [28/Feb/2012:21:12:12 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:12 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:13 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:14 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:14 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:15 +0900] GET /manual.aspx HTTP/1.1 200 - The last line was a problem. (served an empty page) It was going okay when I refreshed this page again. Response Headers was like this. HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 28 Feb 2012 12:22:09 GMT and with no contents. My web.xml is set web-app xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version=3.0 metadata-complete=true !-- The mappings for the JSP servlet -- servlet-mapping servlet-namejsp/servlet-name url-pattern*.aspx/url-pattern url-pattern*.jspx/url-pattern url-pattern*.jsp/url-pattern /servlet-mapping /web-app I really appreciated your help. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat NTLM Authentication
הילה hilavalensia at gmail.com writes: -Jespa (commercial) -Samba JCIFs (obsolete, no NTLMv2) You may try this open source Java NTLMv2 API and SSO filter: http://sourceforge.net/projects/ntlmv2auth/ It's an extension of JCIFS, based on code from the (also open source) Liferay portal. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat suddenly dies
On 28.02.2012 19:47, Carl Kabbe wrote: Chuck and Chris, Thanks for your replies. Below is some information to your questions/suggestions: Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log) I have and there is nothing in the messages file except accesses granted to specific workstations coming in on ssh and sync'ing to a time server. Neither of these have times that correspond to the crashes. There are no hs_err_* files anywhere on the servers. Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? We are running 64 bit OS's (Slackware 13.x, the latest version.) There are two other applications running on each of the boxes: 1) the Apache James email server (localhost SMTP only) and 2) a small application that serves reports. They are both very small (the current server shows 11GB+ free memory) and always survive theTomcat crashes. These servers are only used for Tomcat (and the related James and report serving app.) Not on a timed schedule but usually during high traffic periods (usually, but not always, as with last Friday.) Are there normal shutdown messages in the Tomcat logs? Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat suddenly dies
Ranier, Thanks for your response and thoughts. Are there normal shutdown messages in the Tomcat logs? No, the catalina.out log has our messages but none of the normal shutdown stuff (we see the shutdown messaging every day when we push changes and restart Tomcat at 4:00AM.) Thanks, Carl On Feb 28, 2012, at 2:00 PM, Rainer Jung wrote: On 28.02.2012 19:47, Carl Kabbe wrote: Chuck and Chris, Thanks for your replies. Below is some information to your questions/suggestions: Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log) I have and there is nothing in the messages file except accesses granted to specific workstations coming in on ssh and sync'ing to a time server. Neither of these have times that correspond to the crashes. There are no hs_err_* files anywhere on the servers. Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? We are running 64 bit OS's (Slackware 13.x, the latest version.) There are two other applications running on each of the boxes: 1) the Apache James email server (localhost SMTP only) and 2) a small application that serves reports. They are both very small (the current server shows 11GB+ free memory) and always survive theTomcat crashes. These servers are only used for Tomcat (and the related James and report serving app.) Not on a timed schedule but usually during high traffic periods (usually, but not always, as with last Friday.) Are there normal shutdown messages in the Tomcat logs? Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat suddenly dies
On Tue, 2012-02-28 at 11:09 -0800, Carl Kabbe wrote: Ranier, Thanks for your response and thoughts. Are there normal shutdown messages in the Tomcat logs? No, the catalina.out log has our messages but none of the normal shutdown stuff (we see the shutdown messaging every day when we push changes and restart Tomcat at 4:00AM.) Are you accessing any native code from Java? For example using JNI / JNA or a third party module which requires you to set java.library.path? Dan Thanks, Carl On Feb 28, 2012, at 2:00 PM, Rainer Jung wrote: On 28.02.2012 19:47, Carl Kabbe wrote: Chuck and Chris, Thanks for your replies. Below is some information to your questions/suggestions: Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log) I have and there is nothing in the messages file except accesses granted to specific workstations coming in on ssh and sync'ing to a time server. Neither of these have times that correspond to the crashes. There are no hs_err_* files anywhere on the servers. Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? We are running 64 bit OS's (Slackware 13.x, the latest version.) There are two other applications running on each of the boxes: 1) the Apache James email server (localhost SMTP only) and 2) a small application that serves reports. They are both very small (the current server shows 11GB+ free memory) and always survive theTomcat crashes. These servers are only used for Tomcat (and the related James and report serving app.) Not on a timed schedule but usually during high traffic periods (usually, but not always, as with last Friday.) Are there normal shutdown messages in the Tomcat logs? Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat suddenly dies
Dan, Thanks for the response. Are you accessing any native code from Java? For example using JNI / JNA or a third party module which requires you to set java.library.path? No. Thanks, Carl On Feb 28, 2012, at 2:35 PM, Daniel Mikusa wrote: On Tue, 2012-02-28 at 11:09 -0800, Carl Kabbe wrote: Ranier, Thanks for your response and thoughts. Are there normal shutdown messages in the Tomcat logs? No, the catalina.out log has our messages but none of the normal shutdown stuff (we see the shutdown messaging every day when we push changes and restart Tomcat at 4:00AM.) Are you accessing any native code from Java? For example using JNI / JNA or a third party module which requires you to set java.library.path? Dan Thanks, Carl On Feb 28, 2012, at 2:00 PM, Rainer Jung wrote: On 28.02.2012 19:47, Carl Kabbe wrote: Chuck and Chris, Thanks for your replies. Below is some information to your questions/suggestions: Check the kernel logs (e.g., /var/log/messages, /var/log/warn), not just the Tomcat ones. Also, look for a JVM dump file (hs_err_pid*.log) I have and there is nothing in the messages file except accesses granted to specific workstations coming in on ssh and sync'ing to a time server. Neither of these have times that correspond to the crashes. There are no hs_err_* files anywhere on the servers. Smells a lot like OOM killer. Carl, you say you have a 2GiB heap. Are you using 32-bit or 64-bit JVM? What about other large-memory processes on the same boxes? Do you have other JVMs running or a database, etc.? Does the JVM die on any kind of schedule? We are running 64 bit OS's (Slackware 13.x, the latest version.) There are two other applications running on each of the boxes: 1) the Apache James email server (localhost SMTP only) and 2) a small application that serves reports. They are both very small (the current server shows 11GB+ free memory) and always survive theTomcat crashes. These servers are only used for Tomcat (and the related James and report serving app.) Not on a timed schedule but usually during high traffic periods (usually, but not always, as with last Friday.) Are there normal shutdown messages in the Tomcat logs? Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Create a tomcat 7 instance
On 28/02/2012 16:26, André Moraes wrote: Hello everyone, can someone help me to create an instance of tomcat 7 as a service? You could read: http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html Or you could email us your credit card details to gain access to our Platinum Service. How do I set up several instances of tomcat 7 without the installer? The same way you set up an individual instance without the installer. Several times. p -- [key:62590808] signature.asc Description: OpenPGP digital signature
Re: Tomcat somtimes responses a blank page.
Errors occurring randomly. The occurring probability was reduced when tomcat attached to apache, but this problem was remaind as same. - Nara 2012/2/29 Jordan Michaels jor...@viviotech.net Can you predictably reproduce the error? (IE: first hit after a Tomcat restart) Or is it completely random? -Jordan On 02/28/2012 09:03 AM, nara wrote: I'm using tomcat directly and there is no log about this error in the catalina.out - Nara 2012/2/29 Jordan Michaelsjor...@viviotech.net Are you hitting your pages through an external web server (Apache, IIS) or are you hitting Tomcat (Coyote) directly? This sounds like a crashed thread. Any indicators in the catalina.out logs? -Jordan - Original Message - From: naraeval...@gmail.com To: usersusers@tomcat.apache.**org users@tomcat.apache.org Sent: Tuesday, February 28, 2012 4:34:59 AM Subject: Tomcat somtimes responses a blank page. Server version: Apache Tomcat/7.0.26 Server built: Feb 17 2012 02:11:27 Server number: 7.0.26.0 OS Name:Linux OS Version: 2.6.32-220.2.1.el6.x86_64 Architecture: amd64 JVM Version:1.7.0_03-b04 JVM Vendor: Oracle Corporation I'm using .aspx extension for JAVA Server Pages instead of .jsp , because it was served by ASP.NEThttp://asp.net/. But Tomcat somtimes served a blank page with no Error. Access log was like this. - - [28/Feb/2012:21:12:07 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:08 +0900] GET /manual.aspx HTTP/1.1 200 13057 - - [28/Feb/2012:21:12:09 +0900] GET /manual2.aspx HTTP/1.1 200 12858 - - [28/Feb/2012:21:12:10 +0900] GET /manual3.aspx HTTP/1.1 200 10428 - - [28/Feb/2012:21:12:11 +0900] GET /manual4.aspx HTTP/1.1 200 9043 - - [28/Feb/2012:21:12:12 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:12 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:13 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:14 +0900] GET /main.aspx HTTP/1.1 200 16577 - - [28/Feb/2012:21:12:14 +0900] GET /about.aspx HTTP/1.1 200 12301 - - [28/Feb/2012:21:12:15 +0900] GET /manual.aspx HTTP/1.1 200 - The last line was a problem. (served an empty page) It was going okay when I refreshed this page again. Response Headers was like this. HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 28 Feb 2012 12:22:09 GMT and with no contents. My web.xml is set web-app xmlns=http://java.sun.com/**xml/ns/javaeehttp://java.sun.com/xml/ns/javaee xmlns:xsi=http://www.w3.org/**2001/XMLSchema-instancehttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=http://**java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/**javaee/web-app_3_0.xsdhttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd version=3.0 metadata-complete=true !-- The mappings for the JSP servlet -- servlet-mapping servlet-namejsp/servlet-**name url-pattern*.aspx/url-**pattern url-pattern*.jspx/url-**pattern url-pattern*.jsp/url-**pattern /servlet-mapping /web-app I really appreciated your help. --**--** - To unsubscribe, e-mail: users-unsubscribe@tomcat.**apache.orgusers-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org --**--**- To unsubscribe, e-mail: users-unsubscribe@tomcat.**apache.orgusers-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Inconsistency in AprEndpoint.java and JIoEndpoint.java
Because both of them are performing the same function. However, one of them (AprEndpoint.java:1057:1058) you typecast SocketWrapper to Long and check if socket.async is true while another one (JloEndpoint.java) you just typecast it to Socket and execute the same piece of codes. The checking of socket.async is missing here and therefore it could be a bug. On 29 Feb, 2012, at 2:45 AM, Mark Thomas wrote: On 28/02/2012 16:40, Ken Cheung wrote: I observed some code clones in Tomcat and found inconsistent code. Could anyone explain why this is not a bug? Yes. Perhaps you'd like to explain your basis for assuming it is a bug. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Inconsistency in AprEndpoint.java and JIoEndpoint.java
From: Ken Cheung [mailto:msrbugzi...@gmail.com] Subject: Re: Inconsistency in AprEndpoint.java and JIoEndpoint.java you typecast SocketWrapper to Long and check if socket.async is true while another one (JloEndpoint.java) you just typecast it to Socket and execute the same piece of codes. If you think SocketWrapperLong is a type-cast, perhaps you need to do a bit more basic Java homework before telling people their code has bugs in it. (Hint: SocketWrapper is, as its name and syntax suggest, a generic that adds behavior while hiding - that is to say, wrapping - any specified type.) The checking of socket.async is missing here and therefore it could be a bug. So could not checking if it's Tuesday, but that makes about as much sense. (Hint: read the docs; check to see if the Jio connector can use asynchronous sockets.) - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org