FIX: A Message Queuing 3.0 message may not be acknowledged (902951)



The information in this article applies to:

  • Microsoft Message Queue Server (MSMQ) 3.0
  • Microsoft Windows Server 2003 SP1

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.

RESOLUTION

Hotfix information

A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Only apply it to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Windows Server 2003 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

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 x86-based systems
File nameFile versionFile sizeDateTimePlatform
Mqac.sys5.2.1918.255484,48022-Oct-200504:24x86
Mqad.dll5.2.1918.2554155,13622-Oct-200509:58x86
Mqads.dll5.2.1918.2554200,70422-Oct-200509:58x86
Mqbkup.exe5.2.1918.255430,20822-Oct-200504:25x86
Mqcertui.dll5.2.1918.25549,72822-Oct-200509:58x86
Mqclus.dll5.2.1918.255477,82422-Oct-200509:58x86
Mqdscli.dll5.2.1918.255449,66422-Oct-200509:58x86
Mqdssrv.dll5.2.1918.255451,71222-Oct-200509:58x86
Mqdssvc.exe5.2.1918.255467,58422-Oct-200504:25x86
Mqgentr.dll5.2.1918.255445,05622-Oct-200509:58x86
Mqise.dll5.2.1918.255429,18422-Oct-200509:58x86
Mqlogmgr.dll2001.12.4720.255475,26422-Oct-200509:58x86
Mqoa.dll5.2.1918.2554240,64022-Oct-200509:58x86
Mqperf.dll5.2.1918.255414,33622-Oct-200509:58x86
Mqqm.dll5.2.1918.2554834,56022-Oct-200512:46x86
Mqrt.dll5.2.1918.2554180,73622-Oct-200509:58x86
Mqrtdep.dll5.2.1918.2554125,44022-Oct-200509:58x86
Mqsec.dll5.2.1918.2554142,33622-Oct-200509:58x86
Mqsnap.dll5.2.1918.2554540,16022-Oct-200509:58x86
Mqsvc.exe5.2.1918.25546,14422-Oct-200504:25x86
Mqtgclus.dll5.2.1918.255431,74422-Oct-200509:58x86
Mqtgsvc.exe5.2.1918.255486,52822-Oct-200504:25x86
Mqtrig.dll5.2.1918.2554140,28822-Oct-200509:58x86
Mqupgrd.dll5.2.1918.255454,78422-Oct-200509:58x86
Msmqocm.dll5.2.1918.2554250,36822-Oct-200509:58x86
Windows Server 2003 x64 editions
File nameFile versionFile sizeDateTimePlatform
Mqac.sys5.2.1918.2554154,11222-Oct-200513:00x64
Mqad.dll5.2.1918.2554372,73622-Oct-200513:00x64
Mqads.dll5.2.1918.2554385,02422-Oct-200513:00x64
Mqbkup.exe5.2.1918.255447,61622-Oct-200513:00x64
Mqcertui.dll5.2.1918.255413,82422-Oct-200513:00x64
Mqclus.dll5.2.1918.2554133,12022-Oct-200513:00x64
Mqdscli.dll5.2.1918.255476,28822-Oct-200513:00x64
Mqdssrv.dll5.2.1918.255495,23222-Oct-200513:00x64
Mqdssvc.exe5.2.1918.2554119,80822-Oct-200513:00x64
Mqgentr.dll5.2.1918.255473,21622-Oct-200513:00x64
Mqise.dll5.2.1918.255443,00822-Oct-200513:00x64
Mqlogmgr.dll2001.12.4720.2554125,95222-Oct-200513:00x64
Mqoa.dll5.2.1918.2554363,00822-Oct-200513:00x64
Mqperf.dll5.2.1918.255419,45622-Oct-200513:00x64
Mqqm.dll5.2.1918.25541,721,85622-Oct-200513:00x64
Mqrt.dll5.2.1918.2554314,88022-Oct-200513:00x64
Mqrtdep.dll5.2.1918.2554209,40822-Oct-200513:00x64
Mqsec.dll5.2.1918.2554259,58422-Oct-200513:00x64
Mqsnap.dll5.2.1918.2554945,15222-Oct-200513:00x64
Mqsvc.exe5.2.1918.25548,19222-Oct-200513:00x64
Mqtgclus.dll5.2.1918.255444,03222-Oct-200513:00x64
Mqtgsvc.exe5.2.1918.2554180,22422-Oct-200513:00x64
Mqtrig.dll5.2.1918.2554281,08822-Oct-200513:00x64
Mqupgrd.dll5.2.1918.255495,74422-Oct-200513:00x64
Msmqocm.dll5.2.1918.2554419,32822-Oct-200513:00x64
Windows Server 2003 for Itanium-based systems
File nameFile versionFile sizeDateTimePlatform
Mqac.sys5.2.1918.2554297,47222-Oct-200512:57IA-64
Mqad.dll5.2.1918.2554521,72822-Oct-200512:57IA-64
Mqads.dll5.2.1918.2554658,43222-Oct-200512:57IA-64
Mqbkup.exe5.2.1918.255485,50422-Oct-200512:57IA-64
Mqcertui.dll5.2.1918.255428,67222-Oct-200512:57IA-64
Mqclus.dll5.2.1918.2554237,05622-Oct-200512:57IA-64
Mqdscli.dll5.2.1918.2554134,14422-Oct-200512:57IA-64
Mqdssrv.dll5.2.1918.2554133,63222-Oct-200512:57IA-64
Mqdssvc.exe5.2.1918.2554230,40022-Oct-200512:57IA-64
Mqgentr.dll5.2.1918.2554145,92022-Oct-200512:57IA-64
Mqise.dll5.2.1918.255487,04022-Oct-200512:57IA-64
Mqlogmgr.dll2001.12.4720.2554228,35222-Oct-200512:57IA-64
Mqoa.dll5.2.1918.2554660,99222-Oct-200512:57IA-64
Mqperf.dll5.2.1918.255435,84022-Oct-200512:57IA-64
Mqqm.dll5.2.1918.25542,902,01622-Oct-200512:57IA-64
Mqrt.dll5.2.1918.2554553,98422-Oct-200512:57IA-64
Mqrtdep.dll5.2.1918.2554380,41622-Oct-200512:57IA-64
Mqsec.dll5.2.1918.2554463,87222-Oct-200512:57IA-64
Mqsnap.dll5.2.1918.25541,670,14422-Oct-200512:57IA-64
Mqsvc.exe5.2.1918.255413,31222-Oct-200512:57IA-64
Mqtgclus.dll5.2.1918.255483,45622-Oct-200512:57IA-64
Mqtgsvc.exe5.2.1918.2554328,19222-Oct-200512:57IA-64
Mqtrig.dll5.2.1918.2554453,63222-Oct-200512:57IA-64
Mqupgrd.dll5.2.1918.2554176,64022-Oct-200512:57IA-64
Msmqocm.dll5.2.1918.2554662,52822-Oct-200512:57IA-64

STATUS

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

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


Modification Type:MinorLast Reviewed:7/25/2006
Keywords:kbHotfixServer kbWinServ2003preSP2fix kbBug kbfix kbQFE kbpubtypekc KB902951 kbAudDeveloper kbAudITPRO