From: "前川 映一" Date: 2009-08-04T14:45:46+09:00 Subject: [ruby-list:46257] MySQL/Ruby segmentation fault 前川です。 mysqlのテーブル情報を取り出そうとしましたが、 出力の途中で、segmentation fault が生じます。 それぞれを単独で動作させる場合は、正常に取り出せます。 mysql関連は、ruby for apacheにあるmysql.soで、 http://rubyforge.org/projects/rubyforapache/ にありました、July 18,2005 の日付ものです。 O/Sは、wondows-xp Pro ver 2002 SP3 です。 教えていただきたい点は、 1.c コマンドでデバッガを実行したときに、  c:/ruby/lib/ruby/1.8/rational.rb:78: `undefined method `gcd' となってい ますが、  segmentation fault とは、関係ないでしょうか? 2.s コマンドでデバッガを実行すると、途中、 "ruby lib version (1.8.7) doesn't match executable version (#{RUBY_VERSION})" がでていますが、segmentation fault と関係ないでしょうか? 3.segmentation faultが発生する原因は、何でしょうか? デバッグ記録 1.c コマンドで実行 C:\Apache2.2\htdocs\qmsPotalShip\for confirmation & modification>ruby -r debug myclassMySQLTest.rb Debug.rb Emacs support available. c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10:require 'rubygems' (rdb:1) c c:/ruby/lib/ruby/1.8/rational.rb:78: `undefined method `gcd' for Rational(1, 2):Rational' (NoMethodError) from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1123:in `require' from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1123 from c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10:in `require' from c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10 c:/ruby/lib/ruby/1.8/rational.rb:78: gcd = num.gcd(den) (rdb:1) c Content-Type: text/html # 13 arcd chk_dist chkdb dist dmas  〜〜中略 データベース名・テーブル名の取得・データの取得を実施〜〜 〜テーブルの属性取得を実施〜 6 sendvarchar(50)YES 6 inditinyint(4)YES 6 tnotetextYES 6 snamevarchar(120)YES 6 statetinyint(4)YES 6 myclassMySQLTest.rb:96: [BUG] Segmentation fault ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32] This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 2.s コマンドで実行 c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:167: require 'rbconfig' (rdb:1) s c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:5:module Config (rdb:1) s c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:7: raise "ruby lib version (1.8.7) doesn't match executable version (#{ RUBY_VERSION})" (rdb:1) s c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:9: TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/1.8/i386-mswin32") (rdb:1) s c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:10: DESTDIR = TOPDIR && TOPDIR[/\A[a-z]:/i] || '' unless defined? DESTDIR 了