An application on a Windows CE .NET 4.2-based device stops responding after the application reconnects the Windows socket 256 times (900092)



The information in this article applies to:

  • Microsoft Windows CE .NET 4.2

SYMPTOMS

On a Microsoft Windows CE 4.2-based device, an application that calls the recv function shuts down and then reconnects the same Windows (Winsock) socket 256 times in succession. After the application reconnects the socket for the 256th time, the application calls the recv function, but the recv function does not respond. When this occurs, the application stops responding and the socket does not send the FIN signal to the remote end of the socket connection.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows CE 4.2 Core OS QFE 900092. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products

Prerequisites

This software update is supported only if all previously issued software updates for this product have also been installed.

Restart requirement

After you install this software update, you must perform a clean build of the whole platform. To clean the platform, click Clean on the Build menu. To build the platform, click Build Platform on the Build menu. You do not have to restart your computer after you apply this software update.

Software update replacement information

This software update does not replace any other software updates.

File information

The English version of this software update has the file attributes (or later file attributes) that are listed in the following table.
   Date         Time   Version         Size       File name
   --------------------------------------------------------------------------------------
   22-Aug-2005  23:26                  8,053,760  Wincepb42-050822-kb900092-armv4.msi
   22-Aug-2005  23:26                  8,054,784  Wincepb42-050822-kb900092-armv4i.msi
   22-Aug-2005  23:26                  8,084,480  Wincepb42-050822-kb900092-mipsii.msi
   22-Aug-2005  23:26                  8,084,480  Wincepb42-050822-kb900092-mipsii_fp.msi
   22-Aug-2005  23:26                  8,098,304  Wincepb42-050822-kb900092-mipsiv.msi
   22-Aug-2005  23:26                  8,098,816  Wincepb42-050822-kb900092-mipsiv_fp.msi
   22-Aug-2005  23:26                  8,015,360  Wincepb42-050822-kb900092-sh3.msi
   22-Aug-2005  23:26                  8,010,752  Wincepb42-050822-kb900092-sh4.msi
   22-Aug-2005  23:26                  7,961,600  Wincepb42-050822-kb900092-x86.msi
The English version of this software update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version         Size       File name
   --------------------------------------------------------
   Path: Public\Common\Oak\Lib\Armv4\Debug
   16-Aug-2005  20:33                  1,092,486  Tcp.lib

   Path: Public\Common\Oak\Lib\Armv4\Retail
   16-Aug-2005  20:33                    804,150  Tcp.lib

   Path: Public\Common\Oak\Lib\Armv4i\Debug
   16-Aug-2005  20:33                  1,093,794  Tcp.lib

   Path: Public\Common\Oak\Lib\Armv4i\Retail
   16-Aug-2005  20:33                    805,920  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsii\Debug
   16-Aug-2005  20:34                  1,125,120  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsii\Retail
   16-Aug-2005  20:33                    811,066  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsii_fp\Debug
   16-Aug-2005  20:34                  1,125,300  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsii_fp\Retail
   16-Aug-2005  20:34                    811,174  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsiv\Debug
   16-Aug-2005  20:34                  1,137,088  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsiv\Retail
   16-Aug-2005  20:34                    816,104  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsiv_fp\Debug
   16-Aug-2005  20:35                  1,137,268  Tcp.lib

   Path: Public\Common\Oak\Lib\Mipsiv_fp\Retail
   16-Aug-2005  20:34                    816,206  Tcp.lib

   Path: Public\Common\Oak\Lib\Sh3\Debug
   16-Aug-2005  20:35                    943,822  Tcp.lib

   Path: Public\Common\Oak\Lib\Sh3\Retail
   16-Aug-2005  20:35                    735,666  Tcp.lib

   Path: Public\Common\Oak\Lib\Sh4\Debug
   16-Aug-2005  20:35                    943,372  Tcp.lib

   Path: Public\Common\Oak\Lib\Sh4\Retail
   16-Aug-2005  20:35                    733,038  Tcp.lib

   Path: Public\Common\Oak\Lib\X86\Debug
   16-Aug-2005  20:33                    936,436  Tcp.lib

   Path: Public\Common\Oak\Lib\X86\Retail
   16-Aug-2005  20:32                    697,758  Tcp.lib
To work around this problem, configure the application to destroy the socket and create a new socket before the application reconnects the socket 256 times.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Modification Type:MinorLast Reviewed:7/25/2006
Keywords:kbBug kbfix kbQFE kbpubtypekc KB900092 kbAudOEM