Project

General

Profile

« Previous | Next » 

Revision 31b2cd38

Added by Chris Seaton almost 3 years ago

Include JIT information in crash reports

Since enabling YJIT or MJIT drastically changes what could go wrong at
runtime, it's good to be front and center about whether they are enabled
when dumping a crash report. Previously, RUBY_DESCRIPTION and the
description printed when crashing can be different when a JIT is on.

Introduce a new internal data global, rb_dynamic_description, and set
it to be the same as RUBY_DESCRIPTION during initialization; use it
when crashing.

  • version.c: Init_ruby_description(): Initialize and use
    rb_dynamic_description.
  • error.c: Change crash reports to use rb_dynamic_description.
  • ruby.c: Call Init_ruby_description() earlier. Slightly more work
    for when we exit right after printing the description but that
    was deemed acceptable.
  • include/ruby/version.h: Talk about how JIT info is not in
    ruby_description.
  • test/-ext-/bug_reporter/test_bug_reporter.rb: Remove handling for
    crash description being different from RUBY_DESCRIPTION.
  • test/ruby/test_rubyoptions.rb: ditto

Co-authored-by: Nobuyoshi Nakada
Co-authored-by: Alan Wu