n Wed, 29 Mar 2006, Hidetoshi NAGAI wrote:

> I cannot cause SEGV on my Linux box.
> Probably, we need more information to solve your trouble.

what would you suggest me to do?

I tried the profiler:
     #!/usr/bin/ruby -w
     require 'profiler'

     require 'tk'
     class TkVariable
       def to_m
         "%.2f" % [self.to_i.abs/100.0]
       end
     end

     Profiler__::start_profile
     begin
       puts TkVariable.new(12345).to_m
     rescue
       Profiler__::stop_profile
       Profiler__::print_profile($stdout)
     end

but then the problem is gone.

I also tried -rdebug, but then I first get, as I always do when using
tk.rb, a Runtime Error: can't unset "v00000": no such variable, and then
when I continue, the problem is gone again:

$ ruby -rdebug t
Debug.rb
Emacs support available.

t:3:require 'tk'
(rdb:1) c
/usr/local/lib/ruby/1.8/tk.rb:2313: warning: redefine encoding=
/usr/local/lib/ruby/1.8/tk.rb:2316: warning: redefine encoding
/usr/local/lib/ruby/1.8/tk/variable.rb:290: `can't unset "v00000": no
such variable' (RuntimeError)
         from /usr/local/lib/ruby/1.8/tk/variable.rb:290:in `initialize'
         from t:11
/usr/local/lib/ruby/1.8/tk/variable.rb:290:
INTERP._unset_global_var(@id)
(rdb:1) 
c
123.45


-- 
Wybo