14 Dec 2011 18:01
IE 8 and status code error 12030 - 12152 Options IE 8 and status code error 12030 - 12152 Options IE 8 and status code error 12030 - 12152 Options
2011-12-14 17:01:40 GMT
2011-12-14 17:01:40 GMT
The status code in the error is the status code returned by IE after our application client (browser) submits a post request. Besides the status code 12031, we've also experienced codes, 12030, 12152, etc. These codes are returned from the Windows Internet application programming (WinInet) API from windows OS. Here is a link http://support.microsoft.com/kb/193625 to see all about the WinInet error codes. Most of these error translate to something like 'client connection with the server is terminated'. Below is a screen shot of what I saw debugging using HTTPWatch. This error is not reproducible at will but is commonly reproducible after few minutes of activity on the web. This only happens with IE ( so far all versions). Supposed to be fixed in later version of IE. I can't cut and paste the image here from HTTP Watch but I will type it 00:00:51.411 2.230 0 POST ERROR_HTTP_INVALID_SERVER_RESPONSE * https://domain name/contextroot/remote/event Notice the '0' as the size of the content , the error message and the * for the content type for this request that failed. IE browser is running into issues with the HTTP 1.1 keep alive and persistent connection feature. HTTP persistent connection is the feature to reuse the same TCP connection to send and receive multiple HTTP requests/response. For more detail see http://en.wikipedia.org/wiki/HTTP_persistent_connection . The connection could be open or keep alive by a set amount of time defined by the web server and ours is set to 10 seconds in our environments. Given that there is a known bug in IE which causes the body from the POST requests to go missing if the server reset the connection -the problem may be happening when a POST request is made right before the keep-alive time-out expires and there is a slight network latency - the web server will reset the connection and force IE to resend the request. This time IE will forget to send the body(See size 0 above) but will still send the old content-length in the Header (see sent header below). This makes the server waiting for the body to arrive until a read time-out occurs and eventually we get the error. You may read this explanation also here http://www.eggheadcafe.com/software/aspnet/35848769/xmlhttprequest-post-sometimes-fails-when-server-is-using-keepaliv.aspx . Also this issue causes random error 500 in Apache server (see http://www.experts-exchange.com/Software/Server_Software/Web_Servers/Apache/Q_24188530.html ) and we've also experienced issues with random error 500 - this could be the same cause. Header information for the above failed request* (Request-Line) POST / MyRx/remote/event HTTP/1.1 Accept */* Accept-Encoding gzip, deflate Accept-Language en-us Cache-Control no-cache Connection Keep-Alive Content-Length 398 - *****notice this content length**** Content-Type text/x-gwt-rpc; charset=utf-8 ........................................ ....................................... Solution options Increase the web server keep alive time out. This may have an adverse side effect on request throughput of the web server. Generally set for a value between 5-10. We increased it to 20 without any adverse effect. Inject the KeepAlive:none parameter in the header for long running requests Some retry mechanism to identify these failed requests and resubmit them without user knowledge Hope IE fixes this issue some time. -- -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@... To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@... For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.