Error messages

This section lists common messages and their explanation, with possible causes and tips on how to resolve them.

NoteFor simplicity, only the key portions of the error messages are provided. The actual message text may contain a prefix such as “Exception” or “System exception,” which is not included in these listings.

Table 5-1: Server messages

Message text (or text fragment)

Explanation

Cannot find interfaces file

See “Connection problems” and “Configuration issues”.

Cannot find localization files

See “Connection problems” and “Configuration issues”.

Cannot start network listener

The main IIOP listener may be configured incorrectly. Check the console and log files for listener failures. Use EAServer Manager to verify the correct listener properties. Try to connect to the server with another application, using the same protocol.

See “Configuration issues” for information about resolving start-up problems.

ClassCastException error

If you see NamingContext exceptions with root-cause exception ClassCastException when calling javax.naming.InitialContext.lookup, check for the following problems:

  • You may be casting to an incorrect type (check the class name of the object returned by lookup).

  • Your component has refresh enabled, and the custom class list does not contain some required classes.

  • Your component has refresh enabled, and calls a component that has refresh disabled, or vice-versa.

com.sybase.jdbc.SybSQLException

When EAServer starts a transaction, it puts the connection into chained mode. By default, Adaptive Server Enterprise runs procedures in unchained mode. Use sp_procxmode to change the mode of the stored procedure; for example:

sp_procxmode "sp_myproc", "anymode" go

You can run the stored procedure sp_myproc only in unchained transaction mode. The SET CHAINED OFF command causes the current session to use unchained mode.

CORBA marshall exception

You may have tried to return a NULL object, which CORBA forbids.

This error may also occur when you attempt to access an ActiveX component from Visual Basic if you have not explicitly initialized a structure field that uses complex types. Initialize fields of complex types such as struct, union, object, date, time, or timestamp. If you do not initialize these fields before passing the union as an EAServer method parameter or return value, the ActiveX dispatcher throws a marshalling exception. Fields of other types are implicitly set to a default value.

CORBA:: NO_PERMISSION

The user is not authorized to perform the requested operation. For example, the Session.loookup call throws a NO_PERMISSION exception when you request a component instance and the user lacks permission to instantiate that component.

Check permissions for the component, package, and user.

A CORBA::NO_PERMISSION exception can also mean that an attempt was made to access an object from a less secure session than it was originally created with. If the original proxy instance was created by connecting to a secure port with a client-side SSL certificate, the proxy must be deserialized in a session that connects using the same client certificate and equal or greater security constraints.

For example, if you create an object with a session that uses 128-bit SSL encryption, serialize the object, then later try to deserialize the object during a session that uses 40-bit SSL encryption, the ORB throws the CORBA::NO_PERMISSION exception. Access is allowed when objects created using a less secure session are later accessed using a more secure session.

CORBA::NO_RESOURCE_EXCEPTION

This exception is raised if a component request arrives when the maximum number of instances exist, all are busy, and the blocking time expires. (com.sybase.jaguar.component.objects specifies the maximum number of instances, and the Resources/Maximum Wait property specifies the blocking time.)

Network latency between client and server is not included in the measured method execution time. For C++ components running in an external process, the measured time includes interprocess communication latency.

CORBA::OBJECT_NOT_EXIST

This message can mean that the package or component is not installed on the server.

It may also be received when a method is invoked but the object reference has expired, which can happen if the component is stateful and is configured with a finite Instance Timeout property. When the timeout period is exceeded for a component instance, EAServer deactivates the component and invalidates the client’s object reference. If the client attempts another method invocation, the client-side ORB throws the CORBA::OBJECT_NOT_EXIST exception. At this point, the client must create a new proxy instance for the component if it wants to continue.

CORBA::TRANSIENT

For EJB clients, this exception is the root cause of the java.rmi.RemoteException thrown by the EJB stub.

This message is associated with concurrency control; it may indicate a rollback due to an optimistic update failure. The default optimistic update check is to compare the old values with the new values. Someone else may have updated the data between your ejbLoad and ejbStore.

Use one of the following corrective actions:

  • Set the property com.sybase.jaguar.component.debug=true to get more information; or

  • Use a timestamp column in your database table; or

  • Disable optimistic updates as appropriate for your application.

See Chapter 25, “Managing Persistent Component State,” in the EAServer Programmer’s Guide for more information on concurrency control.

Could not start thread

The EAServer maximum threads property must include thread requirements of the entire server, including the message service thread pools. You can set this property on the HTTP Config tab in the Server Properties dialog box.

CtsComponents::CreateException

See javax.ejb.CreateException error.

CtsComponents::FinderException

See javax.ejb.FinderException error.

DBMS is not supported in your current installation

