mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
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 <nobu@ruby-lang.org> Co-authored-by: Alan Wu <alanwu@ruby-lang.org>
This commit is contained in:
parent
5ca2335802
commit
31b2cd38c5
Notes:
git
2022-06-21 06:57:49 +09:00
6 changed files with 16 additions and 20 deletions
6
ruby.c
6
ruby.c
|
@ -1826,10 +1826,11 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
|
|||
rb_yjit_init();
|
||||
#endif
|
||||
}
|
||||
if (opt->dump & (DUMP_BIT(version) | DUMP_BIT(version_v))) {
|
||||
#if USE_MJIT
|
||||
mjit_opts.on = opt->mjit.on; /* used by ruby_show_version(). mjit_init() still can't be called here. */
|
||||
mjit_opts.on = opt->mjit.on; /* used by Init_ruby_description(). mjit_init() still can't be called here. */
|
||||
#endif
|
||||
Init_ruby_description();
|
||||
if (opt->dump & (DUMP_BIT(version) | DUMP_BIT(version_v))) {
|
||||
ruby_show_version();
|
||||
if (opt->dump & DUMP_BIT(version)) return Qtrue;
|
||||
}
|
||||
|
@ -1888,7 +1889,6 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
|
|||
mjit_init(&opt->mjit);
|
||||
#endif
|
||||
|
||||
Init_ruby_description();
|
||||
Init_enc();
|
||||
lenc = rb_locale_encoding();
|
||||
rb_enc_associate(rb_progname, lenc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue