Crash Report Analysis Tools

System documentation for ResInsight


Crash Report Analysis Tools

Tools for analyzing ResInsight crash report CSV files exported from the telemetry system.

Prerequisites

  • Python 3.10 or newer
  • No third-party packages required (uses stdlib only)

analyze_crashes.py

Groups crash reports by unique call stack and prints a ranked summary. The signature used for grouping is the set of ResInsight-specific frames (classes prefixed with Rim, Ria, Rif, Ric, Riu, Riv, Rig), so minor differences in lower-level system or Qt frames are ignored.

Basic usage

python analyze_crashes.py <csv_file>

Example — analyze today’s export:

python analyze_crashes.py "..\2026-04-09-query_data.csv"

Options

Option Description
--min-count N Only show stacks that appear at least N times
--output FILE Write the report to a file instead of printing to the terminal

Examples

Show only stacks with 2 or more occurrences:

python analyze_crashes.py "..\2026-04-09-query_data.csv" --min-count 2

Save the full report to a text file:

python analyze_crashes.py "..\2026-04-09-query_data.csv" --output "..\reports\2026-04-09-analysis.txt"

Combine both:

python analyze_crashes.py "..\2026-04-09-query_data.csv" --min-count 2 --output "..\reports\2026-04-09-analysis.txt"

Output format

Total crash reports : 53
Unique call stacks  : 13

======================================================================
Stack #1  (count: 32, first seen: 4/9/2026, 11:05:37.642 AM)
======================================================================
  [0] performCrashLogging at ResInsight/ApplicationExeCode/RiaMainTools.cpp:147
  [13] RimFileSummaryCase::createSummaryReaderInterfaceThreadSafe(...) at RimFileSummaryCase.cpp:121
  ...

Stacks are sorted by occurrence count, highest first.