From: XrXr@... Date: 2019-05-31T04:34:20+00:00 Subject: [ruby-core:92901] [Ruby trunk Bug#15887] Process.argv0 can return bad values in Ruby 2.5 Issue #15887 has been updated by alanwu (Alan Wu). Here's is a one line crasher: `ruby -e '$0 = "hi"; 4.times { GC.start }; Process.argv0.class'` This crashes 2.5.5 and 2.6.3, but 2.4.6 seems to be immune. Bisect points to 478003f6df40dc79d33c6ec86919f2dde07284be. I have a PR for this: https://github.com/ruby/ruby/pull/2213 ---------------------------------------- Bug #15887: Process.argv0 can return bad values in Ruby 2.5 https://bugs.ruby-lang.org/issues/15887#change-78274 * Author: joeym (Joey Marianer) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- MacOS 10.14.5 on a clean (source, using ruby-install) installation of Ruby 2.5.5 ``` $ ruby --version ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18] $ gem install vault vcr virtus webmock webrick $ echo Process.argv0 | irb ``` ...sometimes returns `{}`, sometimes some other nonsense and sometimes segfaults, but never (or rarely enough that I haven't seen it) returns a string ending in `bin/irb` as expected. Unfortunately the bug only manifests when certain gems are installed; the set I included above is one possible set of gems that triggers the bug; I don't know what's special about it. -- https://bugs.ruby-lang.org/ Unsubscribe: