From: usa@... Date: 2015-03-14T06:32:58+00:00 Subject: [ruby-core:68525] [Ruby trunk - Bug #10847] SystemStackError after NameError prepends a module Issue #10847 has been updated by Usaku NAKAMURA. Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED ---------------------------------------- Bug #10847: SystemStackError after NameError prepends a module https://bugs.ruby-lang.org/issues/10847#change-51848 * Author: Yuki Nishijima * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux] * Backport: 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED ---------------------------------------- The following code causes `SystemStackError`. ```ruby module Foo end NameError.prepend Foo foo rescue $! ``` And here is the full backtrace: ``` system_stack_error_from_name_error.rb:3:in `initialize': stack level too deep (SystemStackError) from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' ... 10907 levels... from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `method_missing' from system_stack_error_from_name_error.rb:3:in `
' ``` This happens on Ruby 2.0.0, 2,1,5, 2.2.0 and ruby-trunk(rev 49451). -- https://bugs.ruby-lang.org/