This is a PowerBuilder error message. The probable cause is that the value of SQLCA.DBMS is not set.

In PowerBuilder component code, you typically have a series of lines that set up database connection parameters using a PowerBuilder transaction object. For the default transaction object, SQLCA, you must set the value of SQLCA.DBMS to a string that begins with one of: ODB, JDB, SYJ, O90, O84, or O73, and the definition must come before this statement:

CONNECT USING SQLCA;

PowerBuilder uses the DBMS string to build the DLL or library name that it needs.

If you are using a transaction object other than SQLCA, verify that its DBMS property is set correctly, before calling the connect statement.

Deployment error accessing server <server_name> at port 9000

This is a PowerBuilder error message.

Connect to EAServer Manager to confirm that EAServer is running.

Confirm that EAServer is listening on the server name and port mentioned in the error. An IIOP listener must be configured on that port and server name.

Check the EAServer user ID and password specified on the Server tab in the Component Generator properties.

Check the path specified in the PowerBuilder Dynamic Library Name text field on the Libraries tab in the Component Generator Properties.

Deployment error functions using ANY type arguments or an ANY return type not supported. Correct the following for component <component>:<method>.

This message applies specifically to the ANY datatype, which is not supported for public instance variables, function arguments, or function return values. The remedies are the same as described for “Deployment error or warning (from PowerBuilder) SYSTEM variables not supported.”

Deployment error or warning (from PowerBuilder): SYSTEM variables not supported

Public instance variables and arguments to public functions can be any of:

  • Standard datatypes

  • Structures

  • Custom class user objects that have been deployed as EAServer components

  • ResultSets

If you are using system datatypes (transaction, data store, and so on) as instance variables, declare them as protected or private. If you are using system datatypes as function arguments, declare the function as protected or private.

The Instruction at *** referenced memory at ***, the memory could not be written

You may see this message if the JAGUAR_RANDOMSEED variable is not set, or is set to a value that does not match the name of an accessible file.

See Chapter 3, “Creating and Configuring Servers,” in the EAServer System Administration Guide for more information. If that does not resolve the problem, see “Server crashes, hangs, or disappears”.

INVALID_TRANSACTION

If you are using the message service, this exception occurs if you try to use two concurrent threads within a single transacted session to send or receive messages. You must create a separate transacted session for each thread that you use to send or receive messages. This restriction applies to messages received synchronously or asynchronously; that is, regardless of whether you call “receive” or use a message listener.

javax.ejb.CreateException OR CtsComponents::CreateException

When instantiating an entity bean proxy, call a finder method first if you are unsure whether an entity bean’s data is already in the database. Create methods throw a javax.ejb.CreateException exception if you attempt to insert a duplicate database row.

javax.ejb.FinderException OR CtsComponents::FinderException

EJB finder methods return instances that match an existing row in the underlying database based on the lookup parameters passed to the method.

Finder methods throw javax.ejb.FinderException if no rows match the specified search criteria.

java.lang.NoClassDefFoundError

A class definition could not be found. Make sure the class file is in the CLASSPATH.

If necessary, set the com.sybase.jaguar.server.classloader.debug property to true to enable class loader tracing while you troubleshoot class loading issues. Remember to set the property back to false when you are finished.

javax.naming.NamingException

The lookup method throws javax.naming.NamingException if the bean JNDI name cannot be resolved or the home interface proxy cannot be created. Reasons include:

  • The server address specified with the Context.PROVIDER_URL property is incorrect or the server is not running.

  • Authentication with the specified credentials failed.

  • The bean is incorrectly configured on the server. For example, a skeleton has not been generated, or the bean’s properties specify the wrong implementation class.

  • Check the EJB references in EAServer Manager to be sure the values are correct.

Check the server’s log file if the cause of the error is not clear from the exception’s detail message.

JCM Caught Throwable: java.sql.SQLException: Error: Current enlistment requires 2PC Resource and No 2PC Resource Configured for Cache:SybaseJMS

A component is attempting to write a JMS message to an EAServer message service topic or queue, without using the same connection cache. The component must use the same connection cache as the EAServer message service.

jmsException

An exception has occurred with the message service. The ExceptionListener provides access to the error information—see Chapter 29, “Creating connections,” in the EAServer Programmer’s Guide for information.

You can also output debug information for the message service using the com.sybase.jms.debug property.

No such file libpb90x.so: not found

This is the same problem as described in “DBMS is not supported in your current installation.”

OBJECT_NOT_EXIST

Most commonly, this is because the server component cannot be instantiated or an instance is no longer available. Verify that:

  • The specified component is installed in the specified EAServer Manager package.

  • The specified EAServer Manager package is installed in the server.

  • The Java class, Windows DLL, or UNIX shared library that implements the component is available.

  • If you are instantiating a Java component, the component’s skeleton class is available.

