IIS 7 and Above
IIS 10 - SC-win32-status 64
Last post Jan 10, 2020 09:53 AM by Yuk Ding
Jan 07, 2020 11:56 AM|sahasrapeddi|LINK
We have an intermittent issue on our production windows server 2016 with IIS version 10 where one of the page fetch fails with SC-win32-status as 64 and next subsequent hits works fine though.
2019-12-30 13:08:40 10.129.6.183 POST /eCI/XMSCall/CallStart.ashx - 80 - 10.129.96.61 OpenVXI/3.0 http://localhost/eCI/VXML/eONEMS_Inbound.vxml 200 0 64 22673
Everytime issue happens with this page which is POST resulting in SC-win32-status as 64. As per wireshark capture, issue seems to be on IIS end as we noticed IIS not sending an expect 100 - continue but for the next
calls, we see IIS sending 100 continue. This issue we see happening on 4 of our production window servers.
Can you please help us resolve the issue?
Jan 07, 2020 02:25 PM|lextm|LINK
The relevant IIS modules have freedom to log anything for SC-win32-status. So when the response status is 200.0, everything is fine.
If you do want to dig further into the Win32 status, you need FRT https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis as
well as the source code of the module that writes out 64 (which is impossible for IIS builtin modules as they are not open sourced).
Jan 07, 2020 06:02 PM|Rovastar|LINK
Often this happens if there is a lack of response at the client end from the last byte being sent out.
The 200 is logged in IIS when the last byte is sent out but if there is no corresponding acknowledgement from the client back it additionally logs the win32 = 64.
It has been a while since I delved into wireshark with 100s but as you mentioned Expect: 100-continue doesn't that come from the client side?! and don't keepalives have something to do with it. so maybe check you have these on.
Jan 08, 2020 07:20 AM|sahasrapeddi|LINK
client first sends a post without the data but with an Expects: 100-continue expecting from server\IIS response before it continues to send the data itself. So here, server\IIS should respond with an 100 continue which
is not happening and for the next subsequent request we don't see this issue happening.
iis occasionally not responding to client post/expects 100 continue request and we see this happening on different servers. SO need help in understanding why this is happening occasionally and how can we fix that.
As per http 1.1 spec,
If a client will wait for a 100 (Continue) response before
sending the request body, it MUST send an Expect request-header
field (section 14.20) with the "100-continue" expectation.
- A client MUST NOT send an Expect request-header field (section
14.20) with the "100-continue" expectation if it does not intend
to send a request body.
Jan 08, 2020 09:10 AM|Yuk Ding|LINK
Did you see that "Expected" header being sent in the initial POST request? Not all POST request will carry this header so IIS will not return 100 status all the time.
win32-status 64 always have something to do with network level more than web server level so it is hard to figure out the root cause.
Jan 08, 2020 10:40 AM|sahasrapeddi|LINK
Yes client is sending a post with an expect 100-continue
Jan 08, 2020 04:35 PM|Rovastar|LINK
It is all getting a little heavy tech wise now.
I suppose you will have to look deeply at the request to see if everything is all good there and compare it with the server response.
If it is only the first time is the app pool up and working?
Is it after a timeout period?
The first time from nay new client?
Do other browsers have the same results?
You may be able to get a better workaround or more info if you know the answers to these questions.
tbh I would open a ticket with Microsoft for this.
I am not familiar with the client browser "OpenVXI/3.0" you are using either so a lot of question marks there.
I imagine there are all sorts can come into play here from the client side to the server and the network in between.
Jan 09, 2020 04:57 AM|sahasrapeddi|LINK
The only difference between a working one and non working one is IIS is not responding with 100-continue in failed case and is responding with 100-continue in a working case as we see it in wireshark capture.
For now, we have noticed it happening occasionally on the same server say once in 10 -15 days and we notice the same in couple of other servers. No issues with app pool and it is up and running.
Jan 10, 2020 09:53 AM|Yuk Ding|LINK
It is said that if the request receive the post data before it return 100 status. Then server will not send post data any more. Since this issue was only happening every 15 days, it might be a network issue.