Solaris WBEM Developer's Guide

Chapter 9 Troubleshooting

This chapter covers the following topics:

Viewing Log Data Through Log Viewer

The WBEM logging service enables application developers and writers of providers to write log messages to the log files. WBEM log files to track errors, warnings, and informational messages that the management subsystem generates. For example, you might want to write out log messages under the following conditions:

After you have created a log record, you can start the Solaris Management Console application and Log Viewer. A log record is automatically created when you start the Solaris Management Console software.

You can view all details of a log record in the Solaris Management Console Log Viewer.

How to Start the Solaris Management Console Application and Log Viewer
  1. To start the Solaris Management Console, type this command:


    $ smc
    

  2. In the Navigation panel, either double-click This Computer or click the expand/compress icon next to This Computer.

    A tree of commands is displayed below This Computer.

  3. Double-click System Status.

    The Log Viewer icon is displayed.

  4. Click the Log Viewer icon.

    Log Viewer starts.

Figure 9–1 Solaris Management Console Application With Log Viewer Selected

Window titled Management Tools: Solaris Management Console. Shows the Navigation panel, selectable log summaries, and the Information panel.

About WBEM Error Messages

The CIM Object Manager (CIMOM) generates error messages that are used by both the Managed Object Format (MOF) compiler and CIM Workshop. The MOF compiler appends a line to the error message that indicates the line number in which the error occurs in the .mof file.


Note –

For more information on the MOF compiler, see the mofcomp(1M) man page.


Parts of an Error Message

An error message consists of the following parts:


Example 9–1 Parts of an Error Message

The MOF compiler returns the following error:

REF_REQUIRED = Association class CIM_Docked needs at least two refs. 
Error in line 12.


WBEM Error Messages

This section describes the WBEM error messages, sorted by unique identifier.


ABSTRACT_INSTANCE

Description:

This error message uses one parameter, {0}, which is replaced by the name of the abstract class.

Cause:

A create instance was attempted for the instance. However, the specified class is an abstract class, and abstract classes cannot have instances.

Solution:

Create instances for concrete classes.


CANNOT_ASSUME_ROLE

Description:

This error message uses two parameters:

  • {0} is replaced by the user name.

  • {1} is replaced by the role name.

Cause:

The specified principal cannot assume the specified role.

Solution:

Make sure that the user has the appropriate rights to assume the given role. If the user does not have the appropriate rights, contact your system administrator.


CHECKSUM_ERROR

Description:

This error message does not use parameters.

Cause:

The message could not be sent because the message was damaged or was corrupted. The damage could have occurred accidentally in transit or by a malicious third party.


Note –

This error message is displayed when the CIMOM receives an invalid checksum. A checksum is the number of bits in a packet of data that were passed over the network. This number is used by the sender and the receiver to ensure that the data has not been corrupted or intentionally modified during transit. This number also used by the sender and receiver of the information to verify that the transmission is secure.

An algorithm is run on the data before transmission. Then the checksum is generated and included with the data to indicate the size of the data packet. When the message is received, the receiver can recompute the checksum and compare the result to the sender's checksum. If the checksums match, the transmission was secure, so the data was not corrupted or modified.


Solution:

Resend the message using the security features of Solaris WBEM Services. For information about using these features of Solaris WBEM Services, see Chapter 8, Administering Security.


CIM_ERR_ACCESS_DENIED

Description:

This error message does not use parameters.

Cause:

This error message is displayed when a user does not have the privileges and permissions necessary to complete an action.

Solution:

Request privileges to complete the operation from your system administrator or the person who is responsible for your CIMOM.


CIM_ERR_ALREADY_EXISTS

Instance 1: CIM_ERR_ALREADY_EXISTS

Description:

This instance uses one parameter, {0}, which is replaced by the name of the duplicate class.

Cause:

The class that you attempted to create uses the same name as an existing class.

Solution:

In CIM Workshop, search for existing classes to see the class names that are in use. Then create the class by using a unique class name.

Instance 2: CIM_ERR_ALREADY_EXISTS

Description:

This instance uses one parameter, {0}, which is replaced by the name of the duplicate instance.

Cause:

The instance for a class you attempted to create uses the same name as an existing instance.

Solution:

In CIM Workshop, search for existing instances to see the names that are in use. Then create the instance by using a unique name.

Instance 3: CIM_ERR_ALREADY_EXISTS

Description:

This instance uses one parameter, {0}, which is replaced by the name of the duplicate namespace.

Cause:

The namespace you attempted to create uses the same name as an existing namespace.

Solution:

In CIM Workshop, search for existing namespaces to see the names that are in use. Then create the namespace by using a unique name.

