Troubleshooting

This chapter describes how to troubleshoot common problems caused by an incorrect installation properties file.

1. Overview

The following are three ways to determine the presence of errors during installation.

  • Open ${OPENFRAME_HOME}/UninstallerData/log/install_base.log in a text editor and check for errors.

  • Check the error logs recorded during the manual execution of the script after installing Base.

  • Check the server status logs information during OpenFrame startup check.

  1. For more information about the installation properties file, refer to Creating an Installation Properties File.

  2. For more information about error codes, refer to OpenFrame Error Message Reference Guide.

2. Error Types and Resolutions

This section provides solutions for common installation issues.

2.1. License File

If a license file is missing, corrupted or expired, errors occur.

  • Error Types

    • Tmax license file missing

      When you run the boot.sh script file, the following error occurs.

      (E) CFL2141 failed to read license file :
      /home/oframe/OpenFrame/core/license/license.dat [COM0900]
    • Tmax license file expired

      When you run the boot.sh script file, the following error occurs.

      (E) CFL2145 License is expired :  [COM0906]
    • Tmax license file corrupted

      When you run the boot.sh script file, the following error occurs.

      (E) CFL2142 Corrupt license file :
      /home/oframe/OpenFrame/core/license/license.dat [COM0902]
    • Base module license missing or invalid

      The module’s server cannot operate properly when Base starts. The server is marked as NRDY when you check the server status through tmadmin.

      To check the server status, execute the si command using tmadmin. Fore more information, refer to step 5 in Startup.

  • Solution

    For licensing requirements, contact TmaxSoft Technical Support team.

2.2. Shared Memory

If a shared memory key value is already being used by another program, errors occur.

  • Error Type 1)

    • Error Code: CFL0096

      If the shared memory key value registered in the installation properties file overlaps with another user or program’s key value, the OpenFrame server does not start. In this case, you can find the following error message in the install_base.log file under the ${OPENFRAME_HOME}/UninstallerData/log directory:

      (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists
      (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists
      (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists
      (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists
    • Solution

      Modify the key value registered in the installation properties file, or open the oframe.m file located either in the ${OPENFRAME_HOME}/config or ${OPENFRAME_HOME}/core/config directory to find and modify the corresponding value, and then retry installation.

  • Error Type 2)

    • Error Code: ALC0001E

      When executing tmboot after installing Base, the server may not start as intended and the following error can occur.

      “[ALC0010E] shared memory size mismatch - shmkey=0x9471,segsz=1673932”
    • Solution

      Modify the key value registered in the installation properties file, or find and modify the corresponding value in the TMAX.config file located in the ${OPENFRAME_HOME}/core/config directory to update it manually.

      The following example shows how to manually update the TMAX shared memory key.

      # vi $OPENFRAME_HOME/core/config/oframe.m
      *DOMAIN
      domain
          SHMKEY      = 38001
      # $TMAXDIR/bin/pfmtcacheadmin -d
      # $TMAXDIR/bin/pfmtcacheadmin -c
      
      
      # vi $OPENFRAME_HOME/core/config/pfmtcache.cfg
      * the configuration file of TCACHE
      SHMKEY=39082
      # $TMAXDIR/bin/cfl -i $TMAXDIR/config/oframe.m

2.3. Database

If the OpenFrame database connection information is incorrect, errors occur.

  • Error Type

    If the database connection information is incorrectly entered in Environment Variables for Storage Device for the installation properties file, the OpenFrame server does not start.

    In this case, you can find the following error in the install_base.log file located in the ${OPENFRAME_HOME}/UninstallerData/log directory.

    ofcom_odbc: SQLConnect failed. State: 08001, Native Error: -17001, Message: [unixODBC] Login failed: invalid user name or password.
  • Solution

    Correct Environment Variables for Storage Device in the installation properties file and retry installation.

2.4. Security Module

If the security module blocks access to a library, errors occur.

  • Error Type

    If SELinux, a security module of the Linux system, denies access to the library by security policy, the following error occurs.

    “cannot restore segment prot after reloc: Permission denied”
  • Solution

    • Run chcon on the library, where the "permission denied" error occurs. Some libraries may require superuser permissions to run the command.

      chcon -t texrel_shlib_t [desired so library]
    • Modify the /etc/sysconfig/selinux file as follows with superuser permissions and then disable SELinux. However, this method may compromise security, therefore not recommended.

      SELINUX=disabled

2.5. unixODBC

If the unixODBC is not correctly configured, errors occur.

  • Error Type 1)

    • If a library (libodbc.so) is missing when executing a program such as ofversion after installing Base, the following may occur.

      $ ofversion
      ofversion: error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory
      
      $ ldd ofversion
              linux-vdso.so.1 =>  (0x00007fff02fc1000)
              libofcom.so => /home/oframe4/OpenFrame/lib/libofcom.so (0x00007fb978d44000)
              libc.so.6 => /lib64/libc.so.6 (0x0000003ab5400000)
              /lib64/ld-linux-x86-64.so.2 (0x0000003ab5000000)
              libodbc.so.1 => not found
    • Solution

      The unixODBC 2.3.1 version updated its library version from libodbc.so.1 to libodbc.so.2. If libodbc.so (libodbc.so.1) cannot be located after the installation, create the symbolic link to the updated library.

      $ ll /usr/lib64/libodbc.so*
      lrwxrwxrwx. 1 root root     16 Jan 12  2015 /usr/lib64/libodbc.so -> libodbc.so.2.0.0
      lrwxrwxrwx. 1 root root     16 Jan 12  2015 /usr/lib64/libodbc.so.2 -> libodbc.so.2.0.0
      -rwxr-xr-x. 1 root root 420200 Jul 10  2014 /usr/lib64/libodbc.so.2.0.0
      
      $ ln -sf /usr/lib64/libodbc.so.2.0.0 /usr/lib64/libodbc.so.1
  • Error Type 2)

    • When using isql to connect to the database through unixODBC, the following error may occur in unixODBC Driver Manager.

      $ isql oframe tibero tmax
      [ISQL]ERROR: Could not SQLConnect

      The following error log (Error: IM002) can be found in the log file set to TraceFile in the [ODBC] section of the odbcinst.ini configuration file:

      [ODBC][64494][1136898658.284331][SQLConnect.c][3727]
                       Entry:
                                Connection = 0x1c51080
                                Server Name = [oframe][length = 7 (SQL_NTS)]
                                User Name = [tibero][length = 6 (SQL_NTS)]
                                Authentication = [****][length = 4 (SQL_NTS)]
      [ODBC][64494][1136898658.284619][SQLConnect.c][3935]Error: IM002
    • Solution

      Change the section and DSN names to match those in the odbc.ini configuration file.

2.6. CLH9990 Error During Engine Startup

If the maximum allowed FD value is smaller than the Tmax-using FD value, CLH9990 error occurs.

  • Error Type

    When executing tmboot after installing Base, the CLH server does not start properly and the following error may be recorded in the clh error logs.

    “(F) CLH9990 Current Tmax configuration contains more servers
            or nodes than current system can support.”
  • Solution

    Modify the hard and soft limit values of the nofile that the Unix system currently allows. The following example shows how to change the value to 8192 in Linux.

    # vi /etc/security/limits.conf
    
    *                hard   nofile           8192
    *                soft   nofile           8192

    This method may vary depending on the different OS types. Refer to the manual provided by the OS vendor or contact the technical support team.