I have a strange behavior of my processes under QNX 4.25.
I try to explain my application and this malfunction.
I have a process which is waiting on ReceiveMx, and periodically he receives
either a message or a proxy from a timer or from an interrupt.
The data attached with the proxy are the same type as the first part of the
message, in fact is just an header ( 4 long words ) . The header contains an
message id from a limited set ( 1 … N )
My application runs 24h a day, and the process receives hundred of thousand
messages/proxy. and suddenly, he receives a incoherency message (a wrong
Firstly I have looked for in the sender code , but he transmits always the
same header. The data attached with my proxys are constant ( by QNX
construction ). If I analyse the datas in the header there are from on old
message ( the data part of a message ) and the most curious is the value
returned by the ReceiveMx call , in this case it’s also an old data and not
an error code nor the PID of the sender ( process or proxys ) !
To get these informations I have build a circular buffer which stores the
last 10 headers received, the PID of the sender and a message receive
counter. Then i write the buffer to a file when I detect a bad header and
stop the process. These test and store operations are directly after the
Has anyone met a similar problem ?