Instance 4: CIM_ERR_ALREADY_EXISTS

Description:

This instance uses one parameter, {0}, which is replaced by the name of the duplicate qualifier type.

Cause:

The qualifier type that you attempted to create uses the same name as an existing qualifier type for the specified property.

Solution:

In CIM Workshop, search for qualifier types that exist for the property to see the names that are in use. Then create the qualifier type by using a unique name.


CIM_ERR_CLASS_HAS_CHILDREN

Description:

This error message uses one parameter, {0}, which is replaced by the class name.

Cause:

This exception is thrown by the CIMOM to disallow invalidation of the subclasses by a superclass deletion. Clients must explicitly delete the subclasses first. The check for subclasses is made before the check for class instances.

Solution:

Remove the subclasses of the given class.


CIM_ERR_CLASS_HAS_INSTANCES

Description:

This error message uses one parameter, {0}, which is replaced by the class name.

Cause:

This exception is thrown if you attempt to delete a class that has instances.

Solution:

Remove the instances of the given class.


CIM_ERR_FAILED

Description:

This error message uses one parameter, {0}, which is replaced by a message that explains the error condition and its possible cause.

Cause:

This error message is generic, which means that this message can be displayed for many different error conditions.

Solution:

The solution varies depending on the error condition.


CIM_ERR_INVALID_PARAMETER

Description:

This error message uses one parameter, {0}, which is replaced by the name of the invalid parameter.

Cause:

The name of the parameter or the method is invalid.

Solution:

Fix the parameter.


CIM_ERR_INVALID_QUERY

Description:

This error message uses two parameters:

  • {0} is replaced by the invalid part of the query.

  • {1} is replaced by additional information, including the actual error in the query.

Cause:

The given query either has syntactical errors or semantic errors.

Solution:

Fix the errors according to the exception details. In addition, make sure that the query string and query language match.


CIM_ERR_INVALID_SUPERCLASS

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the specified subclass.

  • {1} is replaced by the name of the class for which a specified subclass does not exist.

Cause:

A class is specified to belong to a subclass from a superclass, but the superclass does not exist. The specified superclass might be misspelled, or a nonexistent superclass name might have been specified in place of the intended superclass name. Or, the superclass and the subclass might have been interpolated. In other words, the specified superclass may be a subclass of the subclass. In the previous example, CIM_Chassis is specified as the superclass of CIM_Container, but CIM_Chassis is a subclass of CIM_Container.

Solution:

Check the spelling and the name of the superclass to ensure that the spelling is correct. Ensure that the superclass exists in the namespace.


CIM_ERR_LOW_ON_MEMORY

Description:

This error message does not use parameters.

Cause:

The CIMOM is low on memory.

Solution:

Delete some class definitions and static instances to free up memory.


CIM_ERR_NOT_FOUND

Instance 1: CIM_ERR_NOT_FOUND

Description:

This instance uses one parameter, {0}, which is replaced by the name of the nonexistent class.

Cause:

A class is specified but that class does not exist. The specified class might be misspelled, or a nonexistent class name might have been accidentally specified in place of the intended class name.

Solution:

Check the spelling and the name of the class to ensure that the spelling is correct. Ensure that the class exists in the namespace.

Instance 2: CIM_ERR_NOT_FOUND

Description:

This instance uses two parameters:

  • {0} is replaced by the name of the specified instance.

  • {1} is replaced by the name of the specified class.

Cause:

The instance does not exist.

Solution:

Create the instance.

Instance 3: CIM_ERR_NOT_FOUND

Description:

This instance uses one parameter, {0}, the name of the specified namespace.

Cause:

The specified namespace is not found. This error can occur if the name of the namespace was entered incorrectly due to a typing error or spelling mistake.

Solution:

Retype the name of the namespace. Ensure that you type and spell the namespace correctly.


CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED

Description:

This error message uses one parameter, {0}, which is replaced by the invalid query language string.

Cause:

The requested query language is not recognized by CIM.

Solution:

Provide a supported query language.


CLASS_REFERENCE

Description:

This error message uses two parameters:

  • {0} parameter is replaced by the name of the class that was defined to participate in a reference.

  • {1} parameter is replaced by the name of the reference.

Cause:

A property was defined for a class to indicate that the class has a reference. However, the class is not an association. A class can only have a reference as a property if the class is an association.

Solution:

Add the association qualifier or remove the reference.


INVALID_CREDENTIAL

Description:

This error message does not use parameters.

Cause:

This error message is displayed when you enter an invalid password, or if your CLASSPATH is not set up to include authentication checks for client applications.

