BUG: WinInet Application Stops Responding and Shows 100-Percent CPU Utilization (263754)
The information in this article applies to:
- Microsoft Internet Explorer (Programming) 4.0
- Microsoft Internet Explorer (Programming) 4.01
- Microsoft Internet Explorer (Programming) 4.01 SP1
- Microsoft Internet Explorer (Programming) 4.01 SP2
- Microsoft Internet Explorer (Programming) 5
- Microsoft Internet Explorer (Programming) 5.01
This article was previously published under Q263754 SYMPTOMS
Under some conditions, a WinInet application may stop responding and show 100-percent CPU utilization. When you debug the offending application, you may see that the InternetReadFile API is causing the blocking and CPU-utilization problem.
This only happens when the server uses chunked encoding and abruptly closes a connection.
CAUSE
The problem is caused by a bug in the InternetReadFile API. Under some conditions, InternetReadFile fails to detect a connection closure and still tries to read data from the socket.
RESOLUTION
Because this problem only occurs when chunked encoding is used, you can disable chunked encoding to solve the problem. Because chunked encoding is not used with HTTP 1.0, you can work around this problem by using HTTP 1.0. To do so you must:
- Specify HTTP/1.0 in the HttpOpenRequest API.
- In Internet Explorer, from the Tools menu, click Internet Options, and then select the Advanced tab. Clear the Use HTTP 1.1 and Use HTTP 1.1 through proxy connections check boxes.
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article. REFERENCESFor additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
258425 Unable to Specify HTTP Version by Using HttpOpenRequest()
Hypertext Transfer Protocol -- HTTP/1.1
Modification Type: | Major | Last Reviewed: | 10/2/2003 |
---|
Keywords: | kbbug KB263754 |
---|
|