RE: tomcat jitters, then hangs - please help
We had the same problem w/ TC 4.1.27, sun jvm 1.4.2 and redhat 9. The thing wouldn't work for more than about 12 hours. IMHO, there are some fundamental problems with tomcat as of late. Hate to say it but we solved the problem by throwing away tomcat and using jetty! We are very pleased so far. Jetty is very fast and about 1/3 the memory footprint. Good luck. -Original Message- From: Noam Camiel [mailto:[EMAIL PROTECTED] Sent: Monday, April 07, 2003 5:09 AM To: Tomcat Users List Subject: Re: tomcat jitters, then hangs - please help On Thursday, October 09, 2003 10:39 PM Remy Maucherat [EMAIL PROTECTED] wrote: It is very surprising that the connector will manage to exit the accept loop without logging some kind of error (which would be in catalina.out, rather than in the main logs). Do you see some stack trace originating from the PoolTcpEndpoint or ThreadPool classes ? There were no logs indicating this, and actually, after the server started there are no other logs appearing in catalina.out No idea at this point. Most (all) such reports were for RH 9. All also mention a period of about a day before an incident. Thanks, let me know if there's any news. Regards, Noam - Original Message - From: Remy Maucherat [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, October 09, 2003 10:39 PM Subject: Re: tomcat jitters, then hangs - please help Noam Camiel wrote: On Thursday, October 09, 2003 5:11 PM Ryan Lissack [EMAIL PROTECTED] wrote: Hi Noam, We have experienced similar problems. You will notice in the thread dump that there is no thread from the connectors thread pool waiting on an accept I see your what you mean, I compared the thread dump to a good dump when the server is operational and there indeed I found a thread from the connectors thread pool waiting on accept: 3XMTHREADINFO http80-Processor24 (TID:0x100688E0, sys_thread_t:0x87810C0, state:R, native ID:0x41CCCF40) prio=5 4XESTACKTRACE at java.net.PlainSocketImpl.socketAccept(Native Method) This does not appear to exist in the bad dump. It is very surprising that the connector will manage to exit the accept loop without logging some kind of error (which would be in catalina.out, rather than in the main logs). Do you see some stack trace originating from the PoolTcpEndpoint or ThreadPool classes ? What OS are you on, RH9?? Yes, Im on RH9. Any ideas why this could happen? could it be some system resource limit? Is your application an intensive app? My application is not an intensive one and the hangs occur hours after i start the server (usually a day later). No idea at this point. Most (all) such reports were for RH 9. All also mention a period of about a day before an incident. -- x Re'my Maucherat Senior Developer Consultant JBoss Group (Europe) Sa`RL x - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat hanging!! About to change container!! Please help!!
Thanks for the suggestions. I made all of the changes except for using a text realm. Here are 2 thread traces. One is for a quiet server. The other is after the server sat overnight. I did a wget and the server hung. I immediately did a kill -QUIT. Looks like there is a hang in the Logging?! Could it have to do with rotating the log for a new day? I will now do a test removing the security realm. -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 10:52 AM To: Tomcat Users List Subject: RE: Tomcat hanging!! About to change container!! Please help!! Howdy, say 10-12 hours of browser inactivity, when attempting to login we get the BASIC Auth prompt, we enter our credentials and then tomcat hangs while loading our index.jsp. The request never completes. I've attached our configuration. Please let me know if there is anything that looks wrong. We,re using: Tomcat 4.1.27 Java 1.4.2 Redhat 9.0 Also, what kind of settings can I apply to help debug the problem effectively. Add debug=99 to your JDBC Realm, as well as your Host and Context definition server.xml. Make sure you DB is up and available, and that your connections are not stale. If you're using connection pooling, add validation queries so that the pool can check and recycle connections as needed. Does the lockup happen if you use a simple user authentication with tomcat-users.xml as opposed to your more complex JDBC realm? That's worth trying in order to isolate the problem. Does this behavior happen on other machines, e.g. the dev machines, or only this heavily loaded production one? BTW a constant 50% CPU load is heavy -- what's it doing out of curiosity? Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat hanging!! About to change container!! Please help!!
(ManagerBase.java:66 4) - locked 0x45071620 (a java.util.HashMap) at org.apache.catalina.session.StandardManager.processExpires(StandardManag er.java:779) at org.apache.catalina.session.StandardManager.run(StandardManager.java:870 ) at java.lang.Thread.run(Thread.java:534) StandardManager[] daemon prio=1 tid=0x08099b00 nid=0x223b waiting on condition [4de86000..4de86714] at java.util.HashMap.newValueIterator(HashMap.java:833) at java.util.HashMap$Values.iterator(HashMap.java:896) at java.util.AbstractCollection.toArray(AbstractCollection.java:172) at org.apache.catalina.session.ManagerBase.findSessions(ManagerBase.java:66 4) - locked 0x44e89a70 (a java.util.HashMap) at org.apache.catalina.session.StandardManager.processExpires(StandardManag er.java:779) at org.apache.catalina.session.StandardManager.run(StandardManager.java:870 ) at java.lang.Thread.run(Thread.java:534) Signal Dispatcher daemon prio=1 tid=0x080a58e0 nid=0x223b waiting on condition [0..0] Finalizer daemon prio=1 tid=0x08090ca0 nid=0x223b in Object.wait() [4c9f4000..4c9f4714] at java.lang.Object.wait(Native Method) - waiting on 0x44cf8780 (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked 0x44cf8780 (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) Reference Handler daemon prio=1 tid=0x08090030 nid=0x223b in Object.wait() [4c973000..4c973714] at java.lang.Object.wait(Native Method) - waiting on 0x44cf87e8 (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked 0x44cf87e8 (a java.lang.ref.Reference$Lock) main prio=1 tid=0x08052468 nid=0x223b runnable [bfffb000..bfffbfb8] at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353) - locked 0x45217810 (a java.net.PlainSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:448) at java.net.ServerSocket.accept(ServerSocket.java:419) at org.apache.catalina.core.StandardServer.await(StandardServer.java:527) at org.apache.catalina.startup.Catalina.start(Catalina.java:521) at org.apache.catalina.startup.Catalina.execute(Catalina.java:400) at org.apache.catalina.startup.Catalina.process(Catalina.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203) VM Thread prio=1 tid=0x0808eda0 nid=0x223b runnable VM Periodic Task Thread prio=1 tid=0x080a80e8 nid=0x223b waiting on condition Suspend Checker Thread prio=1 tid=0x080a4f10 nid=0x223b runnable -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Friday, October 03, 2003 11:37 AM To: Tomcat Users List Subject: RE: Tomcat hanging!! About to change container!! Please help!! Howdy, Attachments don't come through the list server... Yoav Shapira Millennium ChemInformatics -Original Message- From: Joe Zendle [mailto:[EMAIL PROTECTED] Sent: Friday, October 03, 2003 1:03 PM To: Tomcat Users List Subject: RE: Tomcat hanging!! About to change container!! Please help!! Thanks for the suggestions. I made all of the changes except for using a text realm. Here are 2 thread traces. One is for a quiet server. The other is after the server sat overnight. I did a wget and the server hung. I immediately did a kill -QUIT. Looks like there is a hang in the Logging?! Could it have to do with rotating the log for a new day? I will now do a test removing the security realm. -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 10:52 AM To: Tomcat Users List Subject: RE: Tomcat hanging!! About to change container!! Please help!! Howdy, say 10-12 hours of browser inactivity, when attempting to login we get the BASIC Auth prompt, we enter our credentials and then tomcat hangs while loading our index.jsp. The request never completes. I've attached our configuration. Please let me know if there is anything that looks wrong. We,re using: Tomcat 4.1.27 Java 1.4.2 Redhat 9.0 Also, what kind of settings can I apply to help debug the problem effectively. Add debug=99 to your JDBC Realm, as well as your Host and Context definition server.xml. Make sure you DB is up and available, and that your connections are not stale. If you're using connection
Tomcat hanging!! About to change container!! Please help!!
We have 10 days until we go GA. We are experiencing periodic and regular lockups of Tomcat. We are testing on a machine that is fairly loaded with background work (about 50% cpu). Our web app is accessed by very few users so Tomcat per se, is not under load handling requests. After say 10-12 hours of browser inactivity, when attempting to login we get the BASIC Auth prompt, we enter our credentials and then tomcat hangs while loading our index.jsp. The request never completes. I've attached our configuration. Please let me know if there is anything that looks wrong. We,re using: Tomcat 4.1.27 Java 1.4.2 Redhat 9.0 Also, what kind of settings can I apply to help debug the problem effectively. BTW, I've seen similar complaints on this mailing list but no suggestions :-). Please help! Regards. !-- Example Server Configuration File -- !-- Note that component elements are nested corresponding to their parent-child relationships with each other -- !-- A Server is a singleton element that represents the entire JVM, which may contain one or more Service instances. The Server listens for a shutdown command on the indicated port. Note: A Server is not itself a Container, so you may not define subcomponents such as Valves or Loggers at this level. -- Server port=8005 shutdown=SHUTDOWN debug=0 !-- Uncomment these entries to enable JMX MBeans support -- Listener className=org.apache.catalina.mbeans.ServerLifecycleListener debug=0/ Listener className=org.apache.catalina.mbeans.GlobalResourcesLifecycleListener debug=0/ !-- Global JNDI resources -- GlobalNamingResources !-- Mail Client -- Resource name=mail/Session auth=Container type=javax.mail.Session/ ResourceParams name=mail/Session parameter namemail.smtp.host/name valuelocalhost/value /parameter /ResourceParams Resource name=UserDatabase auth=Container type=org.apache.catalina.UserDatabase description=User database that can be updated and saved /Resource ResourceParams name=UserDatabase parameter namefactory/name valueorg.apache.catalina.users.MemoryUserDatabaseFactory/value /parameter parameter namepathname/name valueconf/tomcat-users.xml/value /parameter /ResourceParams /GlobalNamingResources !-- A Service is a collection of one or more Connectors that share a single Container (and therefore the web applications visible within that Container). Normally, that Container is an Engine, but this is not required. Note: A Service is not itself a Container, so you may not define subcomponents such as Valves or Loggers at this level. -- !-- Define the Tomcat Stand-Alone Service -- Service name=Tomcat-Standalone !-- A Connector represents an endpoint by which requests are received and responses are returned. Each Connector passes requests on to the associated Container (normally an Engine) for processing. By default, a non-SSL HTTP/1.1 Connector is established on port 8080. You can also enable an SSL HTTP/1.1 Connector on port 8443 by following the instructions below and uncommenting the second Connector entry. SSL support requires the following steps (see the SSL Config HOWTO in the Tomcat 4.0 documentation bundle for more detailed instructions): * Download and install JSSE 1.0.2 or later, and put the JAR files into $JAVA_HOME/jre/lib/ext. * Execute: %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows) $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix) with a password value of changeit for both the certificate and the keystore itself. By default, DNS lookups are enabled when a web application calls request.getRemoteHost(). This can have an adverse impact on performance, so you can disable it by setting the enableLookups attribute to false. When DNS lookups are disabled, request.getRemoteHost() will return the String version of the IP address of the remote client. -- !-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8081 -- Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8080 minProcessors=5 maxProcessors=75 enableLookups=false acceptCount=100 debug=0 connectionTimeout=2 useURIValidationHack=false disableUploadTimeout=true / !-- Note : To disable connection timeouts, set connectionTimeout value to -1 -- !-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -- Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8443 minProcessors=5
Help!! Deployment issue
I am about to deploy a struts app in production. I have been doing development using port 8080 and a Context path of /aup-reports and a docPath of aup-reports. My app uses BASIC authentication with a JDBC Realm into postgres. Everything works fine in this configuration with 4.1.24 and 4.1.27 and jdk 1.4.2. However, when a try to make my app the default Context by setting the context path to (and keep docPath to /aup-reports) I am seeing strange behavior from the authentication module. When the app first comes up I get the authentication prompt, I log in and I see that the authentication is successful and that my index.jsp is accessed because there is a new log message in Catalina.out. But I don't see my index.jsp in the browser and the login prompt comes up immediately again. I attempt to login again and the prompt comes back again. It comes back continuously !?!?. If I hit escape about 15 times it allows me to see my index.jsp but the formatting is a mess and if I attempt to access any links the $%^ login prompt comes up again. Any one might be going on?? What is the best way to transition from a dev conf to a production conf? Joe