Verissimo SystemVerilog Linter - How to Report an Issue

Description

This video outlines the pieces of information that a Verissimo issue report should contain, and includes instructions on how to generate log files and debug information.

This video was shot using Verissimo 21.1.22.

Transcript

Introduction

In order to quickly reproduce a problematic behavior and fix it, besides the problem description, screenshots, and code snippets, we often need logs and system information.

Providing Logs and System Information

The Verissimo standard output contains the minimally required information:

  • The version number
  • Heap size
  • Command line arguments
  • Run times of rules
  • Any exceptions that might have occurred during the linting

You can route the standard output to a log file using the -log command line argument. If for some reason you are unable to share the entire file, please make sure to include at least the aforementioned sections.

Generating a ThreadDump

In addition to this, a ThreadDump file can help us debug performance issues, for example, when the execution of particular rules takes longer than expected.

To generate a ThreadDump, simply add the -thread_dump_rules switch to the Verissimo command line, followed by the rule names separated by commas. It contains Verissimo stack traces in plain text format.

Setting Up ThreadDump Generation in ruleset.xml

You can also set up thread dump generation from the ruleset.xml file. Simply add the <thread-dump> tag to the configuration section. This way, thread dumps get generated regardless of how you run Verissimo, be it from the command line, from the DVT Eclipse IDE, or from a script or makefile in your continuous integration flow.

Providing Additional Configuration Files

To recreate a closer matching environment, any additional configuration, such as the waivers and ruleset.xml files, represents a valuable input.

Reporting an Issue from the DVT Eclipse IDE

When running Verissimo from the DVT Eclipse IDE, you can report an issue directly from within the tool.