You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/12/12 23:27:44 UTC
DO NOT REPLY [Bug 25491] New: -
Tomcat spawns open PIPEs whenever compiling a page with JVM forking turned on
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25491>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25491
Tomcat spawns open PIPEs whenever compiling a page with JVM forking turned on
Summary: Tomcat spawns open PIPEs whenever compiling a page with
JVM forking turned on
Product: Tomcat 4
Version: 4.1.29
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Critical
Priority: Other
Component: Jasper 2
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: thomas.tang@thestreet.com
Im am currently running Tomcat 4.1.29 with Java version 1.4.0_02-b02 on a Sun
E450 with 4gbs of RAM with quad 400mhz Sparc cpus.
I downloaded the binary distribution for testing, and discovered that whenever
Tomcat compiles a jsp page, the jasper2 opens a pipe for the compile whether it
is javac or jikes, and does not release them. Under a heavy jsp compilation
these PIPES would eventually take up all the file descriptors and the tomcat
would be render out of memory. This happens when we enable JVM forking in the
web.xml config.
I am running the settings below and was able to replicate this error on all my
Solaris 9 servers.
29472: /opt/j2se/usr/j2se/bin/java -server -Xms256m -Xmx256m -
XX:PermSize=128m -XX:New
argv[0]: /opt/j2se/usr/j2se/bin/java
argv[1]: -server
argv[2]: -Xms256m
argv[3]: -Xmx256m
argv[4]: -XX:PermSize=128m
argv[5]: -XX:NewSize=128m
argv[6]: -XX:SurvivorRatio=2000
argv[7]: -XX:+UseParNewGC
argv[8]: -XX:+UseConcMarkSweepGC
argv[9]: -XX:MaxTenuringThreshold=0
argv[10]: -Xloggc:/opt/tomcat/logs/gc.log
argv[11]: -XX:+PrintGCDetails
argv[12]: -XX:+PrintGCTimeStamps
argv[13]: -Dbuild.compiler.emacs=true
argv[14]: -Djava.endorsed.dirs=/opt/jakarta-tomcat-4.1.29/common/endorsed
argv[15]: -classpath
argv[16]: /opt/j2se/usr/j2se/lib/tools.jar:/opt/jakarta-tomcat-
4.1.29/bin/bootstrap.jar
argv[17]: -Dcatalina.base=/opt/jakarta-tomcat-4.1.29
argv[18]: -Dcatalina.home=/opt/jakarta-tomcat-4.1.29
argv[19]: -Djava.io.tmpdir=/opt/jakarta-tomcat-4.1.29/temp
argv[20]: org.apache.catalina.startup.Bootstrap
argv[21]: start
A lsof of the tomcat process shows the PIPES being formed.
# lsof -p 29472
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 29472 tomcat cwd VDIR 85,90 512 488618 /opt/jakarta-
tomcat-4.1.29/bin
java 29472 tomcat txt VREG 85,90 38468
359689 /opt/j2se/usr/j2se/bin/java
java 29472 tomcat txt VREG 85,90 753709 624919 /opt/jakarta-
tomcat-4.1.29/server/lib/catalina.jar
java 29472 tomcat txt VREG 85,90 736810 624950 /opt/jakarta-
tomcat-4.1.29/common/lib/ant.jar
java 29472 tomcat txt VREG 85,90 5092912
410527 /opt/j2se/usr/j2se/lib/tools.jar
java 29472 tomcat txt VREG 85,90 498051 624768 /opt/jakarta-
tomcat-4.1.29/server/webapps/admin/WEB-INF/lib/struts.jar
java 29472 tomcat txt VREG 85,90 769335
546205 /opt/j2se/usr/j2se/jre/lib/ext/localedata.jar
java 29472 tomcat txt VREG 85,90 498051 624963 /opt
(/dev/md/dsk/d90)
java 29472 tomcat txt VREG 85,90 58904
566568 /opt/j2se/usr/j2se/jre/lib/sparc/libnet.so
java 29472 tomcat txt VREG 85,90 65508 624932 /opt/jakarta-
tomcat-4.1.29/server/lib/tomcat-jk.jar
java 29472 tomcat txt VREG 85,90 22379 624930 /opt/jakarta-
tomcat-4.1.29/server/lib/commons-fileupload-1.0.jar
java 29472 tomcat txt VREG 85,90 97076 624929 /opt/jakarta-
tomcat-4.1.29/server/lib/tomcat-jk2.jar
java 29472 tomcat txt VREG 85,90 23336 624926 /opt/jakarta-
tomcat-4.1.29/server/lib/tomcat-warp.jar
java 29472 tomcat txt VREG 85,90 21435 624925 /opt/jakarta-
tomcat-4.1.29/server/lib/servlets-webdav.jar
java 29472 tomcat txt VREG 85,90 7031 624924 /opt/jakarta-
tomcat-4.1.29/server/lib/servlets-common.jar
java 29472 tomcat txt VREG 85,90 104195 624922 /opt/jakarta-
tomcat-4.1.29/server/lib/jaas.jar
java 29472 tomcat txt VREG 85,90 66846 624921 /opt/jakarta-
tomcat-4.1.29/server/lib/tomcat-coyote.jar
java 29472 tomcat txt VREG 85,90 118726 624920 /opt/jakarta-
tomcat-4.1.29/server/lib/commons-beanutils.jar
java 29472 tomcat txt VREG 85,90 186651 624918 /opt/jakarta-
tomcat-4.1.29/server/lib/tomcat-util.jar
java 29472 tomcat txt VREG 85,90 109670 624914 /opt/jakarta-
tomcat-4.1.29/server/lib/commons-modeler.jar
java 29472 tomcat txt VREG 85,90 47714 624916 /opt/jakarta-
tomcat-4.1.29/server/lib/tomcat-http11.jar
java 29472 tomcat txt VREG 85,90 343900 624907 /opt/jakarta-
tomcat-4.1.29/server/lib/mx4j-jmx.jar
java 29472 tomcat txt VREG 85,90 14804 624927 /opt/jakarta-
tomcat-4.1.29/server/lib/catalina-ant.jar
java 29472 tomcat txt VREG 85,90 19278 624915 /opt/jakarta-
tomcat-4.1.29/server/lib/servlets-default.jar
java 29472 tomcat txt VREG 85,90 18929 624913 /opt/jakarta-
tomcat-4.1.29/server/lib/servlets-manager.jar
java 29472 tomcat txt VREG 85,90 25429 624911 /opt/jakarta-
tomcat-4.1.29/server/lib/jakarta-regexp-1.3.jar
java 29472 tomcat txt VREG 85,90 109096 624909 /opt/jakarta-
tomcat-4.1.29/server/lib/commons-digester.jar
java 29472 tomcat txt VREG 85,90 31605 624908 /opt/jakarta-
tomcat-4.1.29/server/lib/commons-logging.jar
java 29472 tomcat txt VREG 85,90 8674 624951 /opt/jakarta-
tomcat-4.1.29/common/lib/jta.jar
java 29472 tomcat txt VREG 85,90 28520 624949 /opt/jakarta-
tomcat-4.1.29/common/lib/naming-common.jar
java 29472 tomcat txt VREG 85,90 38836 624948 /opt/jakarta-
tomcat-4.1.29/common/lib/naming-resources.jar
java 29472 tomcat txt VREG 85,90 5604126
546194 /opt/j2se/usr/j2se/jre/lib/charsets.jar
java 29472 tomcat txt VREG 85,90 5964 624912 /opt/jakarta-
tomcat-4.1.29/server/lib/servlets-invoker.jar
java 29472 tomcat txt VREG 85,90 72933 624947 /opt/jakarta-
tomcat-4.1.29/common/lib/jasper-runtime.jar
java 29472 tomcat txt VREG 85,90 45386 624946 /opt/jakarta-
tomcat-4.1.29/common/lib/activation.jar
java 29472 tomcat txt VREG 85,90 100776 624945 /opt/jakarta-
tomcat-4.1.29/common/lib/commons-dbcp-1.1.jar
java 29472 tomcat txt VREG 85,90 183104 624942 /opt/jakarta-
tomcat-4.1.29/common/lib/jasper-compiler.jar
java 29472 tomcat txt VREG 85,90 98496 624944 /opt/jakarta-
tomcat-4.1.29/common/lib/jndi.jar
java 29472 tomcat txt VREG 85,90 6727 624940 /opt/jakarta-
tomcat-4.1.29/common/lib/jdbc2_0-stdext.jar
java 29472 tomcat txt VREG 85,90 165119 624939 /opt/jakarta-
tomcat-4.1.29/common/lib/commons-collections.jar
java 29472 tomcat txt VREG 85,90 22327 624938 /opt/jakarta-
tomcat-4.1.29/common/lib/commons-logging-api.jar
java 29472 tomcat txt VREG 85,90 280984 624937 /opt/jakarta-
tomcat-4.1.29/common/lib/mail.jar
java 29472 tomcat txt VREG 85,90 79265 624936 /opt/jakarta-
tomcat-4.1.29/common/lib/servlet.jar
java 29472 tomcat txt VREG 85,90 26811340
546256 /opt/j2se/usr/j2se/jre/lib/rt.jar
java 29472 tomcat txt VREG 85,90 18245 624943 /opt/jakarta-
tomcat-4.1.29/common/lib/naming-factory.jar
java 29472 tomcat txt VREG 85,90 895647
546249 /opt/j2se/usr/j2se/jre/lib/jsse.jar
java 29472 tomcat txt VREG 85,90 39523 624941 /opt/jakarta-
tomcat-4.1.29/common/lib/commons-pool-1.1.jar
java 29472 tomcat txt VREG 85,90 927669 624953 /opt/jakarta-
tomcat-4.1.29/common/endorsed/xercesImpl.jar
java 29472 tomcat txt VREG 85,90 24694 488630 /opt/jakarta-
tomcat-4.1.29/bin/bootstrap.jar
java 29472 tomcat txt VREG 85,90 111374
546206 /opt/j2se/usr/j2se/jre/lib/ext/sunjce_provider.jar
java 29472 tomcat txt VREG 85,90 69596
546248 /opt/j2se/usr/j2se/jre/lib/jce.jar
java 29472 tomcat txt VREG 85,90 89343
546257 /opt/j2se/usr/j2se/jre/lib/sunrsasign.jar
java 29472 tomcat txt VREG 85,90 123705 624954 /opt/jakarta-
tomcat-4.1.29/common/endorsed/xmlParserAPIs.jar
java 29472 tomcat txt VREG 85,90 73032
566574 /opt/j2se/usr/j2se/jre/lib/sparc/libzip.so
java 29472 tomcat txt VREG 85,90 146524
566553 /opt/j2se/usr/j2se/jre/lib/sparc/libjava.so
java 29472 tomcat txt VREG 85,90 96452
566572 /opt/j2se/usr/j2se/jre/lib/sparc/libverify.so
java 29472 tomcat txt VREG 85,90 9550 488629 /opt/jakarta-
tomcat-4.1.29/bin/commons-daemon.jar
java 29472 tomcat txt VREG 0,2 16384 3153301845 /tmp (swap)
java 29472 tomcat txt VREG 85,90 44620
593603 /opt/j2se/usr/j2se/jre/lib/sparc/native_threads/libhpi.so
java 29472 tomcat txt VREG 85,30 11452
136329 /usr/platform/sun4u/lib/libmd5_psr.so.1
java 29472 tomcat txt VREG 85,30 11448
104659 /usr/lib/libmd5.so.1
java 29472 tomcat txt VREG 85,30 43960
104623 /usr/lib/libaio.so.1
java 29472 tomcat txt VREG 85,30 35916
104678 /usr/lib/librt.so.1
java 29472 tomcat txt VREG 85,30 21676
104662 /usr/lib/libmp.so.2
java 29472 tomcat txt VREG 85,30 11580
104681 /usr/lib/libsched.so.1
java 29472 tomcat txt VREG 85,30 742660
105122 /usr/lib/libnsl.so.1
java 29472 tomcat txt VREG 85,90 53247
546204 /opt/j2se/usr/j2se/jre/lib/ext/ldapsec.jar
java 29472 tomcat txt VREG 85,30 110116
104728 /usr/lib/libm.so.1
java 29472 tomcat txt VREG 85,90 7434928
593607 /opt/j2se/usr/j2se/jre/lib/sparc/server/libjvm.so
java 29472 tomcat txt VREG 85,90 8896
546203 /opt/j2se/usr/j2se/jre/lib/ext/dnsns.jar
java 29472 tomcat txt VREG 85,30 58504
104686 /usr/lib/libsocket.so.1
java 29472 tomcat txt VREG 85,30 58780
104719 /usr/lib/libCrun.so.1
java 29472 tomcat txt VREG 85,30 6476
104693 /usr/lib/libw.so.1
java 29472 tomcat txt VREG 85,30 855484
104626 /usr/lib/libc.so.1
java 29472 tomcat txt VREG 85,30 16768
136328 /usr/platform/sun4u/lib/libc_psr.so.1
java 29472 tomcat txt VREG 85,30 138560
104689 /usr/lib/libthread.so.1
java 29472 tomcat txt VREG 85,30 3984
104616 /usr/lib/libdl.so.1
java 29472 tomcat txt VREG 85,30 192692
105127 /usr/lib/ld.so.1
java 29472 tomcat 0r VCHR 13,2 0t0
318874 /devices/pseudo/mm@0:null
java 29472 tomcat 1w VREG 85,90 31060 624972 /opt/jakarta-
tomcat-4.1.29/logs/catalina.out
java 29472 tomcat 2w VREG 85,90 31060 624972 /opt/jakarta-
tomcat-4.1.29/logs/catalina.out
java 29472 tomcat 3u VCHR 13,12 0t0
318876 /devices/pseudo/mm@0:zero
java 29472 tomcat 4w VREG 85,90 0
31764 /opt/tomcat/logs/gc.log
java 29472 tomcat 5r DOOR 234,0 0t0 43118 /var/run
(swap) (door to nscd[210])
java 29472 tomcat 6u IPv4 0x3001f5be1e8 0t0 TCP *:9080
(LISTEN)
java 29472 tomcat 7u IPv4 0x305df9ba060 0t0 TCP
localhost:64965->localhost:64964 (BOUND)
java 29472 tomcat 8r VREG 85,90 778 624960 /opt/jakarta-
tomcat-4.1.29/conf/jk2.properties
java 29472 tomcat 9w VREG 85,90 30964 624979 /opt/jakarta-
tomcat-4.1.29/logs/localhost_log.2003-12-12.txt
java 29472 tomcat 10w VREG 85,90 450 624983 /opt/jakarta-
tomcat-4.1.29/logs/catalina_log.2003-12-12.txt
java 29472 tomcat 11w VREG 85,90 6552 624981 /opt/jakarta-
tomcat-4.1.29/logs/localhost_admin_log.2003-12-12.txt
java 29472 tomcat 12r VREG 85,90 111374
546206 /opt/j2se/usr/j2se/jre/lib/ext/sunjce_provider.jar
java 29472 tomcat 13r VREG 85,90 769335
546205 /opt/j2se/usr/j2se/jre/lib/ext/localedata.jar
java 29472 tomcat 14r VREG 85,90 53247
546204 /opt/j2se/usr/j2se/jre/lib/ext/ldapsec.jar
java 29472 tomcat 15r VREG 85,90 8896
546203 /opt/j2se/usr/j2se/jre/lib/ext/dnsns.jar
java 29472 tomcat 16r VREG 85,90 927669 624953 /opt/jakarta-
tomcat-4.1.29/common/endorsed/xercesImpl.jar
java 29472 tomcat 17r VREG 85,90 123705 624954 /opt/jakarta-
tomcat-4.1.29/common/endorsed/xmlParserAPIs.jar
java 29472 tomcat 18r VREG 85,90 26811340
546256 /opt/j2se/usr/j2se/jre/lib/rt.jar
java 29472 tomcat 19r VREG 85,90 89343
546257 /opt/j2se/usr/j2se/jre/lib/sunrsasign.jar
java 29472 tomcat 20r VREG 85,90 895647
546249 /opt/j2se/usr/j2se/jre/lib/jsse.jar
java 29472 tomcat 21r VREG 85,90 69596
546248 /opt/j2se/usr/j2se/jre/lib/jce.jar
java 29472 tomcat 22r VREG 85,90 5604126
546194 /opt/j2se/usr/j2se/jre/lib/charsets.jar
java 29472 tomcat 23r VREG 85,90 5092912
410527 /opt/j2se/usr/j2se/lib/tools.jar
java 29472 tomcat 24r VREG 85,90 24694 488630 /opt/jakarta-
tomcat-4.1.29/bin/bootstrap.jar
java 29472 tomcat 25u IPv4 0x31321b37528 0t0 TCP *:9009
(LISTEN)
java 29472 tomcat 26u IPv4 0x3008b8c4df0 0t0 TCP
localhost:9005 (LISTEN)
java 29472 tomcat 32u FIFO 0x3000fe7d8e0 0t0 504826 (fifofs)
PIPE->0x3000fe7d7e0
java 29472 tomcat 33u FIFO 0x313116e8fe0 0t0 504827 (fifofs)
PIPE->0x313116e90e0
java 29472 tomcat 34u FIFO 0x313116e8860 0t0 504830 (fifofs)
PIPE->0x313116e8760
java 29472 tomcat 35u FIFO 0x300b89f8920 0t0 504828 (fifofs)
PIPE->0x300b89f8a20
java 29472 tomcat 36u FIFO 0x30b8202cfa0 0t0 504831 (fifofs)
PIPE->0x30b8202d0a0
java 29472 tomcat 38u FIFO 0x31311700740 0t0 504832 (fifofs)
PIPE->0x31311700840
java 29472 tomcat 39u FIFO 0x313116e8420 0t0 504858 (fifofs)
PIPE->0x313116e8320
java 29472 tomcat 40u FIFO 0x313116e9200 0t0 504859 (fifofs)
PIPE->0x313116e9300
java 29472 tomcat 42u FIFO 0x3000114c8c0 0t0 504860 (fifofs)
PIPE->0x3000114c9c0
These PIPEs die and they only build up.
Any ideas on what is going on?
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org