[#61822] Plan Developers Meeting Japan April 2014 — Zachary Scott <e@...>

I would like to request developers meeting around April 17 or 18 in this month.

14 messages 2014/04/03
[#61825] Re: Plan Developers Meeting Japan April 2014 — Urabe Shyouhei <shyouhei@...> 2014/04/03

It's good if we have a meeting then.

[#61826] Re: Plan Developers Meeting Japan April 2014 — Zachary Scott <e@...> 2014/04/03

Regarding openssl issues, I’ve discussed possible meeting time with Martin last month and he seemed positive.

[#61833] Re: Plan Developers Meeting Japan April 2014 — Martin Bo煬et <martin.bosslet@...> 2014/04/03

Hi,

[ruby-core:62242] [ruby-trunk - Bug #9622] Extra method arguments are magically swallowed after first successful call, possible method cache bug

From: usa@...
Date: 2014-04-30 07:10:18 UTC
List: ruby-core #62242
Issue #9622 has been updated by Usaku NAKAMURA.

Backport changed from 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED to 1.9.3: REQUIRED, 2.0.0: DONE, 2.1: REQUIRED

backported into ruby_2_0_0 at r45748.

----------------------------------------
Bug #9622: Extra method arguments are magically swallowed after first successful call, possible method cache bug
https://bugs.ruby-lang.org/issues/9622#change-46393

* Author: Jean Boussier
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: core
* Target version: 
* ruby -v: 2.0.0
* Backport: 1.9.3: REQUIRED, 2.0.0: DONE, 2.1: REQUIRED
----------------------------------------
The following code behaviour totally change since ruby 2.0.0

~~~
class Foo

  def bar(*args)
    attribute(:bar, *args)
  end

  def attribute(name)
    puts name
  end

end

foo = Foo.new

begin
  foo.bar(100)
rescue => e
  puts e.class.name
end

foo.bar # legit

5.times do
  foo.bar(100)
end

puts 'No errors??? WTF???'

~~~


ruby < 2.0 output:

~~~
ArgumentError
bar
(eval):3:in `attribute': wrong number of arguments (2 for 1) (ArgumentError)
    from (eval):3:in `bar'
    from foo.rb:28
    from foo.rb:27:in `times'
    from foo.rb:27
~~~

Which is expected.

But ruby >= 2.0 output

~~~
ArgumentError
bar
bar
bar
bar
bar
bar
No errors??? WTF???
~~~

In short, after the first successful call, the extra arguments are just ignored. I have no idea of what is going on here, but it look like a broken optimization. 

All rubies >= 2.0 are affected. 1.8.7 and 1.9.3 are fine.


Regards.

A gist describing the issue: https://gist.github.com/byroot/9495455




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

In This Thread

Prev Next