Khan | 14 Dec 18:01 2011

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

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 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
*      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 . 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
. Also this issue causes random error 500 in Apache server (see
) 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
Inject the KeepAlive:none parameter in the header for long running
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