Error reporting in SQL Anywhere

When a fatal error or crash occurs and is detected by any of the following applications, an error report is created about what was happening at the time of the problem:

The error report includes information such as the execution state of the threads at the time of the crash, so that iAnywhere is better able to diagnose the cause of the problem. By default, the error report is created in the diagnostic directory (specified by the SADIAGDIR environment variable), or if this location does not exist, it is created in the same directory as the database file.

Error report file names are composed as follows:

  • a prefix that identifies the application:

    Application identifier Application
    LSN Listener utility
    LTM Replication Agent
    MLC MobiLink client
    MLS MobiLink server
    QAA QAnywhere agent
    SA Personal or network database server
    SR SQL Remote
  • a value indicating the software version

  • two fields linked with underscores that provide the timestamp for when the error report was created

  • the application identifier

  • the extension .mini_core

For example, SA11_20051220_133828_32116.mini_core is an error report from a SQL Anywhere version 11 database server from 2006/06/20, at 1:38:28 pm, from process 32116.

During normal database server operation, diagnostic information is also recorded about the database server, such as how many CPUs are on the computer, whether hyperthreading is enabled, and what options were specified when the server was started. This information can also be submitted using dbsupport.

How SQL Anywhere software submits error reports and diagnostic information

After the database server successfully writes out error report information, it launches Support utility (dbsupport) and passes it the name of the error report file to be submitted. By default, dbsupport attempts to prompt you to submit an error report when it is generated, but if dbsupport is unable to prompt you, then the report is not sent. iAnywhere encourages you to submit error reports when they occur. The report does not contain any information that identifies the sender.

Error reports and diagnostic information are uploaded to the iAnywhere Error Reporting web site via HTTP. This process saves you time by making it as convenient as possible to send relevant files to iAnywhere so that it is possible to diagnose and provide solutions to problems you encounter.

You can change the default behavior of dbsupport with the -cc option:

  • The following command configures dbsupport to submit error reports automatically without prompting the user:

    dbsupport -cc autosubmit
  • The following command turns off automatic error report submission:

    dbsupport -cc no

If you choose not to submit an error report, it remains in the diagnostic directory on your hard disk. The location of the diagnostic directory is specified by the SADIAGDIR environment variable. See SADIAGDIR environment variable.

You can view the list of error reports with the -lc option:

  • The following command generate a list of all crash reports that have not been submitted to iAnywhere Solutions:

    dbsupport -lc

Submitting error reports to iAnywhere assists with diagnosing the cause of a fatal error or assertion. Once an error report is submitted, it is deleted from the computer where it was generated. See Support utility (dbsupport).

You can manually submit the error reports with the -sc option:

  • The following command submits all crash report and diagnostic information stored in the diagnostic directory to iAnywhere Solutions:

    dbsupport -sa