Re: URGENT PLEASE HELP ME........................................

2003-12-17 Thread qi zhang
You should change your server.xml, adding another context like

Context path=/webdev docBase=webdev debug=0
reloadable=true crossContext=true
/Context

Try to see if it will help.


 I could able to run servlets in tomcat 4.1. I created
 a folder called webdev in webapps in that i created WEB-INF and
 classes. I stored web.xml in WEB-INF. as follows.
 webapps/webdev/WEB-INF/classes
 WEB-INF/web.xml
 I configured web.xml with servletname,servletclass between webapps
 tags. After restarting the server when i say
 http://localhost:8080/webdev/servlet/myservletfile
 It showing
 404 Requested URI not found.
 I tried like the below also
 http://localhost:8080/webdev/myservletfile
 But still it is not getting.
 Let me tell anybody that tomcat4.1 have any bug in reading web.xml



 -
 Do you Yahoo!?
 New Yahoo! Photos - easier uploading and sharing




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Urgent! Tomcat4 closed giving Out of Memory Error

2003-12-15 Thread qi zhang
I got Open too many files error when I set the max open files 4096, so
that I changed it to 9182. But I think no matter how large it is, it won't
affect the performace, right?

I'm not good at Java. But I don't think I reloaded the classes in Tomcat
manager. I didn't change web.xml. Is it the problem?

Now the problem is more and more confusing. I used -verbosegc to log GC
behavior and the memory usage. If I set CATALINA_OPTS=-server -Xmx1200M
-Xms1200M -Xss256k, I got OutOfMemory error quickly as

java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start(Native Method)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.init(ThreadPool.java:497)
at
org.apache.tomcat.util.threads.ThreadPool.openThreads(ThreadPool.java:387)
at
org.apache.tomcat.util.threads.ThreadPool.runIt(ThreadPool.java:226)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:503)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)
[GC 338409K-282510K(1215168K), 0.3190985 secs]


While if I set CATALINA_OPTS=-server -Xmx768M -Xms768M -Xss256k, I didn't
get any error message in catalina.out. But tomcat stopped, and I got Time
Out in browser. The final line in catalina.out was

[GC 412489K-360388K(28K), 0.1470509 secs]


Then I stopped tomcat4, and got the following error message in catalina.out.
#
Java HotSpot(TM) Server VM warning: Attempt to unguard stack red zone failed.
An irrecoverable stack overflow has occurred.

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x40039203
Function=(null)+0x40039203
Library=/lib/libpthread.so.0

NOTE: We are unable to locate the function name symbol for the error
  just occurred. Please refer to release documentation for possible
  reason and solutions.
#

I'm wondering if it is not good to set too large heap file size, which may
limit other required space. I am really confused about why tomcat stopped
without any error message. How can I find the error? Did anybody meet this
problem before?

Thank you very much.

Qi

Look at the open files  - it is 9182.  That IS already pretty high, but
you may be hitting that limit since in Unix, everything is a file.
Sockets, etc.

On Linux, is there a way in the JVM to tell the difference between
memory given to the new generation, old generation, and permanent
generation in the JVM?  There were users on this list posting weird
OutOfMemory errors last week that were doing class reloading, and the
permanent generation was filling up even though there was plenty of
space in the old and new gen.  Of course, I think these comments only
apply to a 1.4.x JVM.  Does your code do funky stuff with the
classloaders, or are you reloading your application in Tomcat's manager?
 (or changing web.xml, which would cause reloads??)

Have you profiled your application to find any memory leaks?


 I would hunt the archives, I did a search for outofmemoryerror native
 and saw  this -  I am sure there are more similar threads with this
 issue:

 http://marc.theaimsgroup.com/?l=tomcat-userm=105535455830487w=2

 If _POSIX_THREAD_THREADS_MAX=64 - then you would have problems since
 that  means tomcat can only have 64 threads at one time. Tomcat is a
 single process  living under the JVM. (But then again - this is Linux
 and the process vs  thread model is sometimes a little strange)

 (I don't use tomcat on linux too much so my trouble shooting skills
 there are  iffy)


 -Tim

 qi zhang wrote:

 I am using Linux2.4.20-smp. I think the limits for the entire system
 are not problem:

cat /proc/sys/kernel/threads-max

 14336

cat /proc/sys/fs/file-max

 209708

cat /proc/sys/fs/file-nr

 22311366209708

ulimit -a

 core file size(blocks, -c) 0
 data seg size (kbytes, -d) unlimited
 file size (blocks, -f) unlimited
 max locked memory (kbytes, -l) unlimited
 max memory size   (kbytes, -m) unlimited
 open files(-n) 9182
 pipe size  (512 bytes, -p) 8
 stack size(kbytes, -s) 8192
 cpu time (seconds, -t) unlimited
 max user processes(-u) 7168
 virtual memory(kbytes, -v) unlimited

 But I can't find where the limits for each process/user are. One
 message  found from google said PTHREAD_THREADS_MAX could be the max
 thread count per process. In my /usr/include/bits/local_lim.h, I have

 /* The number of threads per process.  */
 #define _POSIX_THREAD_THREADS_MAX   64
 /* This is the value this implementation supports.  */
 #define PTHREAD_THREADS_MAX 16384

 16384 is large enough, I believe

