From: nobu@... Date: 2015-05-09T04:53:55+00:00 Subject: [ruby-core:69111] [Ruby trunk - Bug #11071] Stack consistency error while using RSpec and Timecop Issue #11071 has been updated by Nobuyoshi Nakada. Possibly shortest code. ~~~ruby def doit yield nil end doit(&proc {doit {}}.method(:call)) ~~~ But it doesn't happen, if the inner block has a single argument or arbitrary number arguments `*`. Oppositely, it's similar but `sp` is less than `bp` when the arguments are more than one. And it seems the point to reenter the same method `doit`. ---------------------------------------- Bug #11071: Stack consistency error while using RSpec and Timecop https://bugs.ruby-lang.org/issues/11071#change-52357 * Author: James Coglan * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED ---------------------------------------- I have this Gemfile: ```ruby source 'https://rubygems.org' ruby '2.2.2' gem 'rspec' gem 'timecop' ``` producing this Gemfile.lock: ``` GEM remote: https://rubygems.org/ specs: diff-lcs (1.2.5) rspec (3.2.0) rspec-core (~> 3.2.0) rspec-expectations (~> 3.2.0) rspec-mocks (~> 3.2.0) rspec-core (3.2.3) rspec-support (~> 3.2.0) rspec-expectations (3.2.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.2.0) rspec-mocks (3.2.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.2.0) rspec-support (3.2.2) timecop (0.7.3) PLATFORMS ruby DEPENDENCIES rspec timecop ``` and this test file: ```ruby # timecop_spec.rb require 'timecop' describe Timecop do around do |example| Timecop.travel(Time.parse('2015-01-01 06:30:00'), &example) end it 'sets the current time' do Timecop.travel(Time.parse('2015-01-01 09:30:00')) {} end end ``` When I run `bundle exec rspec -c timecop_spec.rb`, this is the output: ``` /home/jcoglan/projects/futurelearn/timecop-segfault/.bundle/ruby/2.2.0/gems/timecop-0.7.3/lib/timecop/timecop.rb:142: [BUG] Stack consistency error (sp: 145, bp: 144) ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] ``` ---Files-------------------------------- bug-11071.log (50.5 KB) -- https://bugs.ruby-lang.org/