"White Screen of Nothing" "Internet Explorer cannot display the webpage"
We have a ASP.NET website that some times gets pages to lock up, with no content, all white screen, that eventually time out in IE to return an IE error page title "Internet Explorer cannot display the webpage". Note the spelling. We refer to this as the "White Screen of Nothing".
Logs from IIS, show no errors (no 400+ status codes), and in fact, show the page that IE goes into the "White Screen of Nothing" for, as status code 200 in the IIS logs. Also, internal server-side ASP.NET tracing, show all code running as expected.
Trying to reproduce this error is difficult. It does not occur consistently. At best, if we open pages, close them, and repeat this as fast as we can, it will eventually happen on attempt to open a page and/or the refesh of a frame. It is not always the same page twice.
Some pages use AJAX controls. Most use GridViews. A few use Responce.Redirect. Nothing consistant.
Searches for causes of the "White Screen of Nothing" or the "Internet Explorer cannot display the webpage" are all over the place, and do not seem to be related.
We have managed to trap one instance of the "White Screen of Nothing" while in a Visual Studio 2008 debug session, where a weird, unknown thread was locked with the call stack below. Note, I do not know for sure, if this call stack is related or even if it was truly locked.
[Managed to Native Transition]
System.dll!System.Net.SafeCloseSocket.InnerSafeCloseSocket.Accept(System.Net.SafeCloseSocket socketHandle, byte[] socketAddress, ref int socketAddressSize) + 0x13 bytes System.dll!System.Net.Sockets.Socket.Accept() + 0x73 bytes WebDev.WebHost.dll!Microsoft.VisualStudio.WebHost.Server.OnStart(object unused) + 0x35 bytes mscorlib.dll!System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(object state) + 0x2f bytes 开发者_StackOverflow mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x6f bytes mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(System.Threading._ThreadPoolWaitCallback tpWaitCallBack) + 0x53 bytes mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(object state) + 0x59 bytes
None of the functions in that stack are related to code we wrote. We did searches on "Internet Explorer cannot display the webpage" and various aspects of the function called in that trace, and nothing seems to be related.
Any ideas?
Last time I dealt with an issue like this, the problem was a Response that was taking too long, and/or IIS recycled the worker processes. Since this is like a resource issue (attempting to do something that requires too much time, CPU, or memory), the specifics of the fix will vary.
PerformWaitCallback, is just a likely place for an asynch app to come to a halt if it is waiting on something that is very slow.
I can recall of two things. Verify recycle process of IIS, it may recycling the application pool before your process finish. Verify the Event Viewer of the server, see for any ASP.NET errors maybe we can help you more with information you can get from there.
精彩评论