Issue #11903 has been updated by Julien Feltesse.


I can reproduce even in 2.3.1 by lazy loading a sequence in FactoryGirl which has the same name as the attribute it is meant for.

Consider a Car model with a "position" attribute, the following works:
~~~
FactoryGirl.define do
  factory :car do
    sequence(:position, 1) { |n| n }
  end
end
~~~ 

While the following will trigger the same error as described here:
~~~
FactoryGirl.define do
  sequence(:position, 1) { |n| n }

  factory :car do
    position { generate(position) }
  end
end
~~~

Thinking back it's kind of stupid to have a lazy attribute call a sequence with the same name but the VM shouldn't crash and burn.

Just my 2, let me know if you need more details.

----------------------------------------
Bug #11903: [BUG] vm_call_cfunc - cfp consistency error
https://bugs.ruby-lang.org/issues/11903#change-58460

* Author: ʸ 
* Status: Feedback
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
~~~
usr/local/lib/ruby/gems/2.2.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1793: [BUG] vm_call_cfunc - cfp consistency error
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
~~~


---Files--------------------------------
bug-11903.log (125 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>