[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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 |
1893.0. "NOTIFICATION FM bug ?" by KETJE::PACCO (To manage you have to be a (manag..) skilled person!) Sun Dec 08 1991 13:43
Detailed analysis of problem statement originated in note #1866.0
This is based on DECmcc BMS V1.1.
Problem statement:
The result of a OCCURS type rule is different in the ICONIC MAP
compared to the same rule in the FCL_PM.
The FCL works as expected
The ICONIC map gives "MCC-E-INV_DNSIDENT,..."
Context of the problem:
This first test is only to allow comparison.
On the FCL_PM Notification is first enabled
Then ONE rule "GAB_card_kept" is enabled.
e.g.
MCC> notify domain DECtown
MCC> enable domain DECtown rule GAB_card_kept
Every time an unsolicited event is generated, the Notification shows
the event regularly.
The problem sequence is as follows.
On the ICONIC MAP Notification is first enabled
Then ONE rule "GAB_card_kept" is enabled.
Instead of receiving a notification for the domain, a window with
"MCC-E-INV_DNSIDENT,..." is displayed.
It seems now that for one or another reason the NOTIFICATION disables its
activities after having detected that error. The ALARMS FM seems to work
correctly, because the only action to RESET from the problem, is to
DISABLE NOTIFICATION, and ENABLE NOTFICATION over again. I suspect there could
be a bug in the NOTIFICATION FM, related to the presentation functions on
the ICONIC MAP, because the notification FM only calls the
ALARMS FM, which should be robust enough to filter any error an access
module could produce. Also the notifications on the FCL works perfectly.
How can the cause of the error be determined ? Is the following trace clear
enough, or eventually can something more be done ?
Regards,
Dominique.
The following trace was got from the ICONIC MAP version, with the logical names
MCC_EVENT_LOG = 1
MCC_EVENT_TRACE = 180
THUMP!
>>> Rule GAB_CARD_KEPT is being enabled >>>>
THUMP!
THUMP!
THUMP!
Event_Put starting
Event_Put processing Partition argument
Event_Put Input Arguments ...
p_ent_spec =
period_end is NULL
entity [0] wild = NOT_WILD class = 8 id = 0 type = 5
instance = �....��3��.......DECTOWN..
%XAA0004000FC0C033B6E6B90393000B000107444543544F574E0000
entity [1] wild = NOT_WILD class = 5 id = 1 type = 4
instance = ..GAB_card_kept
%X010D4741425F636172645F6B657074
Partition = 15
Event Code = 29
Event Data =
Dump of MCC Descriptor reveals:
mcc_w_maxstrlen = 512
mcc_w_curlen = 55
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 29
mcc_l_dt = MCC_K_DT_ILV
mcc_a_pointer = �..3.1(OCCURS (GAB DECTOWN:.brsadv READER any event)).
%XBD8200339531284F4343555253202847414220444543544F574E3A2E627273616476205245
414445522020616E79206576656E74292900
mcc_a_link = MCC_K_NULL_PTR
Timestamp = 8-DEC-1991 17:40:57.11
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_FIRST
Event_Put Subscriber finished matching requests
Event_Put Unlocking Subscriber structures
Event_Put cleaning up
>>> Now main code of the GAB_AM for the "getevent" verb handling.
Input entity AES dump
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 5
instance = �....��3��.......brsadv..
%XAA0004000FC0C033B6E6B90393000A0001066272736164760000
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
Return from VALDT_CALL_ARGS: 52854793
>>> This handle is the one received from the Information Manager
Handle state FIRST
Return from CREATE_CONTEXT: 52854793
Return from MAPMCCREQUEST: 52854793
Return from CONNECT: 52854793
Return from NA_SEND: 52854793
Return from GET_GAB_RESPONSE: 52854793
Return from MAPGABRSP: 52854793
Return from BUILD_EVENT_ENTITY: 52854793
Return from BUILD_EVENT_FILTER: 52854793
>>> This handle is the one created by the GAB_AM, and offered to
>>> the mcc_event_get call.
EVTHandle state prior mcc_event_get FIRST
>>> Now tracing for the mcc_event_get call of the GAB_AM.
Event_Get starting
Event_Get processing Partition argument
Event_Get Input Arguments ...
in_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
Partition = 15
Filter = MCC_K_NULL_PTR
time_spec =
time frame at a878c0 hex
schedule
is NULL
scope
contains 1 elements
element 0
begin is ABSOLUTE: 8-DEC-1991 17:40:58.84
end is ABSOLUTE: 25-JUN-1992 17:40:58.84
periodicity is NULL
period_end is NULL
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 200BC
Event_Get creating TimeStamps
Event_Get creating a Maintainer thread for this request
Waiting until -> 8-DEC-1991 17:41:01.01
Waiting until -> 8-DEC-1991 17:41:01.01Event_Get setting Maintainer thread-id 1
00BE
Start_time = 8-DEC-1991 17:40:58.84
Event_Get setting Handle state to MCC_K_HANDLE_MORE
End_time = 25-JUN-1992 17:40:58.84
Going to wait for the event now...
FINAL wait time -> 25-JUN-1992 17:40:58.84
THUMP!
THUMP!
THUMP!
THUMP!
THUMP!
THUMP!
>>> Event signalled (for rule GAB_CARD_KEPT) >>>>
THUMP!
THUMP!
>>> The Event_Get Trace is for the mcc_event_get call from the GAB_AM
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
Event_Get Output Arguments ...
Context Ident = 135ACE
Next RMB = 0, Prev RMB = 77DA70
PRB List = 77E570, HEAD_EDQ = 77E450
SOI start = 8-DEC-1991 17:40:58.84
SOI end = 25-JUN-1992 17:40:58.84
TIME_STAMP = 8-DEC-1991 16:41:01.02
Heartbeat Thrid = 0, Timeout Thrid = 0
FLAGS: Frozen = 0, Delete = 0, Next = 0
out_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
timestamp = 8-DEC-1991 17:41:58.25
Event Code = 3
Event Data =
Dump of MCC Descriptor reveals:
mcc_w_maxstrlen = 2048
mcc_b_dtype = DSC_K_DTYPE_T
mcc_w_curlen = 31
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 2
mcc_l_dt = MCC_K_DT_ILV
mcc_a_pointer = �...�...�.....144-8521415-45...
%XA282001BA1820017A3820013810E3134342D383532313431352D3435820101
mcc_a_link = MCC_K_NULL_PTR
Event_Get completed
>>> Now we are in the main code og the GAB_AM for the "getevent" verb.
Return from MCC_EVENT_GET: 52854793
EVTHandle resulting state MORE
Handle resulting state MORE
Output parameter ILV dump
[ 2 ] (
[ 1 ] (
[ 3 ] (
[ 1 ] 31 34 34 2d 38 35 32 31 34 31 35 2d 34 35 -- 144
-8521415-45
[ 2 ] 01
)
)
)
>>> Going away from the GAB_AM, and entering into the ALARMS_FM ???
Event_Put starting
Event_Put processing Partition argument
Event_Put Input Arguments ...
entity [0] wild = NOT_WILD class = 8 id = 0 type = 5
instance = �....��3��.......DECTOWN..
%XAA0004000FC0C033B6E6B90393000B000107444543544F574E0000
entity [1] wild = NOT_WILD class = 5 id = 1 type = 4
instance = ..GAB_card_kept
%X
010D4741425F636172645F6B657074
Partition = 16
Event Code = 25
Event Data =
Dump of MCC Descriptor reveals:
mcc_w_maxstrlen = 512
mcc_w_curlen = 179
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 25
mcc_l_dt = MCC_K_DT_ILV
mcc_a_pointer = �..�..u�..q�..+..........�..e.....BRSADV�................
...Card Kept has occurred 8-DEC-1991 17:41:58.25..�V.Hp��.......<..1(OCCURS (GA
B DECTOWN:.brsadv READER any event))....
%XB98200AFBB820075A1820071A182002BA0820015810101820203FC83016584011885064252
53414456A182000E8101018201018301008401008500822E43617264204B65707420686173206F63
6375727265642020382D4445432D313939312031373A34313A35382E32358310E856024870B5CA01
FFFFFFFFFFFF3C109531284F4343555253202847414220444543544F574E3A2E6272736164762052
45414445522020616E79206576656E742929009D0104
mcc_a_link = MCC_K_NULL_PTR
Timestamp = 8-DEC-1991 17:42:00.35
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 matching Request Start Time of 8-DEC-1991 17:38:34.16
Event_Put Subscriber matching Request End Time of 28-NOV-9723 23:59:59.99
Event_Put Subscriber found Request with matching time range
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_MORE
Event_Put Subscriber Locking RMBs
Event_Put Subscriber matching Request Start Time of 8-DEC-1991 17:18:30.60
Event_Put Subscriber matching Request End Time of 28-NOV-9723 23:59:59.99
Event_Put Subscriber found Request with matching time range
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_MORE
Event_Put Subscriber Locking RMBs
Event_Put Subscriber matching Request Start Time of 8-DEC-1991 17:02:10.57
Event_Put Subscriber matching Request End Time of 28-NOV-9723 23:59:59.99
Event_Put Subscriber found Request with matching time range
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_MORE
Event_Put Subscriber Locking RMBs
Event_Put Subscriber matching Request Start Time of
Event_Put Subscriber matching Request End Time of
Event_Put Subscriber timestamp does not fall within Request timerange
Event_Put Subscriber Unlocking RMBs
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 marked for Delete
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
>>> Here it seems that the NOTIFICATION_FM got its event to show on the Iconic
>>> MAP
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
Event_Get Output Arguments ...
Context Ident = 135ACE
Next RMB = 77CF80, Prev RMB = 77D3F0
PRB List = 77CF20, HEAD_EDQ = 77D580
SOI start = 8-DEC-1991 17:38:34.16
SOI end = 28-NOV-9723 23:59:59.99
TIME_STAMP = 8-DEC-1991 16:41:35.35
Heartbeat Thrid = 0, Timeout Thrid = 0
FLAGS: Frozen = 0, Delete = 0, Next = 0
out_entity =
entity [0] wild = NOT_WILD class = 8 id = 0 type = 5
instance = �....��3��.......DECTOWN..
%XAA0004000FC0C033B6E6B90393000B000107444543544F574E0000
entity [1] wild = NOT_WILD class = 5 id = 1 type = 4
instance = ..GAB_card_kept
%X010D4741425F636172645F6B657074
timestamp = 8-DEC-1991 17:42:00.35
Event Code = 25
>>>> At this very moment the error %MCC-E-INV_DNSIDENT is shown on Iconic MAP.
>>> At the same time NOTIFICATION seems to become inoperational
>>> Now tracing continues for the mcc_event_get call of the GAB_AM.
Event_Get starting
Event_Get processing Partition argument
Event_Get Input Arguments ...
in_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
Partition = 15
Filter = MCC_K_NULL_PTR
time_spec =
time frame at a878c0 hex
schedule
is NULL
scope
contains 1 elements
element 0
begin is ABSOLUTE: 8-DEC-1991 17:40:58.84
end is ABSOLUTE: 25-JUN-1992 17:40:58.84
periodicity is NULL
period_end is NULL
Context Ident = 135ACE
Next RMB = 0, Prev RMB = 77DA70
PRB List = 77E570, HEAD_EDQ = 77E450
SOI start = 8-DEC-1991 17:40:58.84
SOI end = 25-JUN-1992 17:40:58.84
TIME_STAMP = 8-DEC-1991 16:42:01.07
Heartbeat Thrid = 0, Timeout Thrid = 0
FLAGS: Frozen = 0, Delete = 0, Next = 0
Event_Get handle state = MCC_K_HANDLE_MORE
Going to wait for the event now...
THUMP!
THUMP!
>>> A new event is generated
THUMP!
THUMP!
THUMP!
>>> The Event_Get Trace is for the mcc_event_get call from the GAB_AM
THUMP!
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
Event_Get Output Arguments ...
Context Ident = 135ACE
Next RMB = 0, Prev RMB = 77DA70
PRB List = 77E570, HEAD_EDQ = 77E450
SOI start = 8-DEC-1991 17:40:58.84
SOI end = 25-JUN-1992 17:40:58.84
TIME_STAMP = 8-DEC-1991 16:51:28.53
Heartbeat Thrid = 0, Timeout Thrid = 0
FLAGS: Frozen = 0, Delete = 0, Next = 0
out_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
timestamp = 8-DEC-1991 17:51:16.32
Event Code = 3
Event Data =
Dump of MCC Descriptor reveals:
mcc_w_maxstrlen = 2048
mcc_b_dtype = DSC_K_DTYPE_T
mcc_w_curlen = 31
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 2
mcc_l_dt = MCC_K_DT_ILV
mcc_a_pointer = �...�...�.....162-8650740-79...
%XA282001BA1820017A3820013810E3136322D383635303734302D3739820101
mcc_a_link = MCC_K_NULL_PTR
Event_Get completed
>>> Now we are in the main code og the GAB_AM for the "getevent" verb.
Return from MCC_EVENT_GET: 52854793
EVTHandle resulting state MORE
Handle resulting state MORE
Output parameter ILV dump
[ 2 ] (
[ 1 ] (
[ 3 ] (
[ 1 ] 31 36 32 2d 38 36 35 30 37 34 30 2d 37 39 -- 162
-8650740-79
[ 2 ] 01
)
)
)
>>> Going away from the GAB_AM, and entering into the ALARMS_FM ???
Event_Put starting
Event_Put processing Partition argument
Event_Put Input Arguments ...
entity [0] wild = NOT_WILD class = 8 id = 0 type = 5
instance = �....��3��.......DECTOWN..
%XAA0004000FC0C033B6E6B90393000B000107444543544F574E0000
entity [1] wild = NOT_WILD class = 5 id = 1 type = 4
instance = ..GAB_card_kept
%X010D4741425F636172645F6B657074
Partition = 16
Event Code = 25
Event Data =
Dump of MCC Descriptor reveals:
mcc_w_maxstrlen = 512
mcc_w_curlen = 179
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 25
mcc_l_dt = MCC_K_DT_ILV
mcc_a_pointer = �..�..u�..q�..+..........�..e.....BRSADV�................
...Card Kept has occurred 8-DEC-1991 17:51:16.32.....q��.......<..1(OCCURS (GA
B DECTOWN:.brsadv READER any event))....
%XB98200AFBB820075A1820071A182002BA0820015810101820203FC83016584011885064252
53414456A182000E8101018201018301008401008500822E43617264204B65707420686173206F63
6375727265642020382D4445432D313939312031373A35313A31362E33328310009FA49471B5CA01
FFFFFFFFFFFF3C109531284F4343555253202847414220444543544F574E3A2E6272736164762052
45414445522020616E79206576656E742929009D0104
mcc_a_link = MCC_K_NULL_PTR
Timestamp = 8-DEC-1991 17:51:30.01
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 matching Request Start Time of 8-DEC-1991 17:38:34.16
Event_Put Subscriber matching Request End Time of 28-NOV-9723 23:59:59.99
Event_Put Subscriber found Request with matching time range
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_MORE
Event_Put Subscriber Locking RMBs
Event_Put Subscriber matching Request Start Time of 8-DEC-1991 17:18:30.60
Event_Put Subscriber matching Request End Time of 28-NOV-9723 23:59:59.99
Event_Put Subscriber found Request with matching time range
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_MORE
Event_Put Subscriber Locking RMBs
Event_Put Subscriber matching Request Start Time of 8-DEC-1991 17:02:10.57
Event_Put Subscriber matching Request End Time of 28-NOV-9723 23:59:59.99
Event_Put Subscriber found Request with matching time range
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_MORE
Event_Put Subscriber Locking RMBs
Event_Put Subscriber matching Request Start Time of
Event_Put Subscriber matching Request End Time of
Event_Put Subscriber timestamp does not fall within Request timerange
Event_Put Subscriber Unlocking RMBs
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 marked for Delete
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
>>> Now back in the GAB_AM to ready for the next mcc_event_get
Input entity AES dump
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 5
instance = �....��3��.......brsadv..
%XAA0004000FC0C033B6E6B90393000A0001066272736164760000
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
Return from VALDT_CALL_ARGS: 52854793
Handle state MORE
EVTHandle state prior mcc_event_get MORE
>>> The Event_Get Trace is for the mcc_event_get call from the GAB_AM
Event_Get starting
Event_Get processing Partition argument
Event_Get Input Arguments ...
in_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
Partition = 15
Filter = MCC_K_NULL_PTR
time_spec =
time frame at a878c0 hex
schedule
is NULL
scope
contains 1 elements
element 0
begin is ABSOLUTE: 8-DEC-1991 17:40:58.84
end is ABSOLUTE: 25-JUN-1992 17:40:58.84
periodicity is NULL
period_end is NULL
Context Ident = 135ACE
Next RMB = 0, Prev RMB = 77DA70
PRB List = 77E570, HEAD_EDQ = 77E450
SOI start = 8-DEC-1991 17:40:58.84
SOI end = 25-JUN-1992 17:40:58.84
TIME_STAMP = 8-DEC-1991 16:51:28.53
Heartbeat Thrid = 0, Timeout Thrid = 0
FLAGS: Frozen = 0, Delete = 0, Next = 0
Event_Get handle state = MCC_K_HANDLE_MORE
Going to wait for the event now...
THUMP!
THUMP!
>>> Although reaction always follows the on the unsolicited events,
>>> nothing "MOVES" any more on the screen.
THUMP!
THUMP!
T.R | Title | User | Personal Name | Date | Lines |
---|
1893.1 | DNS_IDENT = PRIMARY_NAME | DADA::DITMARS | Pete | Tue Dec 10 1991 09:53 | 52 |
| Here is what's going on. Upon receipt of the response from the Notification FM,
the Iconic Map attempts to translate the identifier of the global entity
mentioned in the notification response into the DNS primary identifier,
>>if necessary<<<. It will use the mcc_dns_translate_ident routine to do this.
The IMPM does this translation in order to match the incoming notification
with the icon for the entity that the notification applies to. In V1.1, all
entities/icons are stored in the IMPM using the DNS primary identifier. Most
entity classes I'm aware of chose an attribute with datatype FULLNAME as their
DNS primary identifier. Note that FCL doesn't do this because it doesn't have
to do any matching or correlation with the notifications it receives; it just
dumps them on the screen.
The cvr you're seeing is being returned from the call to mcc_dns_translate_ident
because the identifier passed to the routine is already a fullname.
Event_Put Input Arguments ... dt 5 == fullname
p_ent_spec = |
period_end is NULL v
entity [0] wild = NOT_WILD class = 8 id = 0 type = 5
instance = �....��3��.......DECTOWN..
%XAA0004000FC0C033B6E6B90393000B000107444543544F574E0000
I'm told that this is the expected behavior of mcc_dns_translate_ident.
So the question becomes "why is the IMPM calling mcc_dns_translate_ident?".
During startup, the IMPM peruses the dictionary and caches information about
all the global entity classes it finds. One piece of information cached is
the datatype that is associated with the identifier attribute that has the
following definition associated with it:
DNS_IDENT = PRIMARY_NAME,
From looking at the code, I believe the IMPM would stop in its tracks if it
found an entity class that didn't have at least one identifier attribute with
the above definition.
Since mcc_dns_translate_ident is being called on an entity whose dt is fullname,
it sounds like you've got DNS_IDENT = PRIMARY_NAME on an attribute with a
datatype other than fullname. So you're probably hitting a restriction
about the datatypes of primary/alternate identifier attributes that the IMPM can
support for notification.
If everything checks out in your .MS and you're still scratching your head,
can you post what the notification output from FCL looks like? Then, using the
entity that is shown in the output, do a SHOW <entity> ALL ATTR and post that
too. Finally, post the .MS that defines the GAB entity class.
regards,
Pete
|
1893.2 | <Problem still unsolved -- everything seems right> | KETJE::PACCO | | Mon Dec 16 1991 04:35 | 168 |
| Pete,
I follow your logic, but I still do not see the real cause of the
problem. I traced the information you asked for, which could be
related to the problem. The same problem applies to the Global
entity as to a Child entity.
Dominique.
$ manage/tool/dic
DECmcc Dictionary Administrator Program Version V1.1.0
DAP> show
Class (1) : BRIDGE 9
Class (1) : COMMON 52
Class (1) : DOMAIN 8
Class (1) : GAB 1020
Class (1) : MCC 7
Class (1) : NODE 1
Class (1) : NODE4 12
Class (1) : SAMPLE 15
Class (1) : SNMP 18
Class (1) : STATION 11
Class (1) : TERMINAL_SERVER 17
Class (1) : TRANSLAN 19
Class (1) : UAF 33
================================================================================MCC> enable domain dectown rule gab_broken
MCC> enable domain dectown rule gab_broken
Domain DECTOWN:.dectown Rule gab_broken
AT 16-DEC-1991 10:03:21
Normal operation has begun.
MCC>
!!!!!!!!!!!!!! Alarm, 16-DEC-1991 10:03:34 !!!!!!!!!!!!!!
Domain: DECTOWN:.DECtown Severity: Indeterminate
Entity: GAB BRSADV
Rule Name: gab_broken
Rule Expression: (OCCURS (GAB DECTOWN:.brsadv Equipment broken))
Rule gab_broken has fired
Data: GAB BRSADV Equipment Broken has occurred 16-DEC-1991 10:03:32.60 16-DEC-1
991 10:03:32.60
===>>> Now 3 possible ways to "identify" the global entity
>>> Primary Ident
>>> Alternate Ident
>>> Partial Primary Ident
MCC>
MCC> show GAB DECTOWN:.brsadv all attr
GAB DECTOWN:.brsadv
AT 16-DEC-1991 10:01:58 All Attributes
Address = 48.15
Name = DECTOWN:.brsadv
State = On
Montant Maxi = 1800 Francs
Nombre Essais = 1 Attempts
Type = "GABSim"
Location = ""
Phone Number = ""
Responsible Person = ""
MCC> show GAB 48.15 all attr
GAB 48.15
AT 16-DEC-1991 10:02:18 All Attributes
Address = 48.15
Name = DECTOWN:.brsadv
State = On
Montant Maxi = 1800 Francs
Nombre Essais = 1 Attempts
Type = "GABSim"
Location = ""
Phone Number = ""
Responsible Person = ""
MCC> show GAB brsadv all attr
GAB DECTOWN:.brsadv
AT 16-DEC-1991 10:02:25 All Attributes
Address = 48.15
Name = DECTOWN:.brsadv
State = On
Montant Maxi = 1800 Francs
Nombre Essais = 1 Attempts
Type = "GABSim"
Location = ""
Phone Number = ""
Responsible Person = ""
MCC>
===>>> Same behaviour for a child entity
================================================================================!!!!!!!!!!!!!! Alarm, 16-DEC-1991 10:00:44 !!!!!!!!!!!!!!
Domain: DECTOWN:.DECtown Severity: Warning
Entity: GAB BRSADV READER
Rule Name: gab_card_kept
Rule Expression: (OCCURS (GAB DECTOWN:.brsadv READER any event))
Rule gab_card_kept has fired
Data: GAB BRSADV READER Card Kept has occurred 16-DEC-1991 10:00:43.31 16-DEC-1
991 10:00:43.31
MCC>
MCC> show GAB DECTOWN:.brsadv READER all attr
GAB DECTOWN:.brsadv READER
AT 16-DEC-1991 10:01:43 All Attributes
Name = Noname
State = Empty
Cards kept = 2 Cards
Type = "READERSim"
================================================================================
...
GLOBAL ENTITY GAB = 1020 :
IDENTIFIER = ( Address,Name ),
SYMBOL = CLASS_GAB,
(* Description: GAB is a global entity *)
IDENTIFIER ATTRIBUTES
ATTRIBUTE Name = 101 : FullName
ACCESS = NONSETTABLE,
DNS_IDENT = PRIMARY_NAME,
DISPLAY = TRUE,
SYMBOL = GAB_NAME,
CATEGORIES = ( CONFIGURATION )
END ATTRIBUTE Name;
ATTRIBUTE Address = 102 : Phase4Address
ACCESS = NONSETTABLE,
DNS_IDENT = ALTERNATE_NAME,
DISPLAY = TRUE,
SYMBOL = GAB_ADDR,
CATEGORIES = ( CONFIGURATION )
END ATTRIBUTE Address;
END ATTRIBUTES; (* IDENTIFIER *)
...
CHILD ENTITY READER = 1 :
PARENT = ( GAB ),
IDENTIFIER = ( ),
DYNAMIC = TRUE,
SYMBOL = CLASS_GAB_READER,
(* Description: {text} *)
IDENTIFIER ATTRIBUTES
ATTRIBUTE Name = 201 : SimpleName
(* {text} *)
ACCESS = NONSETTABLE,
DISPLAY = TRUE,
SYMBOL = READER_NAME,
CATEGORIES = ( CONFIGURATION )
END ATTRIBUTE Name;
END ATTRIBUTES; (* IDENTIFIER *)
|
1893.3 | INV_DNSIDENT persists in V1.2 EFT. | KETJE::PACCO | | Tue Dec 17 1991 18:28 | 6 |
| INV_DNSIDENT persists in DECmcc V1.2 EFT.
But now I get the same error reported by the Notification FM
in the Iconic Map PM and in the FCL PM.
Dominique.
|
1893.4 | entity ID match its DT? | DADA::DITMARS | Pete | Wed Dec 18 1991 10:55 | 33 |
| Whoops, I think I was looking at the wrong entity in the dump. I was looking
at the DOMAIN RULE out_e, not the out_e from your getevent. Duh.
But I think I see a problem (now that I'm looking at the right entity and
the MSL).
According to your MSL, Identifier Attribute Name (101) is a fullname (dt 5),
and is the primary DNS identifier. Identifier attribute Address (102) is a
phase4address (dt 24).
The event_get/event_put in_e/out_e seems to be a mixture of the two:
ID dt
| |
v v
in_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
out_entity =
entity [0] wild = NOT_WILD class = 1020 id = 101 type = 24
instance = BRSADV
entity [1] wild = NOT_WILD class = 1 id = 0 type = 0
instance =
This won't hurt the event manager, but I'll bet it's confusing
mcc_dns_translate_ident.
The reason the Notification FM gets bitten by this in V1.2 is because it's
doing a translate_ident as well.
|
1893.5 | <Data Types must MATCH accurately> | KETJE::PACCO | | Thu Dec 19 1991 07:16 | 9 |
| Pete,
You have a wonderful feeling. This was the cause of the problem. I am
very happy now.
Thanks for your time, this will enable a wonderful demo.
Regards,
Dominique.
|