Skip to main content
Skip table of contents

Troubleshooting deployment issues

To diagnose server problems, enable the DEBUG log level. If necessary, enable the ALL log level to turn on all logging.

For information about troubleshooting WebSphere Application Server deployments, see Troubleshooting deployment issues in the deployment documentation for the 8.9 release.

Problem: Silent single sign-on (SSO) does not work

Look for Native library INFO message, which can indicate an authentication library loading error.

If there are no library loading issues and the log file shows authentication handshake sequences, then an issue may occur with the account setup. Check the service principal registration with setspn -L, as well as the following:

  • The container service accounts
  • The user groups of the accounts that try to log in ("nexjuser")
  • Proper Kerberos principals as User.login values in the database

For more information, on configuring SSO, see Configuring single sign-on.

Problem: Silent single sign-on does not work for certain users on certain machines

Ensure that you have configured silent Single Sign-On (SSO) for all users.

For more information on configuring silent SSO, see Configuring user browsers for silent single sign-on.

Problem: Server cannot start due to nexjsa login failure

The system probably cannot find the system user.

Check if a Kerberos principal is needed for Single Sign-On or has been left in the database.

Problem: Server cannot start due to a port conflict

Make sure that the TCP ports have been configured properly in the registry, as described in the development environment setup guide.

Check if another instance of Tomcat is running and stop any Outlook and MSN IM client instances.

Problem: Cluster cannot receive application requests

Try the following actions:

  • Check the log files for correct joining of cluster members.
  • Verify the firewall settings.
  • Verify that the time is automatically synchronized within <1 sec between the nodes.
  • Make sure that the redirector is configured correctly, including its virtual directory authentication settings.
  • Enable the redirector debug log level. Use a network sniffer (e.g. Wireshark) to identify communication issues.

Problem: Random connectivity errors

Disable any superfluous network interfaces.

This problem is common on development laptops with simultaneous active wireless and LAN connections.

Problem: Oracle error "ORA-01000: maximum open cursors exceeded"

Check if the maximum cursor limit in the database is at least (RelationalDatabaseConnection.statementCacheSize + 10):

To check the value, run the following:

CODE
select value from v$parameter where name='open_cursors';

If not, set it as follows (assuming that statementCacheSize=1000):

CODE
alter system set open_cursors=1010 scope=both;


Problem: Errors related to encryption key size

Make sure that the NexJ Studio JRE and the application server JRE have matching encryption policy files.

Problem: Invalid certificate error: javax.net.ssl.SSLHandshakeException

If you receive this error: "javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)", perform the following steps:

  1. Log on to OWA using http://<host>/exchange/<user>.
  2. An invalid certificate message will be shown.
  3. Click on the Invalid Certificate button and press View Certificate.
  4. Go to the Details tab.
  5. Select Copy to File at the bottom. The Export wizard will appear.
  6. Select the first option, DER -encoded binary.
  7. Save to C:\.
  8. Import the certificate that was saved in step 7 into the JRE certificate keystore in %JAVA_HOME%\jre\lib\security\cacerts. Debug the certificate handling by specifying the system property javax.net.debug=true in the server Process Definition/JVM Custom Properties.

  9. Verify the import was successful by running the following command:

    CODE
    keytool -list -alias <server_name> -keystore <dir>\cacerts -storepass changeit
  10. Restart the application server.

Problem: Errors related to busy or unavailable data sources

Increase the database connection pool size limit or improve the performance of long-running queries.

Errors might occur if the maximum connection pool size is too small or if queries take too long to process.

If you receive the error "Data source "<DataSourceName>" is temporarily unavailable. (err.persistence.unavailable)" or "Unable to allocate a resource in <QueryTimeout> ms due to reaching the maximum pool size of <MaxPoolSize>. (err.pool.resource.busy)", you can take the following steps to help prevent the error from occurring in the future:

  • Optimize long-running queries.
  • Increase the maximum database connection pool size. To do this:
    1. In NexJ Studio, open the environment file for your deployment.
    2. In the Data Source Connections tab, select Relational Database Connections, and click the Advanced subtab.
    3. In the Max Pool Size field, enter a greater value for the maximum number of available database connections.

Info

If you are running your application on a server cluster, you should perform the calculation for all nodes in the cluster, then use the average or maximum value as your connection pool size limit. The setting for the maximum database connection pool size in the environment file applies to all nodes in a cluster.


Problem: Missing Arial font file causing fatal errors

If you are running the server on a Linux system, you may receive a fatal error related to the Arial font when generating a report.

You can resolve the issue in one of two ways.

If you have the appropriate license, install the Arial font. To install the font, copy the Arial.ttf file to <JAVA_HOME>/jre/lib/fonts. You must copy the font file for each JVM on the application server machine and then restart each JVM. Arial is owned by Monotype Imaging Inc. For more information, see Arial Font Family at Fonts.com.

Otherwise, you can ensure that the missing font file does not cause a fatal error. Complete the following steps:

  1. Create a file named jasperreports.properties with the following contents:

    SCHEME
    net.sf.jasperreports.awt.ignore.missing.font=true
  2. Do one of the following:
    • Place the file you created into the <WAS_ROOT>/lib/ext directory.
    • Place the file anywhere on the file system of the server and add a system property to the server startup file as follows:
SCHEME
-Dnet.sf.jasperreports.properties=<absolute_path_of_jasperreports.properties>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.