>But interesting. Can you show me your profile.rb and profiler.rb in lib\ruby\1.8? > >I'll attach my files. I don't know if this comes from same issue but... I tried to output what file are actually required. ///////////////////// // test.rb module Kernel alias test require def require(*a) p a test *a end end require 'profile' //////////// And I got same error. E:\ruby-cvs\bcc32>ruby19 \test.rb ["profile"] ["profiler"] % cumulative self self total time seconds seconds calls ms/call ms/call name 500.00 0.05 0.05 1 50.00 50.00 Profiler__.start_profile 0.00 0.05 0.00 1 0.00 10.00 #toplevel 0.00 0.05 0.00 1 0.00 50.00 Kernel.require E:/ruby-cvs/ruby/lib/profiler.rb:30: undefined method `[]' for nil:NilClass (NoM ethodError) from E:/ruby-cvs/ruby/lib/profiler.rb:5:in `require' from /test.rb:4:in `require' from /test.rb:9 //////////////// If I changed profile.rb like this, Index: profile.rb =================================================================== RCS file: /src/ruby/lib/profile.rb,v retrieving revision 1.8 diff -u -w -b -p -r1.8 profile.rb --- profile.rb 20 Dec 2002 09:00:10 -0000 1.8 +++ profile.rb 25 Apr 2005 07:34:25 -0000 @@ -1,6 +1,7 @@ require 'profiler' -END { - Profiler__::print_profile(STDERR) -} +begin Profiler__::start_profile +ensure + Profiler__::print_profile(STDERR) +end error was gone. E:\ruby-cvs\bcc32>ruby19 \test.rb ["profile"] ["profiler"] % cumulative self self total time seconds seconds calls ms/call ms/call name 300.00 0.03 0.03 1 30.00 30.00 Profiler__.start_profile 0.00 0.03 0.00 1 0.00 10.00 #toplevel Does this patch solve your problem too?