Premature abortive reset [RST, ACK] and double posting in IE9 (32 and 64 bit)

D

David Ayre

Guest
We have been getting more frequent problem reports from IE9 users interacting with our web application when submitting forms (HTTP POST).
The problem occurs regularly, though inconsistently, on IE9. The problem has been reproduced on the following platforms:
Windows 7 & Vista
Internet Explorer both 64 and 32 bit editions
Version 9.0.8112.16421
Update Versions 9.0.3 (KB2586448)
Below is a summary of the sequence of TCP/HTTP traffic that occurs when the error is observed:

  1. [ ]IE9 (port X) -> server (port 7000) - HTTP POST request
    [ ]IE9 (port X) -> server (port 7000) - TCP [RST, ACK] (abortive reset)
    [ ]IE9 (port Y) -> server (port 7000) - TCP [SYN]
    [ ]server (port 7000) -> IE9 (port Y) - TCP [SYN, ACK]
    [ ]IE9 (port Y) -> server (port 7000) - TCP [ACK]
    [ ]IE9 (port Y) -> server (port 7000) - HTTP POST request
The problem is with the immediate abortive reset in step 2 (BEFORE it receives any response from the server), and then IE9 establishes a new connection and resubmits the same POST data. This is all within 3-4 milliseconds. Our application has already received the first POST data (and is caching some state based on this) and isn't expecting another POST from the same session, so the state of the application is screwed up.
This has not been an issue for us with any other browser up to this point. We do not see this behavior when setting the IE8 compatability mode header in the META tag. The problem is NOT consistent, it occurs sometimes, and other times it does not, but more often than not in our production environment we see the issue. The user is not double clicking the submit button, the tests are automated, IE9 F12 debugger reports a single user click.
I'm recommending at this point that we use the compatability mode as i have not been able to find any way to cope with this short of rewriting parts of our application to deal with a possible double post (which is a lot of effort to cope with a problem that we are only seeing in IE9).
Any help, suggestions would be greatly appreciated.

Continue reading...
 
Back
Top