[#105882] [Ruby master Bug#18280] Segmentation Fault in rb_utf8_str_new_cstr(NULL) — "ukolovda (Dmitry Ukolov)" <noreply@...>

Issue #18280 has been reported by ukolovda (Dmitry Ukolov).

13 messages 2021/11/01

[#105897] [Ruby master Bug#18282] Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants` — "yahonda (Yasuo Honda)" <noreply@...>

Issue #18282 has been reported by yahonda (Yasuo Honda).

12 messages 2021/11/02

[#105909] [Ruby master Misc#18285] NoMethodError#message uses a lot of CPU/is really expensive to call — "ivoanjo (Ivo Anjo)" <noreply@...>

Issue #18285 has been reported by ivoanjo (Ivo Anjo).

37 messages 2021/11/02

[#105920] [Ruby master Bug#18286] Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64 — "ccaviness (Clay Caviness)" <noreply@...>

Issue #18286 has been reported by ccaviness (Clay Caviness).

16 messages 2021/11/03

[#105928] [Ruby master Feature#18287] Support nil value for sort in Dir.glob — "Strech (Sergey Fedorov)" <noreply@...>

Issue #18287 has been reported by Strech (Sergey Fedorov).

16 messages 2021/11/04

[#105944] [Ruby master Bug#18289] Enumerable#to_a should delegate keyword arguments to #each — "Ethan (Ethan -)" <noreply@...>

Issue #18289 has been reported by Ethan (Ethan -).

8 messages 2021/11/05

[#105967] [Ruby master Bug#18293] Time.at in master branch was 25% slower then Ruby 3.0 — "watson1978 (Shizuo Fujita)" <noreply@...>

Issue #18293 has been reported by watson1978 (Shizuo Fujita).

17 messages 2021/11/08

[#106008] [Ruby master Bug#18296] Custom exception formatting should override `Exception#full_message`. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18296 has been reported by ioquatix (Samuel Williams).

14 messages 2021/11/10

[#106033] [Ruby master Bug#18330] Make failure on 32-bit Linux (Android) with Clang due to implicit 64-to-32-bit integer truncation — "xtkoba (Tee KOBAYASHI)" <noreply@...>

Issue #18330 has been reported by xtkoba (Tee KOBAYASHI).

10 messages 2021/11/11

[#106053] [Ruby master Misc#18335] openindiana ruby 3.1 preview needs --disable-dtrace — "stes (David Stes)" <noreply@...>

Issue #18335 has been reported by stes (David Stes).

14 messages 2021/11/14

[#106069] [Ruby master Feature#18339] GVL instrumentation API — "byroot (Jean Boussier)" <noreply@...>

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

13 messages 2021/11/15

[#106145] [Ruby master Misc#18346] DevelopersMeeting20211209Japan — "mame (Yusuke Endoh)" <noreply@...>

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

11 messages 2021/11/18

[#106173] [Ruby master Feature#18349] Let --jit enable YJIT — "k0kubun (Takashi Kokubun)" <noreply@...>

Issue #18349 has been reported by k0kubun (Takashi Kokubun).

8 messages 2021/11/19

[#106175] [Ruby master Feature#18351] Support anonymous rest and keyword rest argument forwarding — "jeremyevans0 (Jeremy Evans)" <noreply@...>

Issue #18351 has been reported by jeremyevans0 (Jeremy Evans).

10 messages 2021/11/19

[#106279] [Ruby master Feature#18364] Add GC.stat_size_pool for Variable Width Allocation — "peterzhu2118 (Peter Zhu)" <noreply@...>

Issue #18364 has been reported by peterzhu2118 (Peter Zhu).

14 messages 2021/11/25

[#106308] [Ruby master Feature#18367] Stop the interpreter from escaping error messages — "mame (Yusuke Endoh)" <noreply@...>

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

13 messages 2021/11/29

[#106314] [Ruby master Feature#18368] Range#step semantics for non-Numeric ranges — "zverok (Victor Shepelev)" <noreply@...>

Issue #18368 has been reported by zverok (Victor Shepelev).

39 messages 2021/11/29

[#106341] [Ruby master Bug#18369] users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" } — dorianmariefr <noreply@...>

Issue #18369 has been reported by dorianmariefr (Dorian Mari辿).

14 messages 2021/11/30

[#106347] [Ruby master Feature#18370] Call Exception#full_message to print exceptions reaching the top-level — "Eregon (Benoit Daloze)" <noreply@...>

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

10 messages 2021/11/30

[ruby-core:106292] [Ruby master Bug#18250] Anonymous variables seem to break `Ractor.make_shareable`

From: "byroot (Jean Boussier)" <noreply@...>
Date: 2021-11-26 16:46:57 UTC
List: ruby-core #106292
Issue #18250 has been updated by byroot (Jean Boussier).


I tried to backport these 5 commits and it does solve the problem in normal builds. However with `cppflags=-DRUBY_DEBUG` I do get the following error:

```
estISeq#test_cdhash_after_roundtripWe are killing the stack canary set by opt_case_dispatch, at <RubyVM::InstructionSequence:<compiled>@/Users/byroot/src/github.com/Shopify/ruby/test/ruby/test_iseq.rb:1>@pc=25
watch out the C stack trace.
== disasm: #<ISeq:<compiled>@/Users/byroot/src/github.com/Shopify/ruby/test/ruby/test_iseq.rb:1 (1,0)-(4,3)> (catch: FALSE)
0000 opt_getinlinecache                     9, <is:0>                 (   1)[Li]
0003 putobject                              true
0005 getconstant                            :Class
0007 opt_setinlinecache                     <is:0>
0009 opt_getinlinecache                     18, <is:1>
0012 putobject                              true
0014 getconstant                            :String
0016 opt_setinlinecache                     <is:1>
0018 opt_send_without_block                 <calldata!mid:new, argc:1, ARGS_SIMPLE>
0020 putstring                              "foo"
0022 opt_send_without_block                 <calldata!mid:new, argc:1, ARGS_SIMPLE>
0024 dup
0025 opt_case_dispatch                      <cdhash>, 35
0028 dup                                                              (   2)
0029 putobject                              "foo"
0031 checkmatch                             2
0033 branchif                               38
0035 pop                                                              (   1)
0036 putnil
0037 leave                                                            (   3)
0038 pop                                                              (   2)
0039 putobject                              42                        (   3)[Li]
0041 leave
/Users/byroot/src/github.com/Shopify/ruby/test/ruby/test_iseq.rb:1: [BUG] see above.
```

From this test:

```ruby
  def test_cdhash_after_roundtrip
    # CDHASH was not built properly when loading from binary and
    # was causing opt_case_dispatch to clobber its stack canary
    # for its "leaf" instruction attribute.
    iseq = compile(<<~EOF)
      case Class.new(String).new("foo")
      when "foo"
        42
      end
    EOF
    assert_equal(42, ISeq.load_from_binary(iseq.to_binary).eval)
  end
```

That test was added in 4323fa96c4350ecad5f3d607805b7ecd3870bdb5, so I wonder if we miss something.

----------------------------------------
Bug #18250: Anonymous variables seem to break `Ractor.make_shareable`
https://bugs.ruby-lang.org/issues/18250#change-94917

* Author: tenderlovemaking (Aaron Patterson)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]
* Backport: 2.7: DONTNEED, 3.0: REQUIRED
----------------------------------------
The following code breaks with a strange error:

```ruby
def foo(*); ->{ super };end
Ractor.make_shareable(foo) # expected Symbol
```

Output:

```
[aaron@tc ~/g/ruby (master)]$ cat test.rb
def foo(*); ->{ super };end      
Ractor.make_shareable(foo) # expected Symbol
[aaron@tc ~/g/ruby (master)]$ ruby test.rb
<internal:ractor>:816:in `make_shareable': wrong argument type false (expected Symbol) (TypeError)
        from test.rb:2:in `<main>'
[aaron@tc ~/g/ruby (master)]$
```

The reason is because the `*` parameter has no name, but Ractor tries to find the name so it can make an exception.

I *expect* the above program to raise an `Ractor::IsolationError`, but instead it raises a `TypeError`.

I've attached a patch that fixes this bug.

---Files--------------------------------
0001-Give-params-a-name.patch (3.33 KB)


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