[ruby-core:96100] [Ruby master Bug#16382] SystemStackError thrown when running `LC_ALL="C" RUBYLIB=".:" ruby -E cp932:utf-8 aaa.rb` from where the current dir contains Japanese characters

[email protected]
Newsgroups gmane.comp.lang.ruby.core
Message-ID <redmine.journal-82960.20191204030120.f2b2d137bc511dd3@ruby-lang.org>
Issue #16382 has been updated by Tietew (Toru Iwase).


same issue with 2.6.5 [x86_64-linux].
I think backport 2.6 is REQUIRED.

```
~/tmp/テスト$ echo "puts 'ok'" > aaa.rb
~/tmp/テスト$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
~/tmp/テスト$ LC_ALL="C" RUBYLIB=".:" ruby -E cp932:utf-8 aaa.rb
Traceback (most recent call last):
        2: from <internal:gem_prelude>:5:in `<internal:gem_prelude>'
        1: from /usr/local/anyenv/envs/rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/usr/local/anyenv/envs/rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': stack level too deep (SystemStackError)
```

No need to set LC_ALL and encoding:

```
~/tmp/テスト$ echo $LANG
ja_JP.UTF-8
~/tmp/テスト$ ruby aaa.rb
ok
~/tmp/テスト$ RUBYLIB="." ruby aaa.rb
Traceback (most recent call last):
        2: from <internal:gem_prelude>:5:in `<internal:gem_prelude>'
        1: from /usr/local/anyenv/envs/rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/usr/local/anyenv/envs/rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': stack level too deep (SystemStackError)
```


----------------------------------------
Bug #16382: SystemStackError thrown when running `LC_ALL="C" RUBYLIB=".:" ruby -E cp932:utf-8 aaa.rb` from where the current dir contains Japanese characters
https://bugs.ruby-lang.org/issues/16382#change-82960

* Author: yuki24 (Yuki Nishijima)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.7.0dev (2019-11-29T23:00:40Z master 0b1b2f2442) [x86_64-darwin18]
* Backport: 2.5: REQUIRED, 2.6: DONTNEED
----------------------------------------
## Steps to reproduce

```
~/GitHub/ruby/did_you_mean/テスト$ LC_ALL="C" RUBYLIB=".:" ruby -E cp932:utf-8 aaa.rb
Traceback (most recent call last):
	2: from <internal:gem_prelude>:5:in `<internal:gem_prelude>'
	1: from /Users/yuki/.rbenv/versions/2.7.0-dev/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
/Users/yuki/.rbenv/versions/2.7.0-dev/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require': stack level too deep (SystemStackError)
```

The key points are:

 * The current directory contains one or more Japanese character (perhaps non-alphabet char is what's causing the issue, but I'm unfamiliar with other types of chars)
 * Only happens when `LC_ALL="C" RUBYLIB=".:"` environment variables and the option `-E cp932:utf-8` are given
 * The existing of the file that is supposed to be run by the executable does not seem to matter

## Actual

A `SystemStackError` is thrown.

## Expected

The file specified should be run or Ruby should throw a `No such file or directory -- aaa.rb (LoadError)` error.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.