/var/log

技術系のあれこれ。※内容は個人の発言であり、所属する組織を代表するものではありません。

Mysql::ProtocolError

<環境>
モデル:13-inch, Mid 2012
プロセッサ:2.9 GHz Intel Core i7
メモリ:8 GB 1600 MHz DDR3
グラフィックス:Intel HD Graphics 4000 512 MB
ソフトウェア:OS X 10.8.2
MySQL:5.5.28 MySQL Community Server (GPL)
ruby-mysql :2.9.10
ruby:1.9.3-p385
Eclipse:Version: Juno Service Release 1


bash上で実行しても問題なく動くけど
Eclipseから実行すると以下のエラーがでる...

/Users/(ユーザ名)/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.10/lib/mysql/protocol.rb:562:in `read_eof_packet': packet is not EOF (Mysql::ProtocolError)
	from /Users/(ユーザ名)/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.10/lib/mysql/protocol.rb:274:in `retr_fields'
	from /Users/(ユーザ名)/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/ruby-mysql-2.9.10/lib/mysql.rb:326:in `query'
	from /Users/(ユーザ名)/workspace/ruby_test_mysql/select_test.rb:14:in `<main>'

ちなみに実行したソースは以下の通り(途中まで)

require 'mysql'
client = Mysql.connect('127.0.0.1','ユーザ名','パスワード','DB名')


たぶんeclipseの設定に問題があるんだろうけど.
よくわからん.

予定している作業の本質ではないものの気になってしょうがない...



(追記)
ソースの中にpsを仕掛けてみたら驚愕の事実が...

501  3799  1048   0 11:05PM ??         0:00.12 /Users/(ユーザ名)/.rbenv/versions/1.9.3-p385/bin/ruby -KU -I/Users/(ユーザ名)/workspace/ruby_test_mysql -r/var/folders/0f/z2h08ngn7dgbwvpkq086y7xm0000gn/T/dltk64612.tmp/scripts/sync.rb /Users/(ユーザ名)/workspace/ruby_test_mysql/select_test.rb

だれが「-KU」つけていいと言った(# ゚Д゚)
何もしてないのに勝手についてるんだよな...



(追記)

厳密な切り分けができてないけど
以下の対応をやってるうちに勝手に出来るようになった.



このあといつの間にか選択出来るようになった
RunAsの項目「RubyApplication」を使うとうまいこと動きました.
ちなみにRunConfiguration上は以下のようになってました.


おそらく正解手順のはず.


ちなみにソースに仕掛けたpsでは以下のようになってました.

  501  8561  6602   0 12:16AM ??         0:00.12 /Users/(ユーザ名)/.rbenv/versions/1.9.3-p385/bin/ruby -I /Applications/eclipse/configuration/org.eclipse.osgi/bundles/627/1/.cp/ruby -rsync -- /Users/(ユーザ名)/workspace/ruby_test_mysql/select_test.rb

見事に「-KU」がなくなりました.