Magne Sjaastad 4770abda8e Do not dispatch widget events while sending a crash report
Repainting while the crash handler pumps the event loop can crash again,
replacing the original report with one blaming the crash handler.

Call stack:
[0] performCrashLogging at ResInsight/ApplicationExeCode/RiaMainTools.cpp:178
[1] manageSegFailureSA(int, siginfo_t*, void*) at ResInsight/ApplicationExeCode/RiaMainTools.cpp:310
[21] RiaGuiApplication::notify(QObject*, QEvent*) at ResInsight/ApplicationLibCode/Application/RiaGuiApplication.cpp:1879
[30] RiaOpenTelemetryManager::reportCrash(int, std::basic_stacktrace<std::allocator<std::stacktrace_entry> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) at ResInsight/ApplicationLibCode/Application/Tools/Telemetry/RiaOpenTelemetryManager.cpp:429
[31] performCrashLogging at ResInsight/ApplicationExeCode/RiaMainTools.cpp:211
[32] manageSegFailureSA(int, siginfo_t*, void*) at ResInsight/ApplicationExeCode/RiaMainTools.cpp:310
[52] RiaGuiApplication::notify(QObject*, QEvent*) at ResInsight/ApplicationLibCode/Application/RiaGuiApplication.cpp:1879
[62] main at ResInsight/ApplicationExeCode/RiaMain.cpp:267
[63] __libc_start_main at :0
2026-10-19 09:41:18 +02:00
2024-10-04 13:25:20 +02:00
2024-10-31 15:39:52 +01:00
2013-04-19 08:58:57 +02:00

ResInsight

ResInsight is an open source, cross-platform 3D visualization and post-processing tool for reservoir models and simulations.

Key Features

  • 3D Visualization: Grid properties, faults, LGRs, intersections, contour maps and cell filters, using multi-core CPUs for responsive operation
  • Ensembles: Grid and summary ensembles with statistics, contour maps and correlation analysis
  • Plotting: Summary, well log, RFT, PLT, well allocation, flow characteristics, cross plots and histograms
  • Wells and Completions: Well paths, perforations, fishbones, valves and fractures, with export of completion data (COMPDAT, WELSEGS, COMPSEGS)
  • Geomechanics: Abaqus results with derived stress and strain quantities
  • Seismic: Seismic volumes displayed together with grids and wells
  • Model Export: Sector models and grid properties in simulator input format, surfaces as IRAP and TSurf
  • Python API: The rips package drives ResInsight and exchanges data through gRPC
  • GNU Octave: Result manipulation and computations with two-way data exchange
  • Cloud Data: Well paths and well logs from OSDU, and grid properties from Sumo

Supported Input Formats

  • Grids and results: Eclipse/OPM Flow binary output (*.GRID, *.EGRID with *.INIT, *.UNRST, *.XNNN), Eclipse input (*.GRDECL), ROFF (*.roff, *.roffasc)
  • Summary data: Eclipse/OPM Flow summary (*.SMSPEC, *.ESMRY), observed data (*.RSM, *.txt, *.csv), Reveal and StimPlan summary (*.csv)
  • Well paths: *.dev, *.asc, *.ascii, *.rmswell, *.w, *.json
  • Well logs: LAS (*.las), CSV
  • Completions: Perforation intervals (*.ev), valve templates, StimPlan and thermal fracture templates (*.xml, *.csv)
  • Surfaces: IRAP (*.irap, *.gri), GOCAD TSurf (*.ts), VTK (*.vtu, *.pvd), point sets (*.ptl, *.xyz, *.dat)
  • Geomechanics: Abaqus (*.odb, *.inp), VTK (*.pvd)
  • Seismic: ZGY (*.zgy), OpenVDS (*.vds), SEG-Y (*.sgy, *.segy)
  • Other: Formation names (*.lyr), polygons (*.pol, *.csv, *.dat), VFP tables (*.vfp, *.ecl), well measurements, pressure-depth data

Technology Stack

ResInsight utilizes:

  • Equinor/resdata and OPM/opm-common libraries for Eclipse result file access
  • Qt for the application framework
  • Qwt for plotting functionality
  • vcpkg for dependency management

Platform Support

ResInsight is cross-platform with automated testing on:

  • Red Hat Enterprise Linux (RHEL)
  • Ubuntu
  • Windows 11
  • macOS (Apple Silicon and Intel)

Documentation

Development

Source Code

git clone https://github.com/OPM/ResInsight.git

Minimum Requirements

  • gcc 13
  • clang 19
  • AppleClang 17 (Xcode 16)
  • CMake 3.26
  • MSVC 2022 17.4

These requirements are defined by used features in c++23 like std::stacktrace and std::expected.

Dependencies

Most dependencies are managed using vcpkg as defined in vcpkg.json

Contributing

Contributions are welcome! See CONTRIBUTING.md for the issue policy and pull request guidelines.

  • Use the dev branch for contributions and pull requests
  • Releases are defined by tags
  • See Spell Checking Guide for information on automated spell checking

Building

See the Build Instructions for detailed setup information.

License

ResInsight is co-developed by Equinor ASA, Ceetron Solutions AS, and Ceetron AS. The software is copyrighted by Ceetron and Equinor and licensed under GPL 3+. See the COPYING file for details.

Languages
C++ 88.8%
ECL 4.7%
TypeScript 2.9%
Python 1.8%
CMake 0.6%
Other 1%