IBM® Informix® 12.10

Correcting assertion failures

An assertion failure occurs when the database server cannot continue normal processing and must shut down. You can correct some of the problems that cause assertion failures, such as disk issues. For other problems that cause assertion failures, you must contact IBM® Software Support.

If your production server is currently down, contact IBM Software Support immediately.

To correct an assertion failure:

  1. Look at the online log for the assertion failure message.
    The location of the online log is specified by the MSGPATH configuration parameter. Default:
    • UNIX: $INFORMIXDIR/tmp/online.log
    • Windows: %INFORMIXDIR%\online.log
  2. Perform any action mentioned in the assertion failure message. For example, you might need to run an oncheck command or increase the size of the physical or logical log buffer.
    The following table lists the common types of assertion failures and what you can do to correct the underlying problems.
    Table 1. Common types of assertion failures
    Error Cause Solutions
    bfcheck Corrupted data page, index, or partition page
    • Run the oncheck command in the assertion failure message.
    • If an index is corrupted, drop and recreate the index.
    • If a partition page is corrupted, you might need to restore the data.
    I/O write chunk Not enough shared memory or a hardware problem
    • Look at your operating system logs for hardware problems or problems with other software. Sometimes other software can trigger an Informix® assertion failure. Fix any hardware or other software problems.
    • Free up or increase shared memory for the database server.
    No exception handler Memory corruption Look at your operating system logs for hardware problems or problems with other software. Fix any hardware or other software problems.
    sigkill The oninit daemon was stopped. Restart the database server.
    segv

    sigbus

    • Memory corruption
    • An ill-behaved C user-defined routine
    • A defect in the database server
    • Look at your operating system logs for hardware problems or problems with other software. Fix any hardware or other software problems.
    • If you use C user-defined routines, check your code for problems. Make sure that your user-defined routines follow the guidelines for well-behaved routines.
    • If you are not running the latest Informix fix pack, check the latest Fixed and known defects file to see whether this issue is fixed. Upgrade to the latest Informix fix pack.
  3. Restart the database server. Some assertion failures can be solved by the database server during startup.
  4. If the database server does not start or the problem recurs, collect the following files for IBM Software Support in addition to the standard list of information to gather.
    Table 2. Files for support
    File Location
    assertion failure files: af.xxx, where xxx is the hexadecimal number associated with the failure Specified by the DUMPDIR configuration parameter. Default:
    • UNIX: $INFORMIXDIR/tmp
    • Windows: %INFORMIXDIR%\tmp
    sqlhosts file Specified by the INFORMIXSQLHOSTS environment variable. Default:
    • UNIX: $INFORMIXDIR/etc
    • Windows: %INFORMIXDIR%\etc
    onconfig file Specified by the ONCONFIG environment variable. Default:
    • UNIX: $INFORMIXDIR/etc
    • Windows: %INFORMIXDIR%\etc
    online log file Specified by the MSGPATH configuration parameter. Default:
    • UNIX: $INFORMIXDIR/tmp/online.log
    • Windows: %INFORMIXDIR%\online.log
    shared memory dump files: shmem.xxx, where xxx is the hexadecimal number associated with the failure Specified by the DUMPDIR configuration parameter. Default:
    • UNIX: $INFORMIXDIR/tmp
    • Windows: %INFORMIXDIR%\tmp

    Generated only if the DUMPSHMEM configuration parameter is set to 1 or 2.

  5. Contact IBM Software Support.


Examples exchange | Troubleshooting