23             MIB Compiler Error Messages

Table 19: MIB Explorer SMI compiler error messages.

Error #

Message

Description/Solution

0000

File open error: <X>.

The file <X> could not be read, please check access rights.

0010

The length of identifier <X> exceeds 64 characters (RFC 2578 §3.1, §7.1.1, §7.1.4).

It is recommended to use only identifiers with a length of less than 32 characters for interoperability issues. Identifiers that exceed 64 characters in length must be avoided.

0050

Encountered lexical error at …

The encountered character is not allowed in a SMI MIB module.

1000

Syntax error: Encountered „token1“ at row r, column c, expected one of the following: ...

The parser encountered a string it did not expect. Please look at the list of expected tokens carefully in order to determine the trouble cause. If the parser complains about a SMIv2 keyword like MAX-ACCESS, please check whether the first statement after the IMPORTS clause is a MODULE-IDENTITY definition. This is a requirement for a SMIv2 MIB module (RFC2578 §3).

1001

The DISPLAY-HINT clause value „token1“ at row r, column c  is invalid (RFC 2579 §3.1).

The DISPLAY-HINT clause does not correspond to any of the allowed formats for INTEGER or OCTET STRING base types.

1002

The UTC time value “token1” at row r, column c does not match the mandatory format YYMMDDhhmmZ or YYYYMMDDhhmmZ (RFC 2578 §2)

The UTC time value does not correspond to the format YYMMDDhhmmZ or YYYYMMDDhhmmZ where

YY   - last two digits of year (1900-1999 only)

YYYY   - last four digits of the year (any year)

MM   - month (01 through 12)

DD   - day of month (01 through 31)

hh   - hours (00 through 23)

mm   - minutes (00 through 59)

Z   - denotes GMT (the ASCII character Z)

1020

Identifier <X> is ambiguous (RFC 2578 §3.1).

The identifiers (descriptors) in a MIB module must be unique.

1050

The clause <X> is not allowed within this context.

There are several clauses in SMI that are optional, but if specified those clauses need to be consistent with other clauses in the object definition. Examples for such clauses are the ACCESS, MIN-ACCESS, and SYNTAX clauses in MODULE-COMPLIANCE constructs, which must not be present for variations of NOTIFICATION-TYPEs.

1100

Imported MIB module <X> unknown.

The MIB module <X> could not be found in the MIB repository and neither in the MIB modules being compiled. Make sure that the MIB module name is not misspelled (this is often the case for older SMIv1 MIBs).

1101

Imported MIB module <X> contains a circular import.

The MIB module <X> imports from a module that either imports itself from <X> or any other module in the import chain imports from a preceding module.

1102

MIB module <X> is imported more than once.

The ASN.1 rules about IMPORTS that SMI is based on require that an import source is defined not more than once in a module.

1110

<X> imported from MIB module <Y> must be imported from <Z> instead.

For historical reasons, SMI requires to import the MACRO definitions SMI is based on from some ASN.1 modules. For SMIv1 and SMIv2 it is defined which MACRO (construct) is imported from which ASN.1 module. Since those ASN.1 modules (e.g. SNMPv2-SMI) are not SMI themselves, the MACRO definitions have to be removed in order to be able to compile them.

1111

Missing import statement for <X> (RFC 2578 §3.2).

To reference an external object, the IMPORTS statement must be used to identify both the descriptor and the module in which the descriptor is defined, where the module is identified by its ASN.1 module name.

1112

Imported object <X> is not defined in MIB module <Y>.

Use the Edit>Search MIB Repository to search for the MIB module that defines <X>.

1113

Object <X> is imported twice from MIB module <Y>.

An object definition shall only be imported once from a MIB module.

1114

<X> cannot be imported (RFC 2578 §3.2).

Notification and trap type definitions as well as SEQUENCE constructs cannot be imported by other MIB modules.

1150

Wrong module order within file.

The MIB file that failed to compile contains more than one MIB module and the order of those MIB modules does not correspond with their import dependencies.

1200

The SYNTAX clause of the columnar OBJECT-TYPE definition <X> does not match with the SYNTAX clause of the corresponding SEQUENCE definition.

The object <X>’s syntax differs in a SEQUENCE definition from its OBJECT-TYPE definition.

1202

The OBJECT-TYPE <X> has inconsistent maximum access (RFC 2578 §7.3).

An object <X> has a MAX-ACCESS or ACCESS clause that does not match its context (RFC 2578 §7.3). For example, a columnar object must not have a MAX-ACCESS value of “read-write” if any other columnar object in the table has a MAX-ACCESS value of “read-create”.

