Title: | DECmcc user notes file. Does not replace IPMT. |
Notice: | Use IPMT for problems. Newsletter location in note 6187 |
Moderator: | TAEC::BEROUD |
Created: | Mon Aug 21 1989 |
Last Modified: | Wed Jun 04 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 6497 |
Total number of notes: | 27359 |
Can there be a problem with event filtering ? In this example, the getevent is waiting for only 1 sinle event. The event_trace shows that the filter is set-up for event #2, which is right. The Event sink program, injects an event with #1. The getevent directive continues, (instead of waiting) and shows the event #1 ... which was not wanted. Regards, Dominique. ******************************************************************************* Event report using a GETEVENT directive. ******************************************************************************* $ manage/enter getevent uaf pacco spec att DECmcc (V1.1.0) %MCC-S-NORMAL, normal successful completion Tracing error paths in Event Manager Tracing Event code path in GET Tracing Event code path in PUT Event_Get starting Event_Get processing Partition argument Event_Get Input Arguments ... in_entity = entity [0] wild = NOT_WILD class = 33 id = 1 type = 4 instance = ..PACCO %X0105504143434F Partition = 15 Filter = 2 time_spec = MCC_K_NULL_PTR Handle context not set up yet Event_Get handle state = MCC_K_HANDLE_FIRST Event_Get building a PRMB for this request Event_Get creating a Heartbeat thread for this request Event_Get setting the Heartbeat thread-id 1000A Event_Get creating TimeStamps Event_Get requesting NEXT event Going to wait for the event now... Event_Get was Signalled Copying Event Data to user supplied buffers Event_Get converting time to supplied time type Event_Get deleting global event data Event_Get performing general clean up THUMP! Failed to dequeue event: %MCC-E-NOMOREVT, no more events in event queue Event_Get Output Arguments ... Handle context not set up yet out_entity = entity [0] wild = NOT_WILD class = 33 id = 1 type = 4 instance = ..pacco %X0105706163636F timestamp = 8-OCT-1991 17:11:00.18 Event Code = 1 Event Data = Dump of MCC Descriptor reveals: mcc_w_maxstrlen = 1024 mcc_b_dtype = DSC_K_DTYPE_T mcc_w_curlen = 12 mcc_b_flags = 0 mcc_b_ver = 1 mcc_l_id = 1 mcc_l_dt = MCC_K_DT_ILV mcc_a_pointer = �...�...�... %XA1820008A1820004A1820000 mcc_a_link = MCC_K_NULL_PTR Event_Get completed uaf pacco AT 8-OCT-1991 17:11:00 CONFIGURATION UAF event received Attention, event without argument ******************************************************************************* Event sink program, which caused the previous event. ******************************************************************************* $ run uaf_event UAF Entity instance : pacco AES Dump of entity : entity [0] wild = NOT_WILD class = 33 id = 1 type = 4 instance = ..pacco %X0105706163636F UAF Event code (1,2): 1 ILV Dump of event report : [ 1 ] ( [ 1 ] ( [ 1 ] ( ) ) ) Tracing error paths in Event Manager Tracing Event code path in GET Tracing Event code path in PUT Event_Put starting Event_Put processing Partition argument Event_Put Input Arguments ... entity [0] wild = NOT_WILD class = 33 id = 1 type = 4 instance = ..pacco %X0105706163636F Partition = 15 Event Code = 1 Event Data = Dump of MCC Descriptor reveals: mcc_w_maxstrlen = 128 mcc_b_dtype = DSC_K_DTYPE_T mcc_w_curlen = 12 mcc_b_flags = 0 mcc_b_ver = 1 mcc_l_id = 1 mcc_l_dt = MCC_K_DT_ILV mcc_a_pointer = �...�...�... %XA1820008A1820004A1820000 mcc_a_link = MCC_K_NULL_PTR Timestamp = 8-OCT-1991 17:11:00.18 Event_Put getting current time Event_Put converting user supplied time into BAT Event_Put building an EDS structure to store Event Data Event_Put creating an AHS Event_Put Locking Subscriber structures Event_Put Subscriber searching for first(/next) matching request Event_Put Subscriber Handle state = MCC_K_HANDLE_MORE Event_Put Subscriber Locking RMBs Event_Put Subscriber found Request for NEXT Event Event_Put Subscriber referencing Event Data Event_Put Subscriber building a Event Data Queue Element Event_Put Subscriber sending an Event to a Requestor Event_Put Subscriber Unlocking RMBs Event_Put Subscriber searching for first(/next) matching request Event_Put Subscriber Handle state = MCC_K_HANDLE_FIRST Event_Put Subscriber finished matching requests Event_Put Unlocking Subscriber structures Event_Put cleaning up $
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
1617.1 | Problem disappeared after DECmcc restart. | KETJE::PACCO | To manage you have to be a (manag..) skilled person! | Tue Oct 08 1991 18:28 | 6 |
Since the time DECmcc was restarted, I cannot reproduce this any more. I assume something interfered or was not defined correctly during the tests ... but it still remains a strange feeling. Dominique. | |||||
1617.2 | Looks nasty, but probably not a problem | TOOK::GUERTIN | Don't fight fire with flames | Wed Oct 09 1991 12:32 | 22 |
Yes. I know it looks bad. But I can assure you that when you pass down specific events, we match by using a "compare longword" machine instruction. For this to fail, the VAX would have to say that a 1 is exactly equal to a 2. But, there are other possibilities of course :-) ... You may have inadvertently thrown the Event Manager a curve ball. This might happen if you "quit" out the debugger, instead of "exit". Or perhaps you re-executed some code without "cancelling" the event_get handle, thereby somehow mapping TWO requests (an old obsolete one and the last correct one) to the same handle context. In other words, if there is an old request for event #1 still hanging around in the event pool, the event manager could on rare occasions (with the help of the developer or end user) be tricked into sending it to a requestor requesting event code #2. Just a theory I have. I'll try to look into it further. Meanwhile, please make sure that all Event_Get() calls are cancelled properly, and never use the "quit" command in the debugger (I'm sure that's in the release notes). Thanks for letting us know about this anomoly. -Matt. |