Solution:
  • Use the correct password.

  • Make sure your CLASSPATH contains the following directory and the following file: /usr/sadm/lib/wbem/extension:/usr/sadm/lib/wbem/sunwbem.jar


INVALID_DATA

Description:

This error message does not use parameters.

Cause:

The security authenticator data is invalid or the data is not consistent with the security mechanism you are using.

Solution:

Make sure that your security modules are configured correctly.


INVALID_QUALIFIER_NAME

Description:

This error message uses one parameter, {0}, which is replaced by the MOF notation that depicts an empty qualifier name.

Cause:

A qualifier was created for a property but a qualifier name was not specified.

Solution:

Include the qualifier name.


KEY_OVERRIDE

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the concrete class that is in an override relationship with a class that has one or more key qualifiers.

  • {1} is replaced by the name of the concrete class that has the key qualifier.

Cause:

A non-abstract class, also referred to as a concrete class, is put into an override relationship with a concrete class that has one or more key qualifiers. In CIM, all concrete classes require at least one key qualifier, and a non-key class cannot override a class that has a key.

Solution:

Create a key qualifier for the non-key class.


KEY_REQUIRED

Description:

This error message uses one parameter, {0}, which is replaced by the name of the class that requires a key.

Cause:

A key qualifier was not provided for a concrete class. In CIM, all non-abstract classes, referred to as concrete classes, require at least one key qualifier.

Solution:

Create a key qualifier for the class.


METHOD_OVERRIDDEN

Description:

This error message uses three parameters:

  • {0} is replaced by the name of the method that is trying to override the method represented by parameter {1}.

  • {1} is replaced by the name of the method that has already been overridden by the method represented by parameter {2}.

  • {2} is replaced by the name of the method that has overridden parameter {1}.

Cause:

A method is specified to override another method that has already been overridden by a third method. Once a method has been overridden, that method cannot be overridden again.

Solution:

Specify a different method to override.


NEW_KEY

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the key.

  • {1} is replaced by the name of the class that is trying to define a new key.

Cause:

A class is trying to define a new key when keys already have been defined in a superclass. Once keys have been defined in a superclass, new keys cannot be introduced into the subclasses.

Solution:

Do not define a new key.


NO_CIMOM

Description:

This error message uses one parameter, {0}, which is replaced by the name of the host that is expected to be running the CIMOM.

Cause:

The CIMOM is not running on the specified host.

Solution:

Ensure that the CIMOM is running on the host to which you are trying to connect. If the CIMOM is not running on that host, connect to a host running the CIMOM.


NO_EVENT_PROVIDER

Description:

An event provider cannot be found.

Cause:

The property provider class is not found.

Solution:

Ensure that the CLASSPATH of the CIMOM contains the provider class parameters, the indication class for which the provider is being defined, and the name of the Java provider class. Ensure that the CIMOM Solaris provider is set and the provider qualifier is correct.


NO_INSTANCE_PROVIDER

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the class for which the instance provider cannot be found.

  • {1} is replaced by the name of the instance provider class that was specified.

Cause:

The Java class of the specified instance provider is not found. This error message indicates that the CLASSPATH of the CIMOM is missing one or more of the following items:

  • Name of the provider class

  • Parameters of the provider class

  • CIM class for which the provider is defined

Solution:

Set the CIMOM CLASSPATH environment variable. Ensure that the CIMOM Solaris provider is set and the provider qualifier is correct.


NO_METHOD_PROVIDER

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the class for which the method provider cannot be found.

  • {1} is replaced by the name of the method provider class that was specified.

Cause:

The Java class of the specified method provider is not found. This error message indicates that the CLASSPATH of the CIMOM is missing one or more of the following items:

  • Name of the provider class

  • Parameters of the provider class

  • CIM class for which the provider is defined

Solution:

Set the CIMOM CLASSPATH. Ensure that the CIMOM Solaris provider is set and the provider qualifier is correct.


NO_OVERRIDDEN_METHOD

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the method that has overridden the method represented by {1}.

  • {1} is replaced by the name of the method that has been overridden.

Cause:

The method of a subclass is trying to override the method of the superclass. However, the method that you are trying to override does not exist in the class hierarchy because the method has not been defined.

When you override a method, you override its implementation and its signature.

Solution:

Ensure that the method exists in the superclass.


NO_OVERRIDDEN_PROPERTY

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the property that has overridden {1}.

  • {1} is replaced by the name of the overriding property.

Cause:

The property of a subclass is trying to override the property of the superclass. However, the property that you are trying to override does not exist in the class hierarchy because the method has not been defined.

Solution:

Ensure that the property exists in the superclass.


