Product Documentation
Virtuoso Studio Design Environment User Guide
Product Version IC23.1, November 2023

VAILS Enabled Script

VAILS is enabled when there is a script called vails_enabled present in the install hierarchy at the following location:

install_dir/share/cdssetup/vails/vails_enabled

A sample script called vails_enabled.sample is available in the vails folder. You can rename this script to vails_enabled to enable VAILS and start submitting diagnostic logs.

For the vails_enabled script to run successfully, it must not be empty. Additionally, it must be readable and executable. You can set the executable flag on the script by using the following command:

chmod a+rx vails_enabled

When this script is present, the .VirtuosoMonitor wrapper script is launched. This script triggers the automatic diagnostic log submission process when Virtuoso exits.

The vails_enabled script is passed two arguments:

When Virtuoso exits, the vails_enabled script is called, and a decision is made about whether any diagnostic logs need to be sent to Cadence based on the criteria specified in the script.

For example, to send all diagnostic logs, the vails_enabled script might contain:

#!/bin/sh
# If the vails_enabled script file exists in the Cadence directory
# (<install_dir>/share/cdssetup/vails) VAILS will be enabled. It will be called
# before log submission and if it returns a failure exit status submission will
# be suppressed, otherwise it will proceed.
type="$1"
log="$2"
case $type in
    crash | hang)
      # Submit logs for all crashes and hangs
      exit 0
      ;;
    *)
      # By default, suppress all other submissions. In the future, other types of
      # submission will be enabled, including for non-crashing sessions.
      exit 1
      ;;
esac

You can further customize this script.

The following example shows how to set up the vails_enabled script to send a crash log only for users who have a file called enable_vails in their HOME directory. No crash logs are sent for other users.

if [ $type = "crash" ] && [ -f $HOME/enable_vails ]; then
  exit 0
fi
exit 1

This script does not submit the hang longs because $type is set to crash. To submit hang logs also use:

if ( [ $type = "crash" ] || [ $type = "hang" ] ) \
  && [ -f $HOME/vails_enable ]; then
exit 0
fi
exit 1

You can further customize this script to add conditions and actions. For example, you can add a condition to filter the submissions based on a specific user, group, or project.

If the vails_enabled script does not exist, the diagnostic logs are not sent to Cadence automatically.

If the crash report gets submitted successfully, the following message is displayed in the terminal:

A diagnostic report has been submitted to Cadence for investigation.

If the submission fails, the following message is displayed in the terminal:

A diagnostic report was not submitted to Cadence because the 'vails_enabled' configuration script chose not to submit this error.

Related Topics

Automatic Diagnostic Log Submissions in Virtuoso


Return to top
 ⠀
X