MSMQ on Win CE 4.1

G

Guest

Hello,

We are using MSMQ on Windows CE 4.1.

We are sending messages every 10 seconds to a private remote server queue.

The application is a C# application, and it uses a wrapper around MSMQ that
exposes one function for sending recoverable messages to that particular
queue. Each message is about 400-500bytes.

The MSMQ functions properly, until, at some moment, it simply stops sending
the messages, although the device is connected via GPRS. The new messages are
however stored by MSMQ until the maximum quota is reached. When the maximum
quota is reached, the wrapper returns MQ_ERROR_INSUFFICIENT_RESOURCES (fails
at call to MQSendMessage) for some time, and later it fails already by
calling MQOpenQueue.

In the MQLOGFILE.TXT I get the message:
"Reader thread for session mySession has been forcefully terminated. Memory
may have been leaked."

If the device is rebooted, MSMQ sends the messages that it has stored (if
there is a net connection) and it functions again properly for a while.

Is there any explanation for this behaviour? Could it be related to the
periodic cleanup of empty Message Queuing message files (does this apply to
MSMQ CE at all)?

Thank you,
Lucia.
 
P

Paul G. Tobey [eMVP]

Well, there are so many things that could be wrong, that you should probably
expect to spend several weeks trying to track it down. First of all, I'd
try to duplicate the problem where it stops sending using native code/C++.
If it *is* duplicated, make sure that the OS has been updated with all of
the QFEs. Once you have an updated OS on the device, if the problem still
occurs, you should probably build a debug build of the OS and capture the
serial debug output messages around the time when things stop working and
see what they say...

Paul T.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top