NO_PROPERTY_PROVIDER

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the class for which the property provider cannot be found.

  • {1} is replaced by the name of the property provider class that was specified.

Cause:

The Java class of the specified property provider is not found. This error message indicates that the CLASSPATH of the CIMOM is missing one or more of the following items:

  • Name of the provider class

  • Parameters of the provider class

  • CIM class for which the provider is defined

Solution:

Set the CIMOM CLASSPATH. Ensure that the CIMOM is running on the host to which you are trying to connect. If the CIMOM is not running on that host, connect to a host running the CIMOM.


NO_QUALIFIER_VALUE

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the qualifier that modifies the element {1}.

  • {1} is the element to which the qualifier refers. Depending on the qualifier, {1} can be a class, property, method, or reference.

Cause:

A qualifier was specified for a property or method but values were not included for the qualifier. For example, the qualifier VALUES requires a string array to be specified. If the VALUES qualifier is specified without the required string array, the NO_QUALIFIER_VALUE error message is displayed.

Solution:

Specify the required parameters for the qualifier. For information on what attributes are required for which qualifiers, see the DMTF CIM specification at http://www.dmtf.org.


NO_SUCH_METHOD

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the specified method.

  • {1} is replaced by the name of the specified class.

Cause:

Most likely, the method was not defined for the specified class. If the method is defined for the specified class, another method name might have been misspelled in the definition.

Solution:

Define the method for the specified class. Ensure that the method name and the class name are spelled correctly.


NO_SUCH_PRINCIPAL

Description:

This error message uses one parameter, {0}, which is replaced by the name of the principal, a user account.

Cause:

The specified user account cannot be found. The user name might have been misspelled, or a the user does not have a user account.

Solution:

Ensure that the user name is spelled and typed correctly upon login. Ensure that the user has a user account.


NO_SUCH_QUALIFIER1

Description:

This error message uses one parameter, {0}, which is replaced by the name of the undefined qualifier.

Cause:

A new qualifier was specified but that qualifier was not defined as part of the extension schema. The qualifier must be defined as part of the CIM schema or part of an extension schema. Otherwise, the qualifier is not recognized as a valid qualifier for a property or method of a particular class.

Solution:

Define the qualifier as part of the extension schema, or use a standard CIM qualifier. For information about standard CIM qualifiers and the usage of qualifiers in the CIM schema, see the DMTF CIM specification at: http://www.dmtf.org.


NO_SUCH_QUALIFIER2

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the class, property, or method that the qualifier modifies.

  • {1} is replaced by the name of the qualifier that cannot be found.

Cause:

A new qualifier was specified to modify a property or method of a particular class. The qualifier was not defined as part of the extension schema. The qualifier must be defined as part of the CIM schema or part of an extension schema. Otherwise, the qualifier is not recognized as a valid qualifier for a property or method of a particular class.

Solution:

Define the qualifier as part of the extension schema or use a standard CIM qualifier. For information about standard CIM qualifiers and the usage of qualifiers in the CIM schema, see the DMTF CIM specification at: http://www.dmtf.org.


NO_SUCH_ROLE

Description:

This error message uses one parameter, {0}, which is replaced by the role name.

Cause:

The specified role cannot be found or the specified role is not a role identity.

Solution:

Make sure that the input role exists. If the role is required, contact your system administrator to set up the role.


NO_SUCH_SESSION

Description:

This error message uses one parameter, {0}, which is replaced by the session identifier.

Cause:

The session has been closed and is subsequently being used.

Solution:

Do not close the session.


NOT_EVENT_PROVIDER

Description:

This error message does not use parameters.

Cause:

The provider class that was found in the class path does not implement the EventProvider interface.

Solution:

Ensure that the provider is correct and register the provider implements.


NOT_HELLO

Description:

This error message does not use parameters.

Cause:

This error message is displayed if the data in the hello message, the first message sent to the CIMOM, is corrupted.

Solution:

No action is available in response to this error message. For information about the security features of Solaris WBEM Services, see Chapter 8, Administering Security.


NOT_INSTANCE_PROVIDER

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the instance for which the InstanceProvider interface is being defined.

  • {1} is replaced by the name of the Java provider class that does not implement the InstanceProvider interface. The InstanceProvider interface must be implemented to enumerate all instances of the specified class.

Cause:

The path to the Java provider class specified by the CLASSPATH environment variable does not implement the InstanceProvider interface.

Solution:

Ensure that the provider is correct and register the provider implements.


NOT_METHOD_PROVIDER

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the method for which the MethodProvider interface is being defined. The MethodProvider interface causes a specified method to be implemented and to be called in a program.

  • {1} is replaced by the name of the Java provider class that does not implement the MethodProvider interface.

