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.
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 thedescription printed when crashing can be different when a JIT is on.
Introduce a new internal data global,
rb_dynamic_description
, and setit to be the same as
RUBY_DESCRIPTION
during initialization; use itwhen crashing.
rb_dynamic_description
.rb_dynamic_description
.Init_ruby_description()
earlier. Slightly more workfor when we exit right after printing the description but that
was deemed acceptable.
ruby_description
.crash description being different from
RUBY_DESCRIPTION
.Co-authored-by: Nobuyoshi Nakada [email protected]
Co-authored-by: Alan Wu [email protected]