This error may also occur when a component’s cache size is not large enough, causing clients to experience cache overflow errors. When this happens, the least recently accessed instance is removed from the cache. If a client attempts to invoke an instance, the client receives a CORBA::OBJECT_NOT_EXIST exception. See “Mirror Cache tab component properties” in Chapter 25 of the EAServer Programmer’s Guide for more information.

The error may also be raised when more than one client simultaneously tries to receive a message from a message service queue that is not shared.

NullPointerException

For in/out parameters to CORBA Java component methods, you must pass a non-null value for the parameter input value. Otherwise, method calls fail and throw NullPointerExceptions. Use output parameters in the method definition if the parameter’s input value does not matter.

ObjectKey::init: <servername>.cycle create failed: No such file or directory

This error may be seen on server start-up. Causes include:

  • Your installation does not have a repository, or

  • The repository is corrupt, or

  • Repository/Server directory is not writeable.

Noteservername.cycle is not required for the server to start. If the file does not exist, it is automatically created when you first start the server.

SetDwObject (PBL_name, DataWindow_name) failed = -1

Verify the HTML DataWindow property in the DataWindow painter.

Verify that the PBL (PowerBuilder library) or PBD (PowerBuilder dynamic library) is in the system PATH of the server machine.

srv__read_packet: Protocol error occurred: length in header (21536) more than packet size(512)

Verify that the listener port matches the client protocol.

SRVLIB message: Net-Library routine net_listener (host:port) failed in srv_start_listeners

Network error: status = 23 - Net-Lib protocol driver call to register a listener failed

The listener is currently in use. Network listeners must be unique for the server machine. If the server runs as a Windows NT service, verify that you did not attempt to start another instance of the same server.

To fix the problem, modify the listener properties in the repository and restart the server. Be sure there is only one instance of a specific server running.

SystemException: CORBA::COMM_FAILURE

Possible reasons for this error include:

  • The server is down.

  • The server has run out of connections.

  • You did not specify the correct host name or listener address.

TRANSACTION_ROLLEDBACK

A component participating in the transaction called the rollbackWork transaction primitive to indicate that the transaction should not be committed, or the transaction timed out. You may retry the method calls if desired.

There is a different cause for this error if you are running EJB CMP entity beans with automatic persistence and timestamp verification (specified on the component properties Persistence tab). If you see “TRANSACTION_ROLLEDBACK: Optimistic Concurrency Control” messages in the server log, try changing the persistence setting to Generated Class, then regenerate stubs and skeletons for the component.

NoteIn some cases, you may see this message simply because of the activity of other transactions, in which case you must restart the transaction, either in client code or by enabling automatic retry.

Trust verification failed. Client certificate not available.

The server listener requires mutual authentication. Make sure the certificate label is set in the client ORB/SSLServiceProvider and that the SSLCallback::getCertificateLabel callback is implemented.

Trust verification failed. SSL protocol X.509 certificate chain is incomplete.

Make sure the client’s certificate chain is complete. Use EAServer Manager to verify the client’s certificate. If the client’s CA certificate is not in the client PKCS token, install it.

Trust verification failed. SSL protocol X.509 certificate chain is invalid.

Use EAServer Manager to verify that the client’s certificate chain is valid.

Trust verification failed. SSL protocol X.509 certificate has expired.

Use EAServer Manager to verify the client’s certificate. If a certificate has expired, get a new certificate from the CA and install it at the client site.

Trust verification failed. SSL protocol X.509 certificate chain contains an unknown CA.

Install the certificate of the CA that signed the client certificate in EAServer, using EAServer Manager, and mark it trusted. You must be the server administrator to do this.

Trust verification failed. SSL protocol CA certificate is untrusted.

Have the server administrator mark the client’s CA as trusted.

Unable to initialize the VM

See “Starting the server” in Chapter 3, “Creating and Configuring Servers,” in the EAServer System Administration Guide for details on selecting and running the Java VM.

Check that the PATH and CLASSPATH environment variables are set correctly.

Warning: Failed to initialize SSL Service Provider: protocol IIOPS not supported

Verify that the SSL deployment kit is installed and configured correctly and that the JAGUAR_CLIENT_ROOT environment variable points to where the deployment kit is installed.

On Windows, verify that the PATH contains %JAGUAR_CLIENT_ROOT%/lib.

On UNIX, make sure the library path variable contains $JAGUAR_CLIENT_ROOT/lib.

Warning: protocol IIOPS not supported

Check the SSL deployment installation, configuration, and the JAGUAR_CLIENT_ROOT environment variable, as described in the previous warning.