[#104740] [Ruby master Feature#18057] Introduce Array#average — ggmichaelgo@...

Issue #18057 has been reported by ggmichaelgo (Michael Go).

14 messages 2021/08/02

[#104774] [Ruby master Bug#18061] Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found — jaruga@...

Issue #18061 has been reported by jaruga (Jun Aruga).

48 messages 2021/08/04

[#104780] [Ruby master Bug#18062] Ruby with enabled LTO segfaults during build — v.ondruch@...

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

30 messages 2021/08/05

[#104831] [Ruby master Bug#18066] Load did_you_mean eve/error_highlight even with --disable-gems — v.ondruch@...

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

10 messages 2021/08/07

[#104851] [Ruby master Bug#18073] test/ruby/test_jit.rb: failures "error: invalid use of '__builtin_va_arg_pack ()'" on Ruby 2.7.4 on gcc 4.8.5 on RHEL7 — jaruga@...

Issue #18073 has been reported by jaruga (Jun Aruga).

14 messages 2021/08/09

[#104927] [Ruby master Bug#18077] Marshal.dump(closed_io) raises IOError instead of TypeError — "larskanis (Lars Kanis)" <noreply@...>

Issue #18077 has been reported by larskanis (Lars Kanis).

10 messages 2021/08/16

[#104960] [Ruby master Feature#18083] Capture error in ensure block. — "ioquatix (Samuel Williams)" <noreply@...>

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

32 messages 2021/08/18

[#105021] [Ruby master Misc#18122] DevelopersMeeting20210916Japan — "mame (Yusuke Endoh)" <noreply@...>

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

12 messages 2021/08/20

[#105069] [Ruby master Bug#18133] LTO: TestGCCompact#test_ast_compacts segfaults on i686 — "vo.x (Vit Ondruch)" <noreply@...>

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

25 messages 2021/08/25

[#105077] [Ruby master Feature#18136] take_while_after — "zverok (Victor Shepelev)" <noreply@...>

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

21 messages 2021/08/27

[ruby-core:105062] [Ruby master Bug#17722] define_method with shareable results in "defined in a different Ractor"

From: "tagomoris (Satoshi TAGOMORI)" <noreply@...>
Date: 2021-08-24 12:03:56 UTC
List: ruby-core #105062
Issue #17722 has been updated by tagomoris (Satoshi TAGOMORI).


The reason of the unexpected error is, the block parameter of `define_method` is un-shareable.
I created a patch to explain it: https://github.com/ruby/ruby/pull/4771

----------------------------------------
Bug #17722: define_method with shareable results in "defined in a different Ractor"
https://bugs.ruby-lang.org/issues/17722#change-93470

* Author: chucke (Tiago Cardoso)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.1.0dev (2021-03-13 master c7e6914b39) [x86_64-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
Testing against latest master, and expectinng [this](https://bugs.ruby-lang.org/issues/17159?tab=history) to already be handled, I nonetheless found a weird case, for which I managed to build a short reproduction.

```ruby
class A
  define_method :"a=" do |val|
    instance_variable_set(:"@#{v}", val)
  end
  attr_reader :a
  
  def initialize(opts)
    opts.each do |k, v|
      puts "#{k} = #{v}"
      __send__(:"#{k}=", v)
    end
  end
end

ractors = []

DEFAULTS = { a: 1 }
Ractor.make_shareable(DEFAULTS)

1.times do
  ractors << Ractor.new do
    a = A.new(DEFAULTS)
  end
end
ractors.map(&:take)
```

This script fails with "defined in a different Ractor (RuntimeError)".

The error comes from the execution of "define_method". I was under the expectation that it would work, given that the passed value is shareable, so it shouldn't make a difference if it was defined in a different ractor.



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

Prev Next