[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

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

763.0. "PROBLEM: DAP exits with ACCVIO" by RIVAGE::LAVILLAT () Fri Mar 01 1991 08:06

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.RTitleUserPersonal
Name
DateLines
763.1Don't overfeed us, or we'll puke!TOOK::GUERTINE = mccFri Mar 01 1991 09:4811
    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.2When in doubt, ACCVIOTOOK::GUERTINE = mccFri Mar 01 1991 15:5417
    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.3Thanks, but now pb with FCL ...TENERE::LAVILLATMon Mar 04 1991 04:29145
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.4Ask the FCL peopleTOOK::KOHLSRuth KohlsMon Mar 04 1991 10:516
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.5boundaries, boundaries...TOOK::DITMARSPeteMon Mar 04 1991 11:5017
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.6set term/width=132TENERE::LAVILLATTue Mar 05 1991 04:1025
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.7TOOK::DITMARSPeteTue Mar 05 1991 09:229
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.8qar enteredGOSTE::J_CALLANDERTue Mar 12 1991 12:218
    
    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.