From: yamamoto madoka Date: 2003-08-29T19:29:49+09:00 Subject: [ruby-dev:21290] Re: スレッド内の例外でRuby停止 山本です。 大変申し訳ありません、 このPatchを当てると別のコードで同症状が出るようになってしまいました。 教わったPatchを当てたRubyをしばらく使って、 最初に載せていた再現スクリプトの元となったスクリプトを 走らせていたのですが、どうも同じようにKillのできない状態になることがありまし た。 また再現スクリプトを作ったのでのせます。 $DEBUG = true Thread.start{ while true end } Thread.start{ } このスクリプトをPatchを当てたRubyで走らせると RubyプロセスがSIGTERM、SIGINTの利かない状態になります。 また、Patchを当てる前のものだとこのスクリプトは問題なく終了します。 Attachしたトレースです。 0x08061c95 in rb_thread_restore_context (th=0x8116108, exit=1) at eval.c:8392 8392 MEMCPY(tmp->stk_pos, tmp->stk_ptr, VALUE, tmp->stk_len); (gdb) bt #0 0x08061c95 in rb_thread_restore_context (th=0x8116108, exit=1) at eval.c:8392 #1 0x08061b77 in stack_extend (th=0xbffff528, exit=0) at eval.c:8338 #2 0x08061915 in rb_thread_save_context (th=0x8116108) at eval.c:8229 #3 0x0806233e in rb_thread_schedule () at eval.c:8784 #4 0x08063e5c in rb_thread_wait_other_threads () at eval.c:9634 #5 0x0805361a in ruby_cleanup (ex=8) at eval.c:1363 #6 0x08053706 in ruby_stop (ex=8) at eval.c:1399 #7 0x08053745 in ruby_run () at eval.c:1411 #8 0x08051ba1 in main (argc=2, argv=0xbffff8d4, envp=0xbffff8e0) at main.c:50 #9 0x420158f7 in __libc_start_main () from /lib/i686/libc.so.6 (gdb) 確認不足、もうしわけありません。 ----- Original Message ----- From: "Yukihiro Matsumoto" To: "ruby developers list" Sent: Friday, August 29, 2003 3:10 PM Subject: [ruby-dev:21284] Re: スレッド内の例外でRuby停止 > まつもと ゆきひろです > > In message "[ruby-dev:21283] Re: スレッド内の例外でRuby停止" > on 03/08/29, "yamamoto madoka" writes: > |Patchありがとうございます。 > |問題なく動くようです。 > > じゃあコミットしてください。> なかださん。 >