From: Koji Oda Date: 1998-11-13T14:49:08+09:00 Subject: [ruby-list:10799] make ruby on WinNT with VC++6.0 小田@QNES です。 毎度毎度すみません。 VC++6.0 で ruby-1.1c7 をmakeしたら、make途中で例外しました。 ------------ ... compiling etc compiling dbm compiling curses .\extmk.rb:481: [BUG] Segmentation fault abnormal program termination NMAKE : fatal error U1077: '..\miniruby' : リターン コード '0x3' Stop. ------------ VC++5.0 でmakeした実績のある 1.1c6 でもやってみましたが 同様に例外しましたので、どうやらコンパイラの方が何か 変わったようです。 とりあえず、出来たminirubyでsample/test.rbを実行してみました。 ... ok 34 ok 35 system sample/test.rb:820: [BUG] Segmentation fault abnormal program termination ------------- system の項目のところを取り除いたtest.rbを実行したところ 最後まで問題なくいきましたので、system のところだけが問題 みたいです。 そのときのスタックトレースを付けておきます。 コマンド文字列用のメモリを解放するところみたいなのですが どうすればいいのでしょう。 ------- _free_dbg_lk(void * 0x00adb41c, int 1) line 1011 + 48 bytes _free_dbg(void * 0x00adb41c, int 1) line 970 + 13 bytes free(void * 0x00adb41c) line 926 + 11 bytes SafeFree(char * * 0x00adb440, int 2) line 247 + 9 bytes isInternalCmd(char * 0x00ae0150) line 287 + 13 bytes mypopen(char * 0x00ae0150, char * 0x004a1558) line 547 + 25 bytes pipe_open() line 1125 + 13 bytes f_backquote() line 1967 + 17 bytes rb_call0() line 3383 + 16 bytes rb_call(unsigned long 12298504, unsigned long 12294928, unsigned int 96, int 1, unsigned long * 0x00adb5c8, int 1) line 3653 + 36 bytes rb_funcall(unsigned long 12294928, unsigned int 96, int 1) line 3727 + 36 bytes rb_eval(unsigned long 12294928, RNode * 0x00b8d590) line 2360 + 20 bytes rb_eval(unsigned long 12294928, RNode * 0x00b8d530) line 1979 + 16 bytes rb_eval(unsigned long 12294928, RNode * 0x00b8d500) line 1993 + 219 bytes rb_eval(unsigned long 12294928, RNode * 0x00b8d4d0) line 1610 + 16 bytes eval_node() line 919 + 13 bytes ruby_run() line 949 + 12 bytes main() line 33 mainCRTStartup() line 206 + 25 bytes KERNEL32! 7001b623() ------- ∪*****/\*****\/*****/\*****∪ Koji Oda NEC Software Kyusyu 1st Development Department Based Software Division E-Mail:oda@bsd1.qnes.nec.co.jp ∩*****/\*****\/*****/\*****∩