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