[#121215] [Ruby master Bug#21166] Fiber Scheduler is unable to be interrupted by `IO#close`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

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

13 messages 2025/03/02

[#121222] [Ruby master Bug#21167] Visual Studio 2022 17.13.x couldn't build ruby.exe — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #21167 has been reported by hsbt (Hiroshi SHIBATA).

8 messages 2025/03/03

[#121234] [Ruby master Bug#21168] Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does — "Earlopain (Earlopain _) via ruby-core" <ruby-core@...>

Issue #21168 has been reported by Earlopain (Earlopain _).

8 messages 2025/03/04

[#121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) — LocoDelAssembly via ruby-core <ruby-core@...>

Issue #21187 has been reported by LocoDelAssembly (Hern=E1n Pereira).

12 messages 2025/03/17

[#121413] [Ruby Bug#21193] Inherited callback returns `nil` for `Object.const_source_location` — "eileencodes (Eileen Uchitelle) via ruby-core" <ruby-core@...>

Issue #21193 has been reported by eileencodes (Eileen Uchitelle).

15 messages 2025/03/20

[#121451] [Ruby Bug#21201] Performance regression when defining methods inside `refine` blocks — "alpaca-tc (Hiroyuki Ishii) via ruby-core" <ruby-core@...>

Issue #21201 has been reported by alpaca-tc (Hiroyuki Ishii).

8 messages 2025/03/27

[ruby-core:121445] [Ruby Bug#21125] Kernel is called first

From: "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date: 2025-03-26 23:31:47 UTC
List: ruby-core #121445
Issue #21125 has been updated by tenderlovemaking (Aaron Patterson).

Status changed from Open to Closed

This is fixed in 595040ba271175e18c8461a926c34903742788de

Thanks for reporting it!

----------------------------------------
Bug #21125: Kernel is called first
https://bugs.ruby-lang.org/issues/21125#change-112431

* Author: mikik0 (Hashino Mikiko)
* Status: Closed
* Assignee: tenderlovemaking (Aaron Patterson)
* ruby -v: ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED, 3.4: REQUIRED
----------------------------------------
Kernel#system is being called when there is a column or method name named system.
The other methods of Kernel reproduce the problem.
Ex.Rand returns a random value, and exit terminates the program.

This problem did not occur until Ruby 3.3 series, but has occurred since Ruby 3.4.

## Reproducible script:

``` ruby
class ObjectifiedHash
  def initialize(hash)
    @hash = hash
  end

  private

  attr_reader :hash

  def method_missing(method_name, *args, &block)
    if hash.key?(method_name.to_sym)
      hash[method_name.to_sym]
    else
      super
    end
  end

  def respond_to_missing?(method_name, include_private = false)
    hash.key?(method_name.to_sym) || super
  end
end

class Foo
  def system(...)
    # Kernel#system is called
    raw.system(...)
    # (...) passes if there is no
    # raw.system
  end

  def initialize(raw)
    @raw = raw
  end

  def get_system
    system
  end

  private

  attr_reader :raw
end

class Test
  def self.run
    obj = ObjectifiedHash.new({
      system: 'system'
    })

    foo = Foo.new(obj)
    # foo.system would pass.
    # After executing foo.system, hoge.get_system also passes.
    # p foo.system
    p foo.get_system
  end
end

Test.run

```

## Execution Results
``` shell
hoge.rb:26:in 'Kernel#system': wrong number of arguments (given 0, expected 1+) (ArgumentError)

    raw.system(...)
               ^^^
        from ruby.rb:26:in 'Foo#system'
        from ruby.rb:36:in 'Foo#get_system'
        from ruby.rb:54:in 'Test.run'
        from ruby.rb:58:in '<main>'
```

## Expected results
``` shell
"system"
```

PR that may be relevant: https://github.com/ruby/ruby/pull/11028



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next