歡迎您光臨本站 註冊首頁

tomcat5 莫名死機

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

tomcat5 莫名死機

如題,一天死好幾回,部分日誌:
java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.catalina.connector.Response.getWriter(Response.java:607)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:196)
        at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
        at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
        at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:179)
        at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:116)
        at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:76)
        at org.apache.jsp.include.image_jsp._jspService(image_jsp.java:78)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.et.filter.EncodeFilter.doFilter(EncodeFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
2008-08-18 11:03:03>>:success logout
《解決方案》

忽然覺得這裡的人怎麼這麼少啊
《解決方案》

沒人 自己up
《解決方案》

自己up
《解決方案》

是不是輸出圖形驗證碼的?
《解決方案》

恩 好像是這個錯誤,但是不知道為啥老死機
《解決方案》

你用的網上的一個jsp圖形校驗碼把?

<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//給定範圍獲得隨機顏色
        Random random = new Random();
        if(fc>255) fc=255;
        if(bc>255) bc=255;
        int r=fc+random.nextInt(bc-fc);
        int g=fc+random.nextInt(bc-fc);
        int b=fc+random.nextInt(bc-fc);
        return new Color(r,g,b);
        }
%>
<%
//設置頁面不緩存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

// 在內存中創建圖象
int width=40, height=16;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 獲取圖形上下文
Graphics g = image.getGraphics();

//生成隨機類
Random random = new Random();

// 設定背景色
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);

//設定字體
g.setFont(new Font("Times New Roman",Font.BOLD,15));

//畫邊框
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);

// 隨機產生155條幹擾線,使圖象中的認證碼不易被其它程序探測到
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
        int xl = random.nextInt(12);
        int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}

// 取隨機產生的認證碼(4位數字)
String sRand="";
for (int i=0;i<4;i++){
    String rand=String.valueOf(random.nextInt(10));
    sRand+=rand;
    // 將認證碼顯示到圖象中
    g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
//調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成
    g.drawString(rand,9*i+2,12);
}

// 將認證碼存入SESSION
session.setAttribute("codestr",sRand);

// 圖象生效
g.dispose();

// 輸出圖象到頁面
ImageIO.write(image, "JPEG", response.getOutputStream());
%>
《解決方案》

死機肯定是另外的問題了,這個只是會經常拋一些異常而已。
《解決方案》

