Issue #15887 has been updated by jeremyevans0 (Jeremy Evans).

Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.4: DONTNEED, 2.5: REQUIRED, 2.6: REQUIRED

I've reviewed and tested the pull request and it appears to be the correct fix to me.  I confirmed this does crash immediately on 2.5.5, 2.6.3, 2.7.0-preview1, and trunk, and the fix makes it no longer crash. This fix should be backported to 2.5 and 2.6.

----------------------------------------
Bug #15887: Process.argv0 can return bad values in Ruby 2.5
https://bugs.ruby-lang.org/issues/15887#change-78276

* 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: DONTNEED, 2.5: REQUIRED, 2.6: REQUIRED
----------------------------------------
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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>