[#18186] [req] Marshal — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

14 messages 2002/09/05
[#18190] Re: [req] Marshal — matz@... (Yukihiro Matsumoto) 2002/09/05

まつもと ゆきひろです

[#18229] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2002/09/09
[#18230] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — nobu.nakada@... 2002/09/09

なかだです。

[#18231] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — "U.Nakamura" <usa@...> 2002/09/09

こんにちは、なかむら(う)です。

[#18232] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — nobu.nakada@... 2002/09/09

なかだです。

[#18233] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — "U.Nakamura" <usa@...> 2002/09/09

こんにちは、なかむら(う)です。

[#18234] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — WATANABE Hirofumi <eban@...> 2002/09/09

わたなべです。

[#18236] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — "U.Nakamura" <usa@...> 2002/09/09

こんにちは、なかむら(う)です。

[#18238] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — WATANABE Hirofumi <eban@...> 2002/09/09

わたなべです。

[#18241] Re: [ruby-cvs] rough/ext/stringio: * ruby-stringio.spec: 0.0.7, added changelog. — "U.Nakamura" <usa@...> 2002/09/09

こんにちは、なかむら(う)です。

[#18285] rubicon on EWS4800 — Koji Arai <JCA02266@...>

新井です。

59 messages 2002/09/13
[#18322] Re: rubicon on EWS4800 — Koji Arai <JCA02266@...> 2002/09/21

新井です。

[#18333] Re: rubicon on EWS4800 — kjana@...4lab.to (YANAGAWA Kazuhisa) 2002/09/21

In message <20020921.152641.11483667.JCA02266@nifty.ne.jp>

[#18336] Re: rubicon on EWS4800 — nobu.nakada@... 2002/09/21

なかだです。

[#18337] Re: rubicon on EWS4800 — Tanaka Akira <akr@...17n.org> 2002/09/21

In article <200209211605.g8LG52p04564@sharui.nakada.kanuma.tochigi.jp>,

[#18338] Re: rubicon on EWS4800 — nobu.nakada@... 2002/09/21

なかだです。

[#18341] Re: rubicon on EWS4800 — Tanaka Akira <akr@...17n.org> 2002/09/21

In article <200209211628.g8LGSxp04786@sharui.nakada.kanuma.tochigi.jp>,

[#18342] Re: rubicon on EWS4800 — nobu.nakada@... 2002/09/21

なかだです。

[#18343] Re: rubicon on EWS4800 — Tanaka Akira <akr@...17n.org> 2002/09/21

In article <200209211739.g8LHdKp05495@sharui.nakada.kanuma.tochigi.jp>,

[#18345] Re: rubicon on EWS4800 — nobu.nakada@... 2002/09/22

なかだです。

[#18349] Re: rubicon on EWS4800 — Tanaka Akira <akr@...17n.org> 2002/09/22

In article <200209220415.g8M4Fkp24392@sharui.nakada.kanuma.tochigi.jp>,

[#18374] Re: [ruby-cvs] ruby/ext/tcltklib: * eval.c (ruby_run): should set toplevel visibility again here. — WATANABE Hirofumi <eban@...>

わたなべです。

20 messages 2002/09/25
[#18376] Re: [ruby-cvs] ruby/ext/tcltklib: * eval.c (ruby_run): should set toplevel visibility again here. — matz@... (Yukihiro Matsumoto) 2002/09/25

まつもと ゆきひろです

[#18377] Re: [ruby-cvs] ruby/ext/tcltklib: * eval.c (ruby_run): should set toplevel visibility again here. — nobu.nakada@... 2002/09/25

なかだです。

[#18378] Re: [ruby-cvs] ruby/ext/tcltklib: * eval.c (ruby_run): should set toplevel visibility again here. — WATANABE Hirofumi <eban@...> 2002/09/25

わたなべです。

[ruby-dev:18385] Re: rubicon on EWS4800

From: nobu.nakada@...
Date: 2002-09-26 01:03:17 UTC
List: ruby-dev #18385
なかだです。

At Thu, 26 Sep 2002 09:20:15 +0900,
Yukihiro Matsumoto wrote:
> |> deadlock 0x1bc9d0: 2:0  - TestThreadGroup.rb:26
> |
> |しかし、2:8ってなんだっけ、と思ってもeval.c見ないと意味が分かん
> |ないですね。せめてこれくらいは。
> 
> |--- eval.c	25 Sep 2002 07:03:01 -0000	1.335
> |+++ eval.c	25 Sep 2002 23:33:27 -0000
> 
> このほうが親切ですね。コミットしてください。

もうちょっと親切にしてみました。バックトレースでもスレッドIDと
かは出ないんで。

そういえばWAIT_PIDって今使ってないんですね。Process#waitpidでも
ポーリングしてるし。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.335
diff -u -2 -p -r1.335 eval.c
--- eval.c	25 Sep 2002 07:03:01 -0000	1.335
+++ eval.c	26 Sep 2002 00:10:41 -0000
@@ -7799,10 +7799,15 @@ static void
 rb_thread_deadlock()
 {
+    char msg[21+SIZEOF_LONG*2];
+    VALUE e;
+
+    sprintf(msg, "Thread(0x%lx): deadlock", curr_thread->thread);
+    e = rb_exc_new2(rb_eFatal, msg);
     if (curr_thread == main_thread) {
-	rb_raise(rb_eFatal, "Thread: deadlock");
+	rb_exc_raise(e);
     }
     curr_thread = main_thread;
     th_raise_argc = 1;
-    th_raise_argv[0] = rb_exc_new2(rb_eFatal, "Thread: deadlock");
+    th_raise_argv[0] = e;
     th_raise_node = ruby_current_node;
     rb_thread_restore_context(main_thread, RESTORE_RAISE);
@@ -8071,7 +8076,15 @@ rb_thread_schedule()
 	curr_thread->node = ruby_current_node;
 	FOREACH_THREAD_FROM(curr, th) {
-	    fprintf(stderr, "deadlock 0x%lx: %d:%d %s - %s:%d\n", 
-		    th->thread, th->status,
-		    th->wait_for, th==main_thread ? "(main)" : "",
+	    fprintf(stderr, "deadlock 0x%lx: %s:",
+		    th->thread, thread_status_name(th->status));
+	    if (th->wait_for & WAIT_FD) fprintf(stderr, "F(%d)", th->fd);
+	    if (th->wait_for & WAIT_SELECT) fprintf(stderr, "S");
+	    if (th->wait_for & WAIT_TIME) fprintf(stderr, "T(%f)", th->delay);
+	    if (th->wait_for & WAIT_JOIN)
+		fprintf(stderr, "J(0x%lx)", th->join ? th->join->thread : 0);
+	    if (th->wait_for & WAIT_PID) fprintf(stderr, "P");
+	    if (!th->wait_for) fprintf(stderr, "-");
+	    fprintf(stderr, " %s - %s:%d\n",
+		    th==main_thread ? "(main)" : "",
 		    th->node->nd_file, nd_line(th->node));
 	}
@@ -8296,7 +8309,9 @@ rb_thread_join(th, limit)
     if (!rb_thread_dead(th)) {
 	if (th == curr_thread)
-	    rb_raise(rb_eThreadError, "thread tried to join itself");
+	    rb_raise(rb_eThreadError, "thread 0x%lx tried to join itself",
+		     th->thread);
 	if ((th->wait_for & WAIT_JOIN) && th->join == curr_thread)
-	    rb_raise(rb_eThreadError, "Thread#join: deadlock - mutual join");
+	    rb_raise(rb_eThreadError, "Thread#join: deadlock 0x%lx - mutual join(0x%lx)",
+		     curr_thread->thread, th->thread);
 	if (curr_thread->status == THREAD_TO_KILL)
 	    last_status = THREAD_TO_KILL;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread