Bug #367
Exceptions from Web-client Connection Closures
100%
Description
NSIA keeps logging exceptions when connections to the web-client are closed.
See below for two examples of the exceptions thrown:
stack_trace = "EOFException(EOFException(java.net.SocketException: Connection reset by peer: socket write error))
org.mortbay.http.BufferedOutputStream.flush(BufferedOutputStream.java:209) at org.mortbay.http.HttpOutputStream.flush(HttpOutputStream.java:478) at org.mortbay.http.HttpOutputStream.write(HttpOutputStream.java:425) at org.mortbay.http.HttpOutputStream.write(HttpOutputStream.java:414) at org.mortbay.jetty.servlet.ServletOut.write(ServletOut.java:47) at net.lukemurphey.nsia.web.MediaServlet.doRequest(MediaServlet.java:101) at net.lukemurphey.nsia.web.MediaServlet.doGet(MediaServlet.java:29) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)"
stack_trace = "javax.servlet.ServletException: Exception thrown while generating view
net.lukemurphey.nsia.web.WebConsoleServlet.doRequest(WebConsoleServlet.java:92) at net.lukemurphey.nsia.web.WebConsoleServlet.doPost(WebConsoleServlet.java:127) at javax.servlet.http.HttpServlet.service(HttpServlet.java:154) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by:net.lukemurphey.nsia.web.ViewFailedException: EOFException(java.net.SocketException: Connection reset by peer: socket write error)
net.lukemurphey.nsia.web.views.WebDiscoveryRuleEditView.performActions(WebDiscoveryRuleEditView.java:215) at net.lukemurphey.nsia.web.views.WebDiscoveryRuleEditView.process(WebDiscoveryRuleEditView.java:237) at net.lukemurphey.nsia.web.views.RuleEditView.process(RuleEditView.java:256) at net.lukemurphey.nsia.web.View.process(View.java:93) at net.lukemurphey.nsia.web.View.process(View.java:60) at net.lukemurphey.nsia.web.WebConsoleServlet.doRequest(WebConsoleServlet.java:83) at net.lukemurphey.nsia.web.WebConsoleServlet.doPost(WebConsoleServlet.java:127) at javax.servlet.http.HttpServlet.service(HttpServlet.java:154) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by:EOFException(java.net.SocketException: Connection reset by peer: socket write error)
org.mortbay.http.BufferedOutputStream.flush(BufferedOutputStream.java:209) at org.mortbay.http.HttpOutputStream.flush(HttpOutputStream.java:478) at org.mortbay.http.HttpConnection.commit(HttpConnection.java:745) at org.mortbay.http.HttpResponse.commit(HttpResponse.java:439) at org.mortbay.jetty.servlet.ServletHttpResponse.commit(ServletHttpResponse.java:152) at org.mortbay.jetty.servlet.ServletHttpResponse.complete(ServletHttpResponse.java:160) at org.mortbay.jetty.servlet.ServletHttpResponse.sendRedirect(ServletHttpResponse.java:462) at net.lukemurphey.nsia.web.views.WebDiscoveryRuleEditView.performActions(WebDiscoveryRuleEditView.java:189) at net.lukemurphey.nsia.web.views.WebDiscoveryRuleEditView.process(WebDiscoveryRuleEditView.java:237) at net.lukemurphey.nsia.web.views.RuleEditView.process(RuleEditView.java:256) at net.lukemurphey.nsia.web.View.process(View.java:93) at net.lukemurphey.nsia.web.View.process(View.java:60) at net.lukemurphey.nsia.web.WebConsoleServlet.doRequest(WebConsoleServlet.java:83) at net.lukemurphey.nsia.web.WebConsoleServlet.doPost(WebConsoleServlet.java:127) at javax.servlet.http.HttpServlet.service(HttpServlet.java:154) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)"
Related issues
History
#1 Updated by Luke Murphey about 13 years ago
The root cause of this exception is related to #364. This exception is generated whenever a IE 9 client makes a HTTP auto-discovery rule.
#2 Updated by Luke Murphey about 13 years ago
- Status changed from New to In Progress
#3 Updated by Luke Murphey about 13 years ago
This turns out to be more difficult than expected. The problem is that the individual views (those sub-classing View) throw ViewFailedExceptions for IOExceptions. They really ought to ignore these since these are dependent on the network connection. For example, IE will shut down the connection due to an unexpected mimetype.
#4 Updated by Anonymous about 13 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
Applied in changeset r1228.