[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>
さっき気がついたのですが、元々は
15 messages
2005/02/05
[#25639] Re: [Oniguruma 3.X] reggnu.c
— Yukihiro Matsumoto <matz@...>
2005/02/05
まつもと ゆきひろです
[#25643] Re: [Oniguruma 3.X] reggnu.c
— "K.Kosako" <sndgk393@...>
2005/02/06
Yukihiro Matsumotoさんの
[#25702] Re: [Oniguruma 3.X] reggnu.c
— Kazuo Saito <ksaito@...>
2005/02/15
斉藤です。
[#25647] C level set_trace_func — Shugo Maeda <shugo@...>
前田です。
10 messages
2005/02/07
[#25696] Re: C level set_trace_func
— Yukihiro Matsumoto <matz@...>
2005/02/14
まつもと ゆきひろです
[#25697] Re: C level set_trace_func
— Shugo Maeda <shugo@...>
2005/02/14
前田です。
[#25655] openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — Tanaka Akira <akr@...17n.org>
open-uri で https を扱うことを考えていろいろと調べていた所、openssl で、
9 messages
2005/02/08
[#25670] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths
— GOTOU Yuuzou <gotoyuzo@...>
2005/02/10
In message <876513vce0.fsf@serein.a02.aist.go.jp>,
[#25683] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths
— Tanaka Akira <akr@...17n.org>
2005/02/12
In article <20050211.053825.291449071.gotoyuzo@sawara.does.notwork.org>,
[#25684] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths
— Tanaka Akira <akr@...17n.org>
2005/02/12
In article <87psz6gcfh.fsf@serein.a02.aist.go.jp>,
[#25690] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths
— GOTOU Yuuzou <gotoyuzo@...>
2005/02/12
In message <87ll9thnng.fsf@serein.a02.aist.go.jp>,
[#25691] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths
— Tanaka Akira <akr@...17n.org>
2005/02/12
In article <20050213.021305.304099822.gotoyuzo@sawara.does.notwork.org>,
[#25700] BUG on thread and block? — sheepman <sheepman@...>
こんばんは、sheepman です。
2 messages
2005/02/15
[#25712] core dump with GC in rb_thread_save_context — Tanaka Akira <akr@...17n.org>
昨日の夜からとあるプログラム (五月雨) が 4回ばかり core を吐いていて、
5 messages
2005/02/17
[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
17 messages
2005/02/18
[#25714] Re: pthread trouble on sighandler
— Yukihiro Matsumoto <matz@...>
2005/02/18
まつもと ゆきひろです
[#25715] Re: pthread trouble on sighandler
— Hidetoshi NAGAI <nagai@...>
2005/02/18
永井@知能.九工大です.
[#25717] Re: pthread trouble on sighandler
— Yukihiro Matsumoto <matz@...>
2005/02/18
まつもと ゆきひろです
[#25719] Re: pthread trouble on sighandler
— Hidetoshi NAGAI <nagai@...>
2005/02/18
永井@知能.九工大です.
[#25726] named capture — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
6 messages
2005/02/19
[#25741] Oniguruma 3.7.0 — Kazuo Saito <ksaito@...>
斉藤です。
7 messages
2005/02/21
[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>
青木です。
14 messages
2005/02/24
[#25756] Re: I/O operation differs signal handler
— Tanaka Akira <akr@...17n.org>
2005/02/24
In article <20050224091450P.aamine@loveruby.net>,
[#25758] Re: I/O operation differs signal handler
— Tanaka Akira <akr@...17n.org>
2005/02/24
In article <1109213650.235317.11155.nullmailer@x31.priv.netlab.jp>,
[#25759] Re: I/O operation differs signal handler
— Yukihiro Matsumoto <matz@...>
2005/02/24
まつもと ゆきひろです
[#25760] Re: I/O operation differs signal handler
— Tanaka Akira <akr@...17n.org>
2005/02/24
In article <1109224128.668484.13752.nullmailer@x31.priv.netlab.jp>,
[ruby-dev:25742] Re: core dump with GC in rb_thread_save_context
From:
Yukihiro Matsumoto <matz@...>
Date:
2005-02-22 03:57:32 UTC
List:
ruby-dev #25742
まつもと ゆきひろです
In message "Re: [ruby-dev:25712] core dump with GC in rb_thread_save_context"
on Fri, 18 Feb 2005 08:09:28 +0900, Tanaka Akira <akr@m17n.org> writes:
|昨日の夜からとあるプログラム (五月雨) が 4回ばかり core を吐いていて、
|それらで最後に GC が起きた所が一致しています。
分かりました。スレッド生成のためスタックを巻き戻している最中
にGCが起きると
* curr_threadは生成元のスレッドを指している
* が、スレッド生成のためスタックは巻き戻されている
ために生成元スタックがスキャンされず、オブジェクトがことごと
くGCに回収されてしまっていました。そこで、TAG_THREADをraise
する前にcurr_thread=thの設定と、thread_insert(th)の呼び出し
を行ってしまうことにしました。これはこれで問題を引き起こしそ
うですが。
ついでに、new_threadの内容もGCスキャンするようにしてみました
が、こちらは不要だったかもしれません。
Tue Feb 22 12:54:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_thread_start_0): update curr_thread before raising
TAG_THREAD. [ruby-dev:25712]
--- eval.c 17 Feb 2005 14:29:20 -0000 1.754
+++ eval.c 22 Feb 2005 03:55:30 -0000
@@ -9943,2 +9951,7 @@ thread_mark(th)
+static struct {
+ rb_thread_t thread;
+ VALUE proc, arg;
+} new_thread;
+
void
@@ -9955,2 +9968,7 @@ rb_gc_mark_threads()
} END_FOREACH(th);
+ if (new_thread.thread) {
+ rb_gc_mark(new_thread.thread->thread);
+ rb_gc_mark(new_thread.proc);
+ rb_gc_mark(new_thread.arg);
+ }
}
@@ -11605,7 +11624,2 @@ thread_insert(th)
-static struct {
- rb_thread_t thread;
- VALUE proc, arg;
-} new_thread;
-
static VALUE
@@ -11654,2 +11668,4 @@ rb_thread_start_0(fn, arg, th)
th->anchor = ip;
+ thread_insert(th);
+ curr_thread = th;
longjmp((prot_tag = ip->tag)->buf, TAG_THREAD);
@@ -11749,4 +11765,2 @@ rb_thread_start_1()
- thread_insert(th);
-
ruby_frame = ip->frame;
@@ -11764,2 +11778,3 @@ rb_thread_start_1()
if (THREAD_SAVE_CONTEXT(th) == 0) {
+ new_thread.thread = 0;
curr_thread = th;