Cause:

The Java provider class that was found in the class path does not implement the MethodProvider interface.

Solution:

Ensure that the Java provider class that is in the class path implements the MethodProvider interface. Use the following command when you declare the provider: public Solaris implements MethodProvider.


NOT_PROPERTY_PROVIDER

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the method for which the PropertyProvider interface is being defined. The PropertyProvider interface is required to retrieve the values of the specified property.

  • {1} is replaced by the name of the Java provider class that does not implement the PropertyProvider interface.

Cause:

The Java provider class that is in the class path does not implement the PropertyProvider interface.

Solution:

Ensure that the Java provider class that is in the class path implements the PropertyProvider interface. Use the following command when you declare the provider: public Solaris implements PropertyProvider.


NOT_RESPONSE

Description:

This error message does not use parameters.

Cause:

This error message is displayed when the data in a first response message from the CIMOM is corrupted.

Solution:

No action is available in response to this error message. For information about the security features of Solaris WBEM Services, see Chapter 8, Administering Security.


PROPERTY_OVERRIDDEN

Description:

This error message uses three parameters:

  • {0} is replaced by the name of the property that is trying to override the property represented by parameter {1}.

  • {1} is replaced by the name of the property that already has been overridden.

  • {2} is replaced by the name of the property that has overridden the property represented by parameter {1}.

Cause:

A property is specified to override another method that has already been overridden by a third method. Once a property has been overridden, that property cannot be overridden again.

Solution:

Specify a different property to override.


QUALIFIER_UNOVERRIDABLE

Description:

This error message uses two parameters:

  • {0} is replaced by the name of the qualifier with the DisableOverride flavor.

  • {1} is replaced by the name of the qualifier that is disabled by {0}.

Cause:

The qualifier that is being overridden has the DisableOverride flavor.

Solution:

Reset the ability of the qualifier to EnableOverride or to Override=True.


REF_REQUIRED

Description:

This error message uses one parameter, {0}, which is replaced by the name of the class.

Cause:

A class was defined to participate in an association, but no references were cited. The rules of the Common Information Model specify that an association must contain one or more references.

Solution:

Add references or remove the association qualifier.


SCOPE_ERROR

Description:

This error message uses three parameters:

  • {0} is replaced by the name of the class the specified qualifier modifies.

  • {1} is replaced by the name of the specified qualifier.

  • {2} is replaced by the type of attribute that the qualifier modifies.

Cause:

A qualifier was specified in a manner that conflicts with the qualifier type definition. The scope of the [READ] qualifier is the definition that directs the [READ] qualifier to modify a property. For example, if the [READ] qualifier is specified to modify a method, the SCOPE_ERROR message is returned.


Note –

The Common Information Model (CIM) specification defines the types of CIM elements that a CIM qualifier can modify. This definition of the way in which a qualifier can be used is referred to as its scope. Most qualifiers, by definition, have a scope that directs the qualifiers to modify properties or methods or both. Many qualifiers have a scope that directs the qualifiers to modify parameters, classes, associations, indications, or schemas.


Solution:

Confirm the scope of the specified qualifier. Refer to the Qualifiers section of the DMTF CIM specification at http://www.dmtf.org for the standard definitions of CIM qualifiers. Use a different qualifier for the results that you want to achieve, or change your program to use the qualifier according to its CIM definition.


TYPE_ERROR

Description:

This error message uses five parameters:

  • {0} is replaced by the name of the specified element, such as a property, method, or qualifier.

  • {1} is replaced by the name of the class to which the specified element belongs.

  • {2} is replaced by the type that is defined for the element.

  • {3} is replaced by the type of value that is assigned.

  • {4} is replaced by the actual value that is assigned.

Cause:

The value of a property parameter or method parameter and its defined type are mismatched.

Solution:

Match the value of the property or method with its defined type.


UNKNOWNHOST

Description:

This error message uses one parameter, {0}, which is replaced by the name of the host.

Cause:

A call was made to a specified host. The specified host is unavailable or that host cannot be located. You might receive this message under any of the following conditions.

  • The host name was misspelled

  • The host computer was moved to a different domain

  • The host name has not been registered in this domain

  • The host is temporarily unavailable due to system conditions

Solution:

Check the spelling of the host name. Use the ping command to ensure that the host computer is responding. Check the system conditions of the host. Ensure that the host belongs to the specified domain.


VER_ERROR

Description:

This error message uses one parameter, {0}, which is replaced by the version number of the running CIMOM.

Cause:

The CIMOM does not support the version of the client that is trying to connect to CIMOM.

Solution:

Install the appropriate version.