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

Validation of Automatic Diagnostic Log Submission

You can validate that the automatic diagnostic log submission is working with the help of the vails_test script. This script is located in the following folder:

install_dir/share/cdssetup/vails/

By default, this script checks the whether the vails_enabled script is readable and executable.

To run the vails_test script, type the following command at the UNIX prompt and press Enter:

> $ $share/cdssetup/vails/vails_test 

If the vails_enabled script is working, the following messages are displayed in the output:

[OK] Located root of virtuoso installation at /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download

[OK] '/servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/share/cdssetup/vails/vails_enabled' script is installed, and is readable and executable.

[OK] 'vails_enabled' script allows log upload after crash

[OK] 'vails_enabled' script allows log upload after hang

[OK] 'vails_enabled' script disallows log upload for event type other than 'crash' and 'hang'.

[INFO] Checking if AWS is reachable...

[INFO] Received response.

[INFO] AWS is reachable.

[OK] VAILS configuration is good.

If there are any errors or warnings, they are reported in the following way:

[WARN] 'vails_enabled' script does not allow log upload after crash. If this is expected, ignore this warning.

[WARN] 'vails_enabled' script does not allow log upload after hang. If this is expected, ignore this warning.

[ERROR] 'vails_enabled' script allows log upload for event types other than 'crash' and 'hang' . Other event types may be used in future releases to trigger log submission. Check the documentation to see how to modify the script to restrict log submission to crashes and hangs.

[ERROR] 'vails_enabled' script is not executable.

[ERROR] 'vails_enabled' script is not readable.

[ERROR] 'vails_enabled' script is empty.

The vails_test script also checks whether AWS is reachable. This check is performed after validating the configuration of the vails_enabled script and before the submission of the test crash log. AWS is considered unreachable when there is no response received from it within 60 seconds.

When AWS is not reachable, the following messages are displayed:

[INFO] Checking if AWS is reachable...

[ERROR] Request failed with response:

Connection closed

[ERROR] AWS is not reachable from this machine. This could be due to a firewall. If you have access to an HTTP proxy, try setting the shell environment variable https_proxy to ":>http://:".

[ERROR] Cannot submit logs because AWS is not reachable from eu-lnx-38.

You can use the vails_test script for the following tasks:

Case 1: If you provide an additional argument yes, the script generates an artificial crash by issuing a fatal command in the CIW. If the vails_enabled script is working, the crash log gets created and submitted.

To run the vails_test script with argument yes, type the following command at the UNIX prompt and press Enter:

> $share/cdssetup/vails/vails_test yes

If the vails_enabled script is working, the following messages are displayed in the output:

[OK] Located root of virtuoso installation at /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download

[OK] '/servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/share/cdssetup/vails/vails_enabled' script is installed, and is readable and executable.

[OK] 'vails_enabled' script allows log upload after crash

[OK] 'vails_enabled' script allows log upload after hang

[OK] 'vails_enabled' script disallows log upload for event type other than 'crash' and 'hang'.

[INFO] Checking if AWS is reachable...

[INFO] Received response.

[INFO] AWS is reachable.

[INFO] Preparing artificial virtuoso crash log for submission...

[INFO] Looking for path to crash report in /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/share/cdssetup/vails/artificial_crash.log.

[INFO] Crash report file is /tmp/crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7_asanwal_noivl-asanwal.log.

[INFO] Log type is crash.

[INFO] Target name is /tmp/anonymized_crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7.log.

[INFO] Anonymization tool is /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/tools/dfII/bin/vailsAnonymizeLog.sh.

[INFO] Command to anonymize file(s):

/servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/tools/dfII/bin/vailsAnonymizeLog.sh /tmp/crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7_asanwal_noivl-asanwal.log.CDS.log /tmp/anonymized_crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7.log.CDS.log /tmp/crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7_asanwal_noivl-asanwal.log /tmp/anonymized_crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7.log

[INFO] Command to create archive file 103426.tar:

tar cf 103426.tar -C /tmp anonymized_crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7.log.CDS.log -C /tmp anonymized_crashReport_060123_160424_ICADVM20.1-64b.500.33.EA7.log

[INFO] Command to compress archive file:

gzip 103426.tar

[INFO] Requesting URL for upload.

[INFO] Sending request.

[INFO] Received response.

[INFO] Received valid URL.

[INFO] Sending upload request.

[INFO] Received response.

[INFO] Successfully uploaded file.

[OK] Crash log submitted successfully.

[OK] VAILS configuration is good.

Virtuoso is launched, when Preparing artificial virtuoso crash log for uploading... is displayed in the output, and the CIW appears briefly before an artificial crash is invoked using a replay file.

Case 2: If the vailsAnonymizeLog.cfg file is missing. In this case, when you run the vails_test script with argument yes at the UNIX prompt, the following messages are displayed.

[OK] Located root of virtuoso installation at /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download

[OK] '/servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/share/cdssetup/vails/vails_enabled' script is installed, and is readable and executable.

[OK] 'vails_enabled' script allows log upload after crash

[OK] 'vails_enabled' script allows log upload after hang

[OK] 'vails_enabled' script disallows log upload for event type other than 'crash' and 'hang'.

[INFO] Checking if AWS is reachable...

[INFO] Received response.

[INFO] AWS is reachable.

[INFO] Preparing artificial virtuoso crash log for submission...

[INFO] Looking for path to crash report in /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/share/cdssetup/vails/artificial_crash.log.

[INFO] Crash report file is /tmp/crashReport_060123_161108_ICADVM20.1-64b.500.33.EA7_asanwal_noivl-asanwal.log.

[INFO] Log type is crash.

[INFO] Target name is /tmp/anonymized_crashReport_060123_161108_ICADVM20.1-64b.500.33.EA7.log.

[INFO] Anonymization tool is /servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/tools/dfII/bin/vailsAnonymizeLog.sh.

[INFO] Command to anonymize file(s):

/servers/cic_pe/asanwal/hier/ICADVM20.1ISR/latest_download/tools/dfII/bin/vailsAnonymizeLog.sh /tmp/crashReport_060123_161108_ICADVM20.1-64b.500.33.EA7_asanwal_noivl-asanwal.log.CDS.log /tmp/anonymized_crashReport_060123_161108_ICADVM20.1-64b.500.33.EA7.log.CDS.log /tmp/crashReport_060123_161108_ICADVM20.1-64b.500.33.EA7_asanwal_noivl-asanwal.log /tmp/anonymized_crashReport_060123_161108_ICADVM20.1-64b.500.33.EA7.log

[ERROR] Failed to anonymize file(s):

[ERROR] Unable to generate archive file.

[ERROR] Failed to submit crash log.

The script also returns an exit status that can be used to check the results when it is called from your own script. In case there are no errors exit status is zero. This means that all checks are fine, or all checks are fine with warnings, and a non-zero exit status if any error is reported.

vails_test Script to Launch Virtuoso using Job Scheduler

You can use the CDS_VAILS_TEST_LAUNCH_CMD shell environment variable to submit Virtuoso to a job scheduler rather than running it on the local machine. For example, the following command causes Virtuoso to be run by submitting a job to the lnx64 queue on the Load Sharing Facility (LSF) cluster:

CDS_VAILS_TEST_LAUNCH_CMD 'bsub -K -q lnx64'

The -K flag is needed because the vails_test script cannot proceed with its checks until Virtuoso exits. -K causes the bsub (command that submits jobs to LSF) to wait until the job finishes.

Related Topics

VAILS Enabled Script


Return to top
 ⠀
X