From: "mame (Yusuke Endoh)" Date: 2012-10-31T00:02:31+09:00 Subject: [ruby-core:48600] [ruby-trunk - Bug #4350][Rejected] Segmentation fault and Bus Error Issue #4350 has been updated by mame (Yusuke Endoh). Status changed from Feedback to Rejected Sorry but I'm closing this ticket because it is too clueless. I guess eventmachine is involved to this issue, but I can make no hypothesis any more. Feel free to reopen this if you have any clue. -- Yusuke Endoh ---------------------------------------- Bug #4350: Segmentation fault and Bus Error https://bugs.ruby-lang.org/issues/4350#change-32012 Author: qianthinking (Leon Li) Status: Rejected Priority: Normal Assignee: Category: Target version: 1.9.2 ruby -v: ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux] =begin My server crashes 0-4 times a day with segmentation faults. The fault seems related to activerecord transaction, but it is not always a same spot, so the attached are just examples of some occurrence. The application is a tcp server base on eventmachine. Ruby compiled from rvm, ruby-1.9.2-p0 and ruby-1.9.2-p136 System info: Linux foo 2.6.31-gentoo-r6 #1 SMP Wed Dec 23 08:10:43 CST 2009 x86_64 Intel(R) Xeon(R) CPU E5520 @ 2.27GHz GenuineIntel GNU/Linux Brief of logs segfault1.ruby-1.9.2-p0.log /usr/local/rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:314: [BUG] Segmentation fault segfault2.ruby-1.9.2-p0.log /usr/local/rvm/gems/ruby-1.9.2-p0/gems/activemodel-3.0.3/lib/active_model/attribute_methods.rb:327: [BUG] Segmentation fault segfault3.ruby-1.9.2-p0.log /usr/local/rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:314: [BUG] Bus Error segfault1.ruby-1.9.2-p136.log /usr/local/rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:310: [BUG] Segmentation fault segfault2.ruby-1.9.2-p136.log /usr/local/rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:242: [BUG] Segmentation fault segfault3.ruby-1.9.2-p136.log /path_to_server/2011-01-30_231948/config/initializers/encoding.rb:12: [BUG] Segmentation fault content of /path_to_server/2011-01-30_231948/config/initializers/encoding.rb 1 #workaround for "incompatible character encodings: UTF-8 and ASCII-8BIT" 2 #due to "������" + [23423424234].pack("G") 3 4 unless SERVER_TYPE == 'proxy' 5 Encoding.default_external = Encoding::UTF_8 if RUBY_VERSION > "1.9" 6 if RUBY_VERSION > '1.9' 7 String.class_eval do 8 alias_method :quick_append, :<< unless method_defined? :quick_append 9 alias_method :quick_add, :+ unless method_defined? :quick_add 10 def <<(str) 11 str.force_encoding("UTF-8") unless str.frozen? 12 self.quick_append str 13 end 14 def +(str) 15 str.force_encoding("UTF-8") unless str.frozen? 16 self.quick_add str 17 end 18 end 19 StringIO.class_eval do 20 alias_method :quick_write, :write unless method_defined? :quick_write 21 def write(str) 22 str.force_encoding("UTF-8") unless (!str.is_a? String) || str.frozen? 23 self.quick_write str 24 end 25 end 26 27 else 28 String.class_eval do 29 def force_encoding(encode) 30 self 31 end 32 end 33 end 34 Fixnum.class_eval do 35 alias_method :quick_to_s, :to_s unless method_defined? :quick_to_s 36 def force_encoding(encode) 37 self 38 end 39 def to_s(base=10) 40 quick_to_s(base).force_encoding("UTF-8") 41 end 42 end 43 Array.class_eval do 44 alias_method :quick_pack, :pack unless method_defined? :quick_pack 45 def pack(*args) 46 quick_pack(*args).force_encoding("UTF-8") 47 end 48 end 49 end =end -- http://bugs.ruby-lang.org/