Separating out the server (process variables) and the client (sequence programs) into two separate processes seems to fix this issue. I used the same executable for both processes; though for the server I could have probably used softIoc.
So, the issue is perhaps the client part and the server part of ca_add_masked_array_event/ca_create_subscription tripping over each other if they run within the same process in this context.
I will test this workaround a little bit more. Any suggestions as to next steps for debugging are appreciated.
Regards,
Murali
From: Shankar, Murali
Sent: Tuesday, October 04, 2011 11:26 AM
To: '[email protected]'
Subject: Re: Sequence monitor not getting callback
I traced it down to ca_add_masked_array_event/ca_create_subscription as well.
In a recent run, I had 14 out of 2600 sequences not getting their monitor callbacks. I did a dbel on the non-functioning PV’s (H75 H73 H82 H78 H72 L52 L54 P93 R71 R80 V82 V71 V86 Z80) and a couple of functioning ones (A01 A75). The results are pasted below. The ones that are not getting their monitor callbacks called seem to have a fair number of “undelivered” or “discarded by replacement” messages. The ones that are functioning have “queue empty”. Is this expected?
Any suggestions as to next steps for debugging are appreciated.
<<snip>>