| 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 |
I know my TYPE definition is ugly, but...
Here is a sample session :
RIVAGE_$ mana/tool/spec test.ms
DECmcc Management Specification Language Translation Tool
Version V1.1.0
%MCCMSL-S-NORMAL, Scan of MS file has completed successfully
RIVAGE_$ mana/tool
DECmcc Dictionary Administrator Program Version V1.1.0
DAP> load class test from test.com
%SYSTEM-F-ACCVIO, access violation, reason mask=05, virtual address=0326E414, PC
=0007DBF6, PSL=0BC00004
Improperly handled condition, image exit forced.
Signal arguments Stack contents
Number = 00000005 0007DBEC
Name = 0000000C 00000000
00000005 003C0000
0326E414 7FE4C1E8
0007DBF6 7FE4C1C0
0BC00004 000C961F
0326E414
00000002
0326E414
00000000
Register dump
R0 = 04140004 R1 = 7FE4C278 R2 = 00000004 R3 = 0326E414
R4 = 00000000 R5 = 00000000 R6 = 00000083 R7 = 7FE4CE1E
R8 = 00008F24 R9 = 000F8F5E R10= 00000001 R11= 7FE4CE32
AP = 7FE4C15C FP = 7FE4C11C SP = 7FE4C198 PC = 0007DBF6
PSL= 0BC00004
RIVAGE_$ ty test.ms
MANAGEMENT SPECIFICATION TEST_SVC_IF;
VERSION = X0.1.0;
SYMBOL-PREFIX = MCC_;
(* Description: GMA_TEST AM Service Interface Specification *)
(* BEGIN Type definitions *)
TYPE
dayname = 9028 (
Monday = 1,
Thusday = 2,
Wenesday = 4,
Saturday = 32,
Sunday = 64 );
TYPE hourtyp = 9029 Unsigned8 [0..23]; (* No ACCVIO if not SUBRANGE *)
TYPE minutetyp = 9030 Unsigned8 [0..59]; (* No ACCVIO if not SUBRANGE *)
TYPE time24 = 9031 RECORD
hour = 1 : hourtyp;
minute = 2 : minutetyp;
END RECORD;
TYPE singleintervalofday = 9032 RECORD
start = 1 : time24;
end = 2 : time24;
END RECORD;
TYPE Daysofweektyp = 9033 SEQUENCE OF dayname;
TYPE dailyschedulingtyp = 9035 SET OF singleintervalofday;
TYPE weekmasktyp = 9034 RECORD
daysofweek = 1 : Daysofweektyp;
Intvlsofdays = 2 : dailyschedulingtyp;
END RECORD;
TYPE weeklyschedulingtyp = 9036 RECORD
starttime = 1 : BinAbsTim;
endtime = 2 : BinAbsTim;
weekmask = 3 : weekmasktyp;
END RECORD;
GLOBAL ENTITY TEST = 9999 :
IDENTIFIER = ( Name ),
DYNAMIC = TRUE,
SYMBOL = CLASS_GMA_TEST,
IDENTIFIER ATTRIBUTES
ATTRIBUTE Name = 1 : Phase4Name
DNS_IDENT = PRIMARY_NAME,
ACCESS = NONSETTABLE,
DISPLAY = TRUE,
SYMBOL = TEST_NAME,
CATEGORIES = ( CONFIGURATION )
END ATTRIBUTE Name;
END ATTRIBUTES;
CHARACTERISTIC ATTRIBUTES
ATTRIBUTE Weekly Package = 6 : weeklyschedulingtyp
ACCESS = SETTABLE,
DISPLAY = TRUE,
SYMBOL = WP,
CATEGORIES = ( CONFIGURATION )
END ATTRIBUTE Daily Package;
END ATTRIBUTES; (* CHARACTERISTIC *)
STATUS ATTRIBUTES
END ATTRIBUTES; (* STATUS *)
COUNTER ATTRIBUTES
END ATTRIBUTES; (* COUNTER *)
END ENTITY TEST;
END SPECIFICATION TEST_SVC_IF;
RIVAGE_$
Voil� ...
Regards
Pierre.
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 763.1 | Don't overfeed us, or we'll puke! | TOOK::GUERTIN | E = mcc | Fri Mar 01 1991 09:48 | 11 |
You seem to have hit the limits of what the Dictionary, DAP and ILV can
do. The ACCVIO is occuring in an mcc_ilv_put() routine call inside the
DAP code which is encoding that very complex datatype definition. I
looked at the DAP .COM file which was produced by your .MS file, and it
looks like the MSL Translator is generating an ILV encoding which is
about 15 levels deep. That may be too much for ILV to handle. In any
case, the code should never ACCVIO, and I will QAR it. Meanwhile, I
think you will just have to try and figure out a simplier structure.
-Matt.
| |||||
| 763.2 | When in doubt, ACCVIO | TOOK::GUERTIN | E = mcc | Fri Mar 01 1991 15:54 | 17 |
After a thorough analysis of the problem, we have discovered that the
mcc_ilv_put_cons_begin() routine only supports a nesting of 11 levels
of ILV encoding, anything greater than that causes an ACCVIO. The
datatypes which you define in your MS file are stored in the Dictionary
as ILV encodings, so you have indirectly stumbled upon this limitation.
Since other datatype information is stored with each nested datatype
declaration, it works out to about 5 nested datatypes (two ILV levels
for each datatype declaration) within a complex datatype declaration.
We will be extending this at some future release, however, for now, the
limit to the number of nested datatype declarations in the MCC MSL
translator is 5. MSL does not check, nor does DAP check if the limit
is exceeded, we just ACCVIO on you when you go to load the dictionary
with it. We will come up with a nicer way of telling you that you have
hit the limit for V1.2, unfortunately, V1.1 is already in SSB land.
-Matt.
| |||||
| 763.3 | Thanks, but now pb with FCL ... | TENERE::LAVILLAT | Mon Mar 04 1991 04:29 | 145 | |
Thanks for the detailed reply.
I have simplified my TYPE definition by suppressing the subrange definition
for hourtyp and minutetyp ( they now are simple Unsigned8 ).
This allow my definition to be accepted by the DAP.
I have done my ILV encoding for this type and tested it with both
Iconic Map PM and FCL.
I had no problem with the Iconic Map PM, but the FCL goes into an endless
loop when trying to display the output (parsing in input is fine).
My test is a SET, the response contains the value of the attribute.
Follow my session with FCL :
TENERE_$ mana/ent
DECmcc (V1.1.0)
MCC> set gma 1 e 1 wee p = -
_MCC> ( starttime = 8:00:00 ,-
_MCC> endtime = 8:00:00 ,-
_MCC> weekmask = ( daysofweek = ( monday , sunday ), -
_MCC> intvlsofdays = (( start = ( hour = 8 , minute = 0) ,-
_MCC> end = ( hour = 18 , minute = 0) )) ))
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 2
PARTITION code: 4
AES dump of ENTITY IN:
depth=2 class code= 9501 instance = 1 class code= 125 instance = 1
ILV dump of IN_P:
[ 0 ] (
[ 1 ] (
[ 6 ] (
[ 1 ] 0d
[ 3 ] 00
[ 4 ] (
[ 1 ] 60 61 69 4e b3 da c9 01 ff ff ff ff ff ff
60 1a
[ 2 ] 00 e8 6a 4e b3 da c9 01 ff ff ff ff ff ff
60 1a
[ 3 ] (
[ 1 ] (
[ 1 ] 01
[ 1 ] 40 -- @
)
[ 2 ] (
[ 1 ] (
[ 1 ] (
[ 1 ] 08
[ 2 ] 00
)
[ 2 ] (
[ 1 ] 12
[ 2 ] 00
)
)
)
)
)
)
)
)
ILV dump of IN_Q: in_q is NULL
TIME SPEC is: 0, NOW
**********************************************
FCL PM Arguments on return from call_function:
CVR returned:
%MCC-S-RESPONSE, success with response reply
ILV dump of OUT_P:
[ 1 ] (
[ 1 ] (
[ 6 ] (
[ 1 ] 0d
[ 3 ] 00
[ 4 ] (
[ 1 ] 60 61 69 4e b3 da c9 01 ff ff ff ff ff ff
60 1a
[ 2 ] 00 e8 6a 4e b3 da c9 01 ff ff ff ff ff ff
60 1a
[ 3 ] (
[ 1 ] (
[ 1 ] 01
[ 1 ] 40 -- @
)
[ 2 ] (
[ 1 ] (
[ 1 ] (
[ 1 ] 08
[ 2 ] 00
)
[ 2 ] (
[ 1 ] 12
[ 2 ] 00
)
)
)
)
)
)
)
)
AES dump of ENTITY OUT:
depth=2 class code= 9501 instance = 1 class code= 125 instance = 1
GMA_TEST 1 EVENTLOG 1
AT 4-MAR-1991 10:11:14 Characteristics
Examination of attribute shows:
Weekly Package = ( starttime = 4-MAR-1991
08:00:00.63,
endtime = 4-MAR-1991
08:00:00.64,
weekmask = ( daysofweek
= (
[ Display blank lines forever ... ]
%MCC-E-ABORTCTRLY, image aborted by Ctrl\Y
TENERE_$
Regards
Pierre.
| |||||
| 763.4 | Ask the FCL people | TOOK::KOHLS | Ruth Kohls | Mon Mar 04 1991 10:51 | 6 |
See notes 759.3, (I think...or one of the other replies to 759). The Console has some limitations around datatypes that MSL and DAP do not. Jill Callander can probably say what they are. Ruth Kohls | |||||
| 763.5 | boundaries, boundaries... | TOOK::DITMARS | Pete | Mon Mar 04 1991 11:50 | 17 |
Hi, Can you do me a favor by doing the test in .3 with your terminal width set to 132? Or do a MCC> USE INDENTATION 12 (or something similarly low) before doing your SET. I think FCL is fumbling while trying to maintain an indentation level that exceeds the screens width. thanks, Pete | |||||
| 763.6 | set term/width=132 | TENERE::LAVILLAT | Tue Mar 05 1991 04:10 | 25 | |
Thanks, it worked !!!
With a 132 col. terminal I got :
GMA_TEST 1 EVENTLOG 1
AT 5-MAR-1991 09:56:40 Characteristics
Examination of attribute shows:
Weekly Package = ( starttime = 5-MAR-1991 08:00:00.33,
endtime = 5-MAR-1991 08:00:00.34,
weekmask = ( daysofweek = ( Monday,
Sunday ),
Intvlsofdays = { ( start = ( hour = 8,
minute = 0 ),
end = ( hour = 18,
minute = 0 ) ) }
) )
So it is not a FCL limitation on ILV depth, but on terminal width ? ^)
I have tried with 80 col. and USE INDENTATION 20 (min. value) with no success.
Thanks
Pierre
| |||||
| 763.7 | TOOK::DITMARS | Pete | Tue Mar 05 1991 09:22 | 9 | |
thanks. >So it is not a FCL limitation on ILV depth, but on terminal width ? ^) Correct. FCL's wrapping/indentation algorithm isn't smart enough to know what to do when the indentation level is greater than the screen's width. We need a modulo function in there somewhere. that's quite the record structure you've got there. | |||||
| 763.8 | qar entered | GOSTE::J_CALLANDER | Tue Mar 12 1991 12:21 | 8 | |
I love it when I go away on vacation and all these new qars pop
up....
This has been entered in the MCC_INTERNAL data base as qar 561.
Thanks for finding it.
| |||||