From: Paul Brannan Date: 2001-11-29T06:52:24+09:00 Subject: [ruby-talk:26840] finalizer not getting called If I do this (in Ruby 1.6.5 and 1.7.1): def finalize puts "finalize" end def main ObjectSpace.define_finalizer(Array.new, Object.method(:finalize).to_proc) end main GC.start puts "leaving" Then I get: leaving The reason (which was not immediately obvious to me) was that finalizers must take an argument. Thus, if I rewrite finalize to look like: def finalize(obj) puts "finalize" end then all is well: finalize leaving Should the garbage collector print an error message when it cannot call a finalizer? Paul