恩 我也覺得是另有問題 只是不知道問題是啥。並且shutdown.sh不管用,只能kill掉,啟動時輸出:
Sep 1, 2008 4:30:19 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.5.0_11/jre/lib/i386/server:/usr/java/jdk1.5.0_11/jre/lib/i386:/usr/java/jdk1.5.0_11/jre/../lib/i386
Sep 1, 2008 4:30:20 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Sep 1, 2008 4:30:20 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1378 ms
Sep 1, 2008 4:30:20 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Sep 1, 2008 4:30:20 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.26
Sep 1, 2008 4:30:20 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Sep 1, 2008 4:30:20 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/usr/local/tomcat5.5.26/webapps/wap/WEB-INF/lib/servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
=============================================================
================GlobalListener created===================
=============================================================
====>>緋葷誨濞猞猞
2008-09-01 16:30:21,464 - Hibernate 2.1.7
2008-09-01 16:30:21,468 - hibernate.properties not found
2008-09-01 16:30:21,474 - using CGLIB reflection optimizer
2008-09-01 16:30:21,478 - using JDK 1.4 java.sql.Timestamp handling
2008-09-01 16:30:21,489 - configuring from resource: /hibernate.cfg.xml
2008-09-01 16:30:21,490 - Configuration resource: /hibernate.cfg.xml
2008-09-01 16:30:21,597 - Warning parsing XML: /hibernate.cfg.xml(1) URI was not reported to parser for entity
2008-09-01 16:30:21,635 - Warning parsing XML: /hibernate.cfg.xml(4) No base URI; hope URI is absolute: http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd
2008-09-01 16:30:21,643 - Warning parsing XML: /hibernate.cfg.xml(4) No base URI; hope this SYSTEM id is absolute: http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd
2008-09-01 16:30:21,745 - Mapping resource: com/et/buss/Code.hbm.xml
2008-09-01 16:30:21,749 - Warning parsing XML: XML InputStream(1) URI was not reported to parser for entity
2008-09-01 16:30:21,751 - Warning parsing XML: XML InputStream(4) No base URI; hope URI is absolute: http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd
2008-09-01 16:30:21,752 - Warning parsing XML: XML InputStream(4) No base URI; hope this SYSTEM id is absolute: http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd
2008-09-01 16:30:22,000 - Mapping class: com.et.buss.Code -> code
2008-09-01 16:30:22,231 - Configured SessionFactory: null
2008-09-01 16:30:22,235 - processing one-to-many association mappings
2008-09-01 16:30:22,235 - processing one-to-one association property references
2008-09-01 16:30:22,236 - processing foreign key constraints
2008-09-01 16:30:22,311 - Using dialect: net.sf.hibernate.dialect.MySQLDialect
2008-09-01 16:30:22,345 - Maximim outer join fetch depth: 2
2008-09-01 16:30:22,346 - Use outer join fetching: true
2008-09-01 16:30:22,359 - C3P0 using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://192.168.0.202:3306/map
2008-09-01 16:30:22,360 - Connection properties: {user=map, password=bjdyMAP}
2008-09-01 16:30:22,480 - No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@1202d69 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@f1f051 [ acquireIncrement -> 1, autoCommitOnClose -> false, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTestPeriod -> 0, initialPoolSize -> 5, maxIdleTime -> 1800, maxPoolSize -> 100, maxStatements -> 50, minPoolSize -> 5, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@1855562 [ description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> jdbc:mysql://192.168.0.202:3306/map, properties -> {user=map, password=bjdyMAP} ] , propertyCycle -> 300, testConnectionOnCheckout -> false ] , factoryClassLocation -> null, numHelperThreads -> 3 ]
2008-09-01 16:30:23,937 - Use scrollable result sets: true
2008-09-01 16:30:23,939 - Use JDBC3 getGeneratedKeys(): true
2008-09-01 16:30:23,940 - Optimize cache for minimal puts: false
2008-09-01 16:30:23,940 - echoing all SQL to stdout
2008-09-01 16:30:23,941 - Query language substitutions: {}
2008-09-01 16:30:23,941 - cache provider: net.sf.hibernate.cache.EhCacheProvider
2008-09-01 16:30:23,948 - instantiating and configuring caches
2008-09-01 16:30:24,190 - building session factory
2008-09-01 16:30:25,580 - Not binding factory to JNDI, no JNDI name configured2008-09-01 16:30:25>>:>>>鴻挎ユ錛--------33from tb_public_code limit 0,2147483647
2008-09-01 16:30:25>>:db closed!
====>>緋葷誨у騭?
2008-09-01 16:30:25,765 - Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
2008-09-01 16:30:25,766 - Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
2008-09-01 16:30:25,944 ..]- StandardWrapper.Throwable
java.lang.NullPointerException
        at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1003)
        at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:470)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008-09-01 16:30:25,951 ..]- Servlet /wap threw load() exception
java.lang.NullPointerException
        at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1003)
        at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:470)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

---- SimpleUploaderServlet initialization started ----

php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi
0 - php
1 - php3
2 - php5
3 - phtml
4 - asp
5 - aspx
6 - ascx
7 - jsp
8 - cfm
9 - cfc
10 - pl
11 - bat
12 - exe
13 - dll
14 - reg
15 - cgi
jpg|gif|jpeg|png|bmp
0 - jpg
1 - gif
2 - jpeg
3 - png
4 - bmp

swf|fla
0 - swf
1 - fla

---- SimpleUploaderServlet initialization completed ----

Sep 1, 2008 4:30:27 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Sep 1, 2008 4:30:27 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Sep 1, 2008 4:30:27 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/57  config=null
Sep 1, 2008 4:30:28 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Sep 1, 2008 4:30:28 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 8198 ms

[ 本帖最後由 greysky-zfj 於 2008-9-2 09:43 編輯 ]
《解決方案》

看看連接池等資源發生泄漏了嗎

[火星人 ] tomcat5 莫名死機已經有562次圍觀

http://coctec.com/docs/service/show-post-27750.html