From: "duerst (Martin Dürst)" Date: 2013-03-09T17:36:51+09:00 Subject: [ruby-core:53260] [ruby-trunk - Bug #8055][Rejected] Method with the same name as accessor causes stack level too deep error Issue #8055 has been updated by duerst (Martin D��rst). Status changed from Open to Rejected An accessor is just a method. If you then use def to define a method with the same name, the accessor gets overwritten. You end up with a recursive method, which will blow up the stack. You can do that even quicker: def a a end > a SystemStackError: stack level too deep ---------------------------------------- Bug #8055: Method with the same name as accessor causes stack level too deep error https://bugs.ruby-lang.org/issues/8055#change-37419 Author: firedev (Nick O) Status: Rejected Priority: Normal Assignee: Category: Target version: ruby -v: 1.9.3 To me this looks like a bug. It causes stack level too deep in all versions of Ruby (1.9 and 2.0 at least). class Test attr_accessor :uuid def uuid self.uuid ||=1 end end > Test.new.uuid SystemStackError: stack level too deep from /Users/pain/.rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/irb/workspace.rb:80 Maybe IRB bug! -- http://bugs.ruby-lang.org/