socket write error 把Tomcat 搞挂了好几次,求帮助!

jhandsome007 2009-01-13 04:45:16
Tomcat 上全都是以下这个错,没别的,一报就报了这一堆,这个socket write error 能解决吗??或者是怎么能把它输出到日志文件上,由于它的出现,Tomcat 挂了好几次了,太影响了!!!望各位指点!!!

ClientAbortException: java.net.SocketException: Software caused connection abor
t: socket write error
at org.apache.coyote.tomcat5.OutputBuffer.realWriteBytes(OutputBuffer.ja
va:373)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:323)
at org.apache.coyote.tomcat5.OutputBuffer.writeBytes(OutputBuffer.java:4
01)
at org.apache.coyote.tomcat5.OutputBuffer.write(OutputBuffer.java:388)
at org.apache.coyote.tomcat5.CoyoteOutputStream.write(CoyoteOutputStream
.java:76)
at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:
1861)
at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServ
let.java:985)
at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java
:448)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
at com.zyht.common.UserFilter.doFilter(UserFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
at java.lang.Thread.run(Thread.java:595)
...全文
3021 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
精灵Baby 2011-12-16
  • 打赏
  • 举报
回复
急啊 我也报着个错,我在进行solr查询的时候,很容易出现这种情况,让tomcat挂了,
到底怎么解决啊,
HeAvEnCome_ 2011-06-27
  • 打赏
  • 举报
回复
怎么解决呢?
kokobox 2009-02-01
  • 打赏
  • 举报
回复
应该是客户连接被重置异常,有的时候客户强行中断连接导致的异常,但是这样的异常不至于一天让tomcat挂掉几次

还是再检查一下其他地方吧
kokobox 2009-02-01
  • 打赏
  • 举报
回复
应该是客户连接被重置异常,有的时候客户强行中断连接导致的异常,但是这样的异常不至于一天让tomcat挂掉几次

还是再检查一下其他地方吧
Jacky_Zhu_1983 2009-02-01
  • 打赏
  • 举报
回复
try {...} catch (Exception ex) {}
这样可以吗?
chenhuangyun 2009-02-01
  • 打赏
  • 举报
回复
等待中.....
loveunittesting 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
这个异常的原因是,你的页面有一些动态生成的东西,而且相对较大。
你的服务器向客户端发送数据,结果刚发一半,客户端关闭了链接,就造成了这个错误,
一般是类似验证码这样的地方。 总之这个异常是合理的,至于是否引起tomcat挂掉,我不认为是这个原因。
除非你的这部分程序有错误!
[/Quote]
这位老兄说的基本正确,不过确实容易造成tomcat死掉。我今天还碰到了,图片存到数据库中,也页面上进行显示,结果反复刷新的情况下,图片没有完全显示就又重新加载了,相当于关了浏览器又重新打开。tomcat服务器不久就挂了。还是别用这种方式了。
老黄瓜_ 2009-01-16
  • 打赏
  • 举报
回复
你文件处理时候 有关闭 文件流没有。。检查下。。
jhandsome007 2009-01-15
  • 打赏
  • 举报
回复
问题是,怎么能让那错误不输出到tomcat 上??
jhandsome007 2009-01-15
  • 打赏
  • 举报
回复
对,不是那个错引起的tomcat 挂掉,是那个 错误一直不停的报,全输出到tomcat 上了,这就影响到tomcat 了,
jinhuiyu 2009-01-14
  • 打赏
  • 举报
回复
这是我的一篇blog

在你的web server的log文件里面, 你有可能会看到一下Exception
(Window NT)
java.io.IOException Connection Reset by Peer
java.io.IOException: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error at

java.io.EOFException Connection Reset by Peer
(Solaris)
java.io.EOFException: Broken pipe
这些错误消息通常发生在使用servlet的时候,如果客户端发出了一个HTTP 请求然后在浏览器上执行一下集中操作,web server就有可能产生这种错误信息

* 点击停止或者关闭浏览器
* 点击刷新或者用F5命令刷新页面
* 发送一个新的HTTP 请求

当用户进行以上动作的时候,就是对先前进行的HTTP请求的阻断或者终止,web server检测到并且恢复了这个被阻断的HTTP请求,然后在log里面写入IOException。

Landor2004 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
这个异常的原因是,你的页面有一些动态生成的东西,而且相对较大。
你的服务器向客户端发送数据,结果刚发一半,客户端关闭了链接,就造成了这个错误,
一般是类似验证码这样的地方。 总之这个异常是合理的,至于是否引起tomcat挂掉,我不认为是这个原因。
除非你的这部分程序有错误!
[/Quote]
正确,这个异常是合情合理的
glglglglglgllll 2009-01-13
  • 打赏
  • 举报
回复
建议重装一下TOMCAT。看看还出不出这个
老紫竹 2009-01-13
  • 打赏
  • 举报
回复
这个异常的原因是,你的页面有一些动态生成的东西,而且相对较大。
你的服务器向客户端发送数据,结果刚发一半,客户端关闭了链接,就造成了这个错误,
一般是类似验证码这样的地方。 总之这个异常是合理的,至于是否引起tomcat挂掉,我不认为是这个原因。
除非你的这部分程序有错误!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