1210

The conditionally GROUP clause <X> must be absent from the corresponding MANDATORY-GROUPS clause (RFC 2580 §5.4.2).

A conditionally group cannot be mandatory at the same time!

1211

OBJECT variation <X> must be included in a GROUP or MANDATORY-GROUPs reference (RFC 2580 §5.4.2).

The object reference <X> must be part of any object group specified as conditionally or mandatory for this compliance module.

1212

Only ‘not-implemented’ is applicable for the ACCESS clause of the notification type variation <X> (RFC 2580 §6.5.2.3).

If the notification has to be implemented, then the ACCESS clause should be removed.

1220

The CREATION-REQUIRES clause of variation <X> must only be present for conceptual row definitions (RFC 2580 §6.5.2.4).

The CREATION-REQUIRES clause must not be present unless the object named in the correspondent VARIATION clause is a conceptual row, i.e., has a syntax which resolves to a SEQUENCE containing columnar objects.

1221

Only columnar object type definitions with ‚read-create‘ access may be present in the CREATION REQUIRES clause of variation <X> (RFC 2580 §6.5.2.4).

Other objects and columns cannot be created and thus they cannot participate in a row creation.

1500

Undefined syntax(es): <X>[,…]

The syntax (data type) <X> is not defined in the parsed MIB module and it is not imported from another MIB module. Use the Edit>Search MIB Repository function to search the MIB repository for object name <X> and add the corresponding IMPORT FROM clause for <X>.

1501

Undefined object(s): <X>[,…]

The object name <X> is not defined in the parsed MIB module and it is not imported from another MIB module. Use the Edit>Search MIB Repository function to search the MIB repository for object name <X> and add the corresponding IMPORT FROM clause for <X>.

1502

The object <X> must be defined or imported (RFC 2578 §3.2).

The object <X> is not defined in the parsed MIB module and it is not imported from another MIB module. Use the Edit>Search MIB Repository function to search the MIB repository for object name <X> and add the corresponding IMPORT FROM clause for <X>.

1600

The object definition <X> references a <Y> definition, expected a reference to an OBJECT-TYPE conceptual row definition instead.

The AUGMENTS clause, for example, requires that the referenced object definition is a conceptual table definition, i.e., has a syntax which resolves to a SEQUENCE containing columnar objects.

1601

The GROUP clause <X> references a <Y> definition, expected a reference to an OBJECT-GROUP or NOTIFICATION-GROUP instead (RFC 2580 §5.4.2).

The GROUP clause requires a reference to an object group definition.

1602

The object reference <X> points to a <Y> definition, expected a reference to an OBJECT-TYPE or NOTIFICATION-TYPE definition instead.

The VARIATION clause, for example, requires a reference to an OBJECT-TYPE or a NOTIFICATION-TYPE definition.

1700

Object reference(s) with wrong type: <X> (expected <Y> but found <Z>) [,…]

The referenced to object <X> must be of type <Y> but it is of type <Z>.

1800

The SEQUENCE clause of the table entry definition <X> does not match the order or number of objects registered for that table at entry <Y>.

The column references in the SEQUENCE definition of a table must be lexicographically ordered by their object-identifiers. The object name Y is the name of the first object reference in the SEQUENCE definition that does not match the order of columnar objects of that table.

1810

The OBJECT-TYPE <X> has an invalid index definition (RFC 2578 §7.7).

The OBJECT-TYPE <X> has an invalid INDEX clause, i.e., an empty clause.

1811

The OBJECT-TYPE <X> has invalid index definition because <Y> may be negative (RFC 2578 §7.7).

Index values have to be encoded as OID suffixes on the wire. Since OID sub-identifiers are 32-bit unsigned integer values, negative values cannot be encoded over the wire. See RFC 2578 §7.7 for more details.

1850

The OBJECT-TYPE <X> has invalid index definition, because <Y> is not a columnar object (RFC 2578 §7.7).

The OBJECT-TYPE <X> has an invalid INDEX clause, because <Y> does not refer to a columnar OBJECT-TYPE definition. An OBJECT-TYPE is columnar object, if it is part of a table definition. See RFC2578 §7.7 for more details.

1851

OBJECT-TYPE definition <X> is a scalar and therefore it must not have an INDEX clause (RFC 2578 §7.7).

Scalar objects have a fixed instance identifier (“index”) of ‘0’, thus an INDEX clause must not be specified.

2000

Duplicate object registration of <X> after <Y> for the object ID <Z> (RFC 2578 §3.6).

