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:
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:
-
Submission type, which is a string with value
"crash"or"hang". - Path to directory where diagnostic logs are stored.
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