[#97319] [Ruby master Feature#16667] Allow parameters to Symbol#to_proc and Method#to_proc — jgomo3@...

Issue #16667 has been reported by jgomo3 (Jes俍 Gez).

10 messages 2020/03/01

[#97344] [Ruby master Feature#16670] Reverse order of `expression` in `pattern` for 1-line pattern matching while it's still experimental — ttilberg@...

Issue #16670 has been reported by ttilberg (Tim Tilberg).

9 messages 2020/03/03

[#97355] [Ruby master Misc#16671] BASERUBY version policy — ko1@...

Issue #16671 has been reported by ko1 (Koichi Sasada).

10 messages 2020/03/04

[#97359] [Ruby master Bug#16672] net/http leaves original content-length header intact after inflating response — justin.reid@...

Issue #16672 has been reported by jmreid (Justin Reid).

15 messages 2020/03/04

[#97390] [Ruby master Bug#16677] Negative integer powered (**) to a float number results in a complex — camille.drapier@...

Issue #16677 has been reported by CamilleDrapier (Camille Drapier).

25 messages 2020/03/07

[#97410] [Ruby master Bug#16680] [Breaking Change] Ruby 2.7 not support symlinks folder in $LOAD_PATH to work with autoload. — vil963@...

Issue #16680 has been reported by zw963 (Wei Zheng).

8 messages 2020/03/07

[#97416] [Ruby master Bug#16682] Ruby 2.7.0p0 crash on exit if there is an active RUBY_INTERNAL_EVENT_GC_EXIT tracepoint — jean.boussier@...

Issue #16682 has been reported by byroot (Jean Boussier).

16 messages 2020/03/09

[#97448] [Ruby master Feature#16688] Allow #to_path object as argument to system() — daniel@...42.com

Issue #16688 has been reported by Dan0042 (Daniel DeLorme).

12 messages 2020/03/11

[#97528] [Ruby master Misc#16693] DevelopersMeeting20200410Japan — mame@...

Issue #16693 has been reported by mame (Yusuke Endoh).

12 messages 2020/03/16

[#97536] [Ruby master Bug#16694] JIT vs hardened GCC with PCH — v.ondruch@...

Issue #16694 has been reported by vo.x (Vit Ondruch).

11 messages 2020/03/18

[#97538] [Ruby master Bug#16695] Stack consistency error when using the return value — s.wakeup31@...

Issue #16695 has been reported by s4ichi (takamasa saichi).

10 messages 2020/03/18

[#97554] [Ruby master Bug#16697] Hash.ruby2_keywords_hash?(value) should support any object — eregontp@...

Issue #16697 has been reported by Eregon (Benoit Daloze).

12 messages 2020/03/19

[#97609] [Ruby master Bug#16740] Deprecating and removing the broken Process.clock_getres — eregontp@...

Issue #16740 has been reported by Eregon (Benoit Daloze).

14 messages 2020/03/28

[#97621] [Ruby master Bug#16743] problem with multi threading [BUG] Segmentation fault — pauloo.jansen@...

Issue #16743 has been reported by paulorja (paulo jansen).

12 messages 2020/03/29

[#97629] [Ruby master Feature#16744] Flag to load current bundle without using bundle exec — headius@...

Issue #16744 has been reported by headius (Charles Nutter).

11 messages 2020/03/30

[ruby-core:97428] [Ruby master Bug#16683] Regression in ruby 2.7 opening filenames that have non-UTF8 characters in them

From: merch-redmine@...
Date: 2020-03-09 20:21:59 UTC
List: ruby-core #97428
Issue #16683 has been updated by jeremyevans0 (Jeremy Evans).


I can't recreate this failure on OpenBSD with 2.7.0 or the master branch, with or without a UTF-8 locale:

```
$ ruby28 -ve 'p Encoding.default_external; File.open("chef-test-\xFDmlaut", "w+")'
ruby 2.8.0dev (2020-03-09) [x86_64-openbsd6.6]
#<Encoding:US-ASCII>

$ ruby28 -Eutf-8 -ve 'p Encoding.default_external; File.open("chef-test-\xFDmlaut", "w+")'
ruby 2.8.0dev (2020-03-09) [x86_64-openbsd6.6]
#<Encoding:UTF-8>

$ ruby27 -ve 'p Encoding.default_external; File.open("chef-test-\xFDmlaut", "w+")'
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-openbsd]
#<Encoding:US-ASCII>

$ ruby27 -Eutf-8 -ve 'p Encoding.default_external; File.open("chef-test-\xFDmlaut", "w+")'
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-openbsd]
#<Encoding:UTF-8>
```

Also no errors when testing Ruby 2.7.0 on Windows 10:

```
C:\>C:\Ruby27-x64\bin\ruby -ve 'p Encoding.default_external; File.open("chef-test-\xFDmlaut", "w+")'
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x64-mingw32]
#<Encoding:IBM437>

C:\>C:\Ruby27-x64\bin\ruby -Eutf-8 -ve 'p Encoding.default_external; File.open("chef-test-\xFDmlaut", "w+")'
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x64-mingw32]
#<Encoding:UTF-8>
```

I would guess this issue is caused by the open(2) system call returning -1 and setting errno to EILSEQ.  I don't think Ruby has any control over that.  Maybe the /tmp filesystem in use doesn't support that filename (seems odd)?

----------------------------------------
Bug #16683: Regression in ruby 2.7 opening filenames that have non-UTF8 characters in them
https://bugs.ruby-lang.org/issues/16683#change-84562

* Author: lamont (Lamont Granquist)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin18]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------

Real simple repro case:

```
[1] pry(main)> fp = File.open("/tmp/chef-test-\xFDmlaut", "w+")
Errno::EILSEQ: Illegal byte sequence @ rb_sysopen - /tmp/chef-test-�mlaut
from (pry):1:in `initialize'
```

This used to work in ruby < 2.6, setting Encoding.default_external and Encoding.default_internal to ASCII-8BIT does not help.

Seems to fail on every linux based O/S we test on along with MacOS at least.

This is a use case that we need to support in cases where ruby needs to run under UTF-8 but may need to manage files with names that were written in other encodings.  The ruby application does not necessarily control or own these files or their names and cannot impose UTF-8 naming on the filesystem.  The requirement is that the ruby application is able to read any arbitrary file on the filesystem written by any other application on the system, with any encoding set locally on that other application (where the ruby process has no a prior information about which application wrote the file, it just has the file).  And even if the filename is just binary garbage the ruby application needs to be able to open it and analyze it.

Since this is getting thrown deep from rb_sysopen I'm not sure of any way to work around it from within ruby by finding an alternative API.



-- 
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>

In This Thread