Microsoft KB Archive/902951

= FIX: A Message Queuing 3.0 message may not be acknowledged =

Article ID: 902951

Article Last Modified on 3/23/2007

-

APPLIES TO


 * Microsoft Message Queuing 3.0
 * Microsoft Windows Server 2003 Service Pack 1

-





SYMPTOMS
When you send a Microsoft Message Queuing 3.0 message between two servers that are running Microsoft Windows Server 2003 with Service Pack (SP1), the message may not be acknowledged. The receiving server seems to be unable to store the incoming message.

Specifically, the following problems occur:
 * The sending server keeps sending a transactional message after the 30-second default resend interval. The sending server does not increment the order acknowledgement.
 * The receiving server returns the same order acknowledgement and seems to be unable to store the message for unknown reasons.
 * The sending server closes the connection and then reconnects. However, the sending server never tries to resend the message.



CAUSE
This problem occurs because of a race condition. A token is used to identify the location of a message in the message list. The race condition allows for this token to be reused for a new message before the old message is removed from the list.



Service pack information
To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003

Prerequisites
You must install Windows Server 2003 SP1 before you apply this hotfix.

Restart requirement
You must restart the computer if the files that are being updated are running when you apply this hotfix.

Hotfix replacement information
This hotfix does not replace any other hotfixes.

File information
The English version of this hotfix 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.

Windows Server 2003 for Itanium-based systems


STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section. This problem was first corrected in Microsoft Windows Server 2003 Service Pack 2.



MORE INFORMATION
When a message arrives in Message Queuing 3.0, the message is put in a list, and an asynchronous write is issued. When the write finishes, the process finds the message in the list and then starts the next step for the message.

Therefore, when the write for a new message finishes, the process looks for the new message in the list. However, the process finds the old message instead. Because the write for the new message never appears to finish, the process stops processing the new message and all the following messages.

New messages keep being added to the list, but the new messages are never acknowledged. The new messages are never acknowledged because the write for the first message in the list never appears to finish.

For more information about how hotfix packages are named, click the following article number to view the article in the Microsoft Knowledge Base:

816915 New file naming schema for Microsoft Windows software update packages

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Additional query words: MSMQ

Keywords: kbwinserv2003sp2fix kbhotfixserver kbwinserv2003presp2fix kbbug kbfix kbqfe kbpubtypekc KB902951

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.