Microsoft KB Archive/235932

From BetaArchive Wiki
Knowledge Base


Article ID: 235932

Article Last Modified on 3/26/2004



APPLIES TO

  • MSMQ - MQSeries Bridge



This article was previously published under Q235932

SYMPTOMS

Microsoft Message Queue (MSMQ) messages sent from AS400 result in event log errors indicating memory exception.

CAUSE

The bridge attempts to receive messages starting with a zero length buffer. This should result in a error that is handled by the bridge and returns the size of the required buffer. The bridge should then allocate an appropriate size buffer and receives the message. However, the AS400 is not sending a valid length when you first perform do MQGET with a zero length buffer. Instead it is returning an extremely large value that is greater than the size of available memory. This only happens when first receiving messages from the queue after initialization and when the size of the received message is less than 112 bytes.

RESOLUTION

The bridge code was changed to use a minimum of 1024 bytes when calling MQGET.

STATUS

Microsoft has confirmed this to be a problem in SNA Server version 4.0. This problem has been corrected in the latest U.S. service pack for SNA Server version 4.0. For information on obtaining the service pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

S E R V P A C K




Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Fixed in SNA Server Version 4.0 SP3

MORE INFORMATION

The event log will indicate a memory exception as shown in this sample log entry:

d:\Program Files\MSMQ-MQSeries Bridge\Q2QGW.EXE (thread 300) ->
Q2FD_Thread: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qgw.cpp (), line 113
(compiled 18:43:49 on Dec 17 1998)
<<Passing it on>>
CQ2QChannel::Run: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qchnls.cpp (), line 206
(compiled 18:43:24 on Dec 17 1998)
<<Passing it on>>
CQ2QChannelQ2FD::MsgPipeQ2FD::MoveBatch: Error in
e:\vss\falconmq\wing\q2q\q2qgw\q2qchnls.cpp ()
<<Passing it on>>
CQ2QMQSeriesR::Receive: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qmqsr.cpp
(from ), line 778
(compiled 18:43:52 on Dec 17 1998)
<<Passing it on>>
CQ2QMsgQ::Buf: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qcmsg.cpp (from) , line 621
(compiled 18:43:31 on Dec 17 1998)
<<Memory exception>>


                


Additional query words: msmq bridge memory error

Keywords: kbbug kbfix kbmsmq100fix KB235932