Once an object identifier has been registered* it must not be reregistered.

2010

Illegal object registration of <X> under <Y> for the object ID <Z>.

For example, it is not legal to register objects in the sub-tree of an OBJECT-TYPE registration.

3000

The default value of OBJECT-TYPE <X> is out of range (RFC 2578 §7.9).

The values specified in a DEFVAL clause have to be valid values for the corresponding data type syntax.

3001

The size of the default value of OBJECT-TYPE <X> is out of range (RFC 2578 §7.9).

The length of the specified octet string exceeds the SIZE constraints defined for the corresponding data type syntax.

3002

The format of the default value of OBJECT-TYPE <X> does not match its syntax (RFC 2578 §7.9).

The value <X> is not properly defined for the corresponding syntax.

3003

A DEFVAL clause is not allowed for OBJECT-TYPE <X> which has a base syntax of Counter (Counter32 or Counter64) (RFC 2578 §7.9).

Either change the syntax type to non Counter type (if the MIB has not been released yet) or remove the DEFVAL clause.

4000

The syntax definition of the object <X> is not a valid refinement of its base syntax (RFC 2578 §9).

A refinement must not extend the range of valid values for a data type.

4010

The range restriction is invalid because …

The lower bound (first value) of range restriction must be less or equal than the corresponding upper bound (second value). In addition, bounds for unsigned values cannot be negative.

4100

The TEXTUAL-CONVENTION definition <X> must not have a DISPLAY-HINT clause because its SYNTAX is OBJECT IDENTIFIER, IpAddress, Counter32, Counter64, or any enumerated syntax (BITS or INTEGER) (RFC 2579 §3.1)

Only textual conventions for INTEGER and OCTET STRING base types may have a DISPLAY-HINT clause.

4101

The DISPLAY-HINT clause value „token1“ of the TEXTUAL-CONVENTION definition <X> is not compatible with the used SYNTAX (RFC 2579 §3.1)

The integer DISPLAY-HINT format must be used with the INTEGER base type only whereas the string DISPLAY-HINT format must be used with OCTET STRING base type only.

5000

The object definition <X> must be included in an OBJECT-GROUP or a NOTIFICATION-GROUP definition respectively (RFC 2580 §3.1 and §4.1).

This requirement ensures that compliance statements for a MIB module can be written.

5100

Object group <X> must not reference OBJECT-TYPE <Y> which has a MAX-ACCESS clause of not-accessible (RFC 2580 §3.1).

Only accessible objects and notifications may be included in object groups.

6000

The PIB-INDEX clause of OBJECT-TYPE definition <X> does not reference a columnar object with an 'InstanceId' syntax (RFC3159 §7.5)

Create an columnar object with SYNTAX InstanceId and reference it in this PIB-INDEX clause or change the SYNTAX of the referenced OBJECT-TYPE to InstanceId.

6001

The PIB-TAG clause present in <X> must be absent because the SYNTAX is not 'TagReferenceId' (RFC3159 §7.11)

Remove the PIB-TAG clause or change the OBJECT-TYPE SYNTAX clause to TagReferenceId.

6002

The PIB-REFERENCES clause present in <X> must be absent because the SYNTAX is not 'ReferenceId' (RFC3159 §7.10)

Use the PIB-REFERENCES only if the SYNTAX is ReferenceId.

6003

A PIB-TAG clause must be present in <X> because its SYNTAX is 'TagReferenceId' (RFC3159 §7.11)

The PIB-TAG clause is mandatory if the SYNTAX is TagReferenceId.

6004

The PIB-REFERENCES must be present in <X> because its SYNTAX is 'ReferenceId' (RFC3159 §7.10)

The PIB-REFERENCES is mandatory if the SYNTAX is ReferenceId.

6005

The UNIQUENESS clause of OBJECT-TYPE definition <X> must not contain the attribute <Y> referenced in the PIB-INDEX clause (RFC3159 §7.9)

Do not include the PIB-INDEX attribute in an UNIQUENESS clause.

6006

The UNIQUENESS clause of OBJECT-TYPE definition <X> must not contain the attribute <Y> more than once (RFC3159 §7.9)

There must not be duplicate attributes in an UNIQUNESS clause.

6007

The INSTALL-ERRORS clause of OBJECT-TYPE definition <X> has an invalid error number <N> for label <L> which is out of the range 0-65535 (RFC3159 §7.4)

Error numbers in a INSTALL-ERRORS clause must be between 0 and 65535.

*An object registration is any object definition other than OBJECT-IDENTIFIER.