Microsoft KB Archive/235932

= FIX: Memory Exception Receiving Messages from AS400 =

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) <> CQ2QChannel::Run: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qchnls.cpp, line 206 (compiled 18:43:24 on Dec 17 1998) <> CQ2QChannelQ2FD::MsgPipeQ2FD::MoveBatch: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qchnls.cpp <> CQ2QMQSeriesR::Receive: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qmqsr.cpp (from ), line 778 (compiled 18:43:52 on Dec 17 1998) <> CQ2QMsgQ::Buf: Error in e:\vss\falconmq\wing\q2q\q2qgw\q2qcmsg.cpp (from), line 621 (compiled 18:43:31 on Dec 17 1998) <>

Additional query words: msmq bridge memory error

Keywords: kbbug kbfix kbmsmq100fix KB235932

-

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

© Microsoft Corporation. All rights reserved.