Project

General

Profile

Bug #12253

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

Rubyコミュニティ 御中 

 恐れ入りますがお尋ねしたいことがあり、チケットを切りました。 

 ruby/tkとmechanizeを併用した際に「`TypeError: ruby/tkとmechanizeを併用した際に「TypeError: allocator undefined for TkEvent::Event`」というエラーが発生します。 TkEvent::Event」というエラーが発生します。 
 2.2.4ではエラーになるのですが、2.1.8では問題なく動作します。 
 2.3.0はいまのところ "gem install mechanize" が失敗する(mechanizeが依存しているnokogiriが2.3.0未対応の)ため、調査はできていません。 

 誠に恐れ入りますが、当方に誤りがあるか、何らかの不具合か、ご確認をお願いできますでしょうか? 
 急ぎではないためお時間があればで大丈夫です。 

 実験に使ったコード、エラーメッセージ、インストールしているgemを以下に記載致します。 

 コード 

 ~~~ruby ~~~ 
 require 'tk' 
 require 'mechanize' 

 root = TkRoot.new 
 root.title = "test" 

 test_button = TkButton.new(root, 
                   'text' => 'test').pack 

 test_button.bind('ButtonRelease-1', proc {|ev| 
                    puts "test"}) 
 Tk.mainloop 

 ~~~ 

 エラー 

 ~~~ 
 TypeError: allocator undefined for TkEvent::Event 
 ---< backtrace of Ruby side >----- 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk/event.rb:517:in `new' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk/event.rb:517:in `block in install_bind_for_event_class' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1460:in `call' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1460:in `eval_cmd' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1460:in `cb_eval' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1407:in `call' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1611:in `block in callback' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1610:in `catch' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1610:in `callback' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1305:in `mainloop' 
 C:/Apps/ruby/2.2.4-x64/lib/ruby/2.2.0/tk.rb:1305:in `block in <module:TkCore>' 
 ---< backtrace of Tk side >------- 
     invoked from within 
 "rb_out c00001 26 ?? ?? ?? 0 ?? ?? ?? 0x0000000000000000 0x0000000000000000 5 .w00000 174 149 ?? 1 ?? ?? ?? ?? 0x000000000013025A ?? ?? ?? ?? 264 35014..." 
     (command bound to event) 
 ~~~ 

 エラーが生じるrubyのバージョン 

 ~~~ 
 C:\Users\dummy\Desktop>ruby -v 
 ruby 2.2.4p230 (2015-12-16 revision 53155) [x64-mingw32] 

 C:\Users\dummy\Desktop>gem -v 
 2.4.5.1 

 C:\Users\dummy\Desktop>gem list 

 *** LOCAL GEMS *** 

 bigdecimal (1.2.6) 
 domain_name (0.5.20160310) 
 http-cookie (1.0.2) 
 io-console (0.4.3) 
 json (1.8.1) 
 mechanize (2.7.4) 
 mime-types (2.99.1) 
 mini_portile2 (2.0.0) 
 minitest (5.4.3) 
 net-http-digest_auth (1.4) 
 net-http-persistent (2.9.4) 
 nokogiri (1.6.7.2 x64-mingw32) 
 ntlm-http (0.1.1) 
 power_assert (0.2.2) 
 psych (2.0.8) 
 rake (10.4.2) 
 rdoc (4.2.0) 
 test-unit (3.0.8) 
 unf (0.1.4) 
 unf_ext (0.0.7.2 x64-mingw32) 
 webrobots (0.1.2) 
 ~~~ 

 問題なく動作するrubyのバージョン 

 ~~~ 
 C:\Users\dummy\Desktop>ruby -v 
 ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mingw32] 

 C:\Users\dummy\Desktop>gem -v 
 2.2.5 

 C:\Users\dummy\Desktop>gem list 

 *** LOCAL GEMS *** 

 bigdecimal (1.2.4) 
 domain_name (0.5.20160310) 
 http-cookie (1.0.2) 
 io-console (0.4.3) 
 json (1.8.1) 
 mechanize (2.7.4) 
 mime-types (2.99.1) 
 mini_portile2 (2.1.0) 
 minitest (4.7.5) 
 net-http-digest_auth (1.4) 
 net-http-persistent (2.9.4) 
 nokogiri (1.6.8.rc3 x64-mingw32) 
 ntlm-http (0.1.1) 
 pkg-config (1.1.7) 
 psych (2.0.5) 
 rake (10.1.0) 
 rdoc (4.1.0) 
 test-unit (2.1.8.0) 
 unf (0.2.0.beta2) 
 webrobots (0.1.2) 
 ~~~ 

 以上、恐れ入りますがよろしくお願いいたします。

Back