From: Katsuyuki Komatsu Date: 1999-08-09T20:26:56+09:00 Subject: [ruby-dev:7582] Re: make test failure on sunos 小松です。 In the message of [ruby-dev:7576] Re: make test failure on sunos on 1999/8/9 09:15:03 matz@netlab.co.jp (Yukihiro Matsumoto) wrote: ||スクリプト (test.rb) の指定の仕方が絶対パスだと失敗して ||相対パスだと通るという症状で、 || || env CFLAGS='-g -Wall' ../configure --with-readline-dir=/usr/local \ || --with-make-prog=gmake || env CFLAGS=-O2 ../configure --with-readline-dir=/usr/local \ || --with-make-prog=gmake --enable-shared || ||で作ったものはmake testが通ります。 | |これまた変な話ですね。なにか変な領域をアクセスしてるのかなあ。 もうすこし追試してみました。 Solaris 2.5.1 egcs-1.1.2 -O2 non-shared 再現 Solaris 2.5.1 egcs-1.1.2 -g -O2 non-shared 再現 Solaris 2.5.1 egcs-1.1.2 -g -O1 non-shared 再現せず (ただし、test.rbの755行目を下のように変えると再現) (なお、再現する場合は755行目を変えたものを使っても再現する) Solaris 2.5.1 egcs-1.1.2 -g -Wall non-shared 再現せず Solaris 2.5.1 egcs-1.1.2 -O2 enable-shared 再現せず Solaris 2.6 gcc-2.8.1 -O2 non-shared 再現 Solaris 2.6 gcc-2.8.1 -g -O2 non-shared 再現 "-g -O2"や"-g -O1"で再現するのでgdb上でつかまえてみようとしましたが、 gdbからrunすると再現せず、sleepさせてattachしようかとおもって test.rbの2行目をsleep 30にしてやっても再現しなくなってしまいます。 なんだかすごいシビアですね。 結局、ruby起動直後に^Zで止めて、gdbでattachしてからfgすれば なんとか再現する状態でつかまえられました。 これで、ブレークポイントしかけて変数みるぐらいならできます。 # 問題は、何を調べればいいのかわからないということだが…… --- sample/test.rb.dist Fri Jun 25 13:08:10 1999 +++ sample/test.rb Mon Aug 9 20:21:23 1999 @@ -754,3 +754,3 @@ -if defined? Process.kill +if false check "signal" -- 小松克行 / Katsuyuki Komatsu