Urgent! Tomcat4 closed giving Out of Memory Error

2003-12-06 Thread qi zhang
Hi,

I have stunk on this problem for almost 2 weeks. :-( 
In these two weeks, I have tried many methods, but it still doesn't work.

I built a system to run TPCW benchmark. One web and application server, 
with tomcat4.0 running, one database with mysql4.0 running on it and 
several client machines. The Jave version is j2sdk1.4.0_03. The system 
worked perfect under light load. But when the number of clients 
exceeded some number (like 600), the tomcat4 didn't work anymore.
I checked catalina.out. Sometimes no error message appear, while in some 
time it appeared the error:

SEVERE: Caught exception executing 
[EMAIL PROTECTED], terminating thread
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start(Native Method)
at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.init(ThreadPool.java:497)
at 
org.apache.tomcat.util.threads.ThreadPool.openThreads(ThreadPool.java:387)
at 
org.apache.tomcat.util.threads.ThreadPool.runIt(ThreadPool.java:226)
at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:503)
at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)


But my tomcat4 is running with option -server -Xmx1536M. (I also tried to 
change -Xss and -Xms, which didn't help.) And the actual memory 
utilization was less than 40%. (I have 2GB memory in this machine.)

I also changed 'ulimit -n 8192' and server.xml :

!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --
Connector className=org.apache.coyote.tomcat4.CoyoteConnector
   port=8080 minProcessors=5 maxProcessors=1750
   enableLookups=true redirectPort=8443
   acceptCount=1000 debug=0 connectionTimeout=-1
   useURIValidationHack=false disableUploadTimeout=true /
!-- Note : To disable connection timeouts, set connectionTimeout 
value  to -1 --

Why this error happened? I was trying to use strace -f -p to trace the
system call, but it only gave me one line accept(13,  and waited at that
point. Did anyone meet this problem before? Can I get some detailed error 
log besided catalina.out?

I really appreciate your kind help.

Qi



-- 
Qi Zhang, Ph.D Student

Department of Computer Science,
College of William and Mary
P.O. Box 8795
Williamsburg, VA 23187-8795



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Urgent! Tomcat4 closed giving Out of Memory Error

2003-12-06 Thread qi zhang
I am using Linux2.4.20-smp. I think the limits for the entire system are
not problem:
cat /proc/sys/kernel/threads-max
14336
cat /proc/sys/fs/file-max
209708
cat /proc/sys/fs/file-nr
22311366209708
ulimit -a
core file size(blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size   (kbytes, -m) unlimited
open files(-n) 9182
pipe size  (512 bytes, -p) 8
stack size(kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes(-u) 7168
virtual memory(kbytes, -v) unlimited

But I can't find where the limits for each process/user are. One message 
found from google said PTHREAD_THREADS_MAX could be the max thread count
per process. In my /usr/include/bits/local_lim.h, I have

/* The number of threads per process.  */
#define _POSIX_THREAD_THREADS_MAX   64
/* This is the value this implementation supports.  */
#define PTHREAD_THREADS_MAX 16384

16384 is large enough, I believe. Then what could be the reason of the 
error?

By the way, the Out of Memory error didn't appear all the time. 
Sometimes there was just no response without any error message. Do you 
know where I can get more detailed bug files?

Thank you very much.

Qi


On Sat, 6 Dec 2003, Tim Funk wrote:

 When you get java.lang.OutOfMemoryError: unable to create new native thread 
 it means you are running into an operating system limit. You can give the JVM 
 1 Exabyte of memory and you'll still get this error.
 
 Look at the kernel parameters for your machine and the following limits:
 1) Threads allowable on the system
 2) Threads run by a user
 3) Threads run by a process
 4) File handles per process
 5) File handles per user
 
 Use your OS manual or Google to tweak these parameters.
 
 http://jakarta.apache.org/tomcat/faq/memory.html#why
 
 -Tim
 
 qi zhang wrote:
  Hi,
  
  I have stunk on this problem for almost 2 weeks. :-( 
  In these two weeks, I have tried many methods, but it still doesn't work.
  
  I built a system to run TPCW benchmark. One web and application server, 
  with tomcat4.0 running, one database with mysql4.0 running on it and 
  several client machines. The Jave version is j2sdk1.4.0_03. The system 
  worked perfect under light load. But when the number of clients 
  exceeded some number (like 600), the tomcat4 didn't work anymore.
  I checked catalina.out. Sometimes no error message appear, while in some 
  time it appeared the error:
  
  SEVERE: Caught exception executing 
  [EMAIL PROTECTED], terminating thread
  java.lang.OutOfMemoryError: unable to create new native thread
  at java.lang.Thread.start(Native Method)
  at 
  org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.init(ThreadPool.java:497)
  at 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-- 
Qi Zhang, Ph.D Student

Department of Computer Science,
College of William and Mary
P.O. Box 8795
Williamsburg, VA 23187-8795



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]