WinServer 2012 IIS 8 ASP.NET 4.5
I noticed, while using IE11 that a particular page intermittently fails to load. It just says "This page can’t be displayed". If I use the F12 dev tools, the network trace shows the request with a 200 response, but the response body just ends abruptly mid page.
When I load the page in Chrome, I intermittently have a problem with the same page. Chrome however shows net::err_ssl_protocol_error
for that request. Chrome also shows the byte count as about 1/2 the page content.
I ran the SSLDiag tool on the web server and that reported all SSL certs as good/no errors.
Every other page (that I can tell) works on the site. Other pages are a mix of ASP.NET and MVC and none of the other have this problem.
Connected to this is an entry in the event viewer (below). You'll note that it ends with an explicit flush. I don't have code that calls Flush, but I do turn off buffering, so it must be an internal ASP.NET flush. But how does a flush (with no client at the other end) cause Chrome to report a SSL protocol error?
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/23/2014 12:27:31 PM
Event time (UTC): 4/23/2014 7:27:31 PM
Event ID: fca4a66e73bf46adb3215dcdb88a0b82
Event sequence: 1159
Event occurrence: 19
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/10/ROOT-1-130427523426870110
Trust level: Full
Application Virtual Path: /
Application Path: D:\inetpub\wwwroot\MySite\
Machine name: EBIDEVW4
Process information:
Process ID: 5028
Process name: w3wp.exe
Account name: MyCompany\MySiteUser
Exception information:
Exception type: HttpException
Exception message: The remote host closed the connection. The error code is 0x800704CD.
at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush, Boolean async)
at System.Web.HttpWriter.Write(String s)
at System.Web.UI.HtmlTextWriter.RenderBeginTag(HtmlTextWriterTag tagKey)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at ASP.rpt_jobs_aspx.__RenderForm1(HtmlTextWriter __w, Control parameterContainer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at ASP.rpt_jobs_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Page.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Request information:
Request URL: https://customdomain.mycompany.com:443/rpt/jobs.aspx
Request path: /rpt/jobs.aspx
User host address: 10.10.1.25
User: myuser
Is authenticated: True
Authentication Type: Forms
Thread account name: MyCompany\MySiteUser
Thread information:
Thread ID: 10
Thread account name: MyCompany\MySiteUser
Is impersonating: False
Stack trace: at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush, Boolean async)
at System.Web.HttpWriter.Write(String s)
at System.Web.UI.HtmlTextWriter.RenderBeginTag(HtmlTextWriterTag tagKey)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at ASP.rpt_jobs_aspx.__RenderForm1(HtmlTextWriter __w, Control parameterContainer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at ASP.rpt_jobs_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Page.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Update: I am not so concerned about getting the The remote host closed the connection. The error code is 0x800704CD.
exception on the server IF the user really does close the connection mid stream. My concern and question is why is there an ssl protocol error in chrome and a chopped response in chrome and IE when it seems that nothing is stopping the request?
It also happens in some of our sites. What I notice is that most of them are crawler.
The exception throws when a crawler requests a page, and closes the connection without waiting for the response from the server or close the connection in middle of sending the request.
Similarly, it also happens when a user requests a page, and closes the browser or network drops.
As far as I know, there is nothing you can do about The remote host closed the connection
exception.
If you want, you might want to ignore that kind of error in void Application_Error(object sender, EventArgs e)
.
User contributions licensed under CC BY-SA 3.0