[#21508] eval BEGIN/END at runtime — "NAKAMURA, Hiroshi" <nakahiro@...>

なひです。

15 messages 2003/10/06

[#21616] access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

44 messages 2003/10/14
[#21643] Re: access ENV on $SAFE==4 — matz@... (Yukihiro Matsumoto) 2003/10/20

まつもと ゆきひろです

[#21646] Re: access ENV on $SAFE==4 — TADA Tadashi <sho@...> 2003/10/20

ただただしです。

[#21656] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/20

永井@知能.九工大です.

[#21695] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/23

永井@知能.九工大です.

[#21696] Re: access ENV on $SAFE==4 — nobu.nakada@... 2003/10/23

なかだです。

[#21697] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/23

永井@知能.九工大です.

[#21698] Re: access ENV on $SAFE==4 — nobu.nakada@... 2003/10/23

なかだです。

[#21704] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/24

永井@知能.九工大です.

[#21712] Re: access ENV on $SAFE==4 — matz@... (Yukihiro Matsumoto) 2003/10/24

まつもと ゆきひろです

[#21713] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/24

永井@知能.九工大です.

[#21715] Re: access ENV on $SAFE==4 — matz@... (Yukihiro Matsumoto) 2003/10/25

まつもと ゆきひろです

[#21718] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/25

永井@知能.九工大です.

[#21720] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/25

永井@知能.九工大です.

[#21721] Re: access ENV on $SAFE==4 — matz@... (Yukihiro Matsumoto) 2003/10/25

まつもと ゆきひろです

[#21723] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/25

永井@知能.九工大です.

[#21727] Re: access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...> 2003/10/26

永井@知能.九工大です.

[#21682] ruby-tk hangs when exception is raised — akira yamada <akira@...>

62 messages 2003/10/23
[#21683] Re: ruby-tk hangs when exception is raised — nobu.nakada@... 2003/10/23

なかだです。

[#21685] Re: ruby-tk hangs when exception is raised — akira yamada / やまだあきら <akira@...> 2003/10/23

[#21687] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/10/23

永井@知能.九工大です.

[#21688] Re: ruby-tk hangs when exception is raised — akira yamada / やまだあきら <akira@...> 2003/10/23

[#21691] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/10/23

永井@知能.九工大です.

[#21693] Re: ruby-tk hangs when exception is raised — akira yamada / やまだあきら <akira@...> 2003/10/23

[#21694] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/10/23

永井@知能.九工大です.

[#21736] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/10/28

永井@知能.九工大です.

[#21744] Re: ruby-tk hangs when exception is raised — akira yamada / やまだあきら <akira@...> 2003/10/28

[#21797] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/10/31

永井@知能.九工大です.

[#21801] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/11/01

永井@知能.九工大です.

[#21825] Re: ruby-tk hangs when exception is raised — Hidetoshi NAGAI <nagai@...> 2003/11/04

永井@知能.九工大です.

[#21833] pthread trouble on tcltklib (Re: ruby-tk hangs when exception is raised) — Hidetoshi NAGAI <nagai@...> 2003/11/05

永井@知能.九工大です.

[#21835] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/05

永井@知能.九工大です.

[#21900] Re: pthread trouble on tcltklib — nobu.nakada@... 2003/11/11

なかだです。

[#21901] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/12

永井@知能.九工大です.

[#21905] Re: pthread trouble on tcltklib — nobu.nakada@... 2003/11/12

なかだです。

[#21908] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/12

永井@知能.九工大です.

[#21914] Re: pthread trouble on tcltklib — nobu.nakada@... 2003/11/12

なかだです。

[#21915] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/12

永井@知能.九工大です.

[#21916] Re: pthread trouble on tcltklib — nobu.nakada@... 2003/11/12

なかだです。

[#21922] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/14

永井@知能.九工大です.

[#21929] Re: pthread trouble on tcltklib — Tietew <tietew-ml-ruby-dev@...> 2003/11/17

[#21930] Re: pthread trouble on tcltklib — nobu.nakada@... 2003/11/17

なかだです。

[#21931] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/17

永井@知能.九工大です.

[#21934] Re: pthread trouble on tcltklib — nobu.nakada@... 2003/11/17

なかだです。

[#21937] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/17

永井@知能.九工大です.

[#21952] Re: pthread trouble on tcltklib — matz@... (Yukihiro Matsumoto) 2003/11/18

まつもと ゆきひろです

[#21957] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/19

永井@知能.九工大です.

[#21958] Re: pthread trouble on tcltklib — Tietew <tietew-ml-ruby-dev@...> 2003/11/19

[#21959] Re: pthread trouble on tcltklib — Hidetoshi NAGAI <nagai@...> 2003/11/19

永井@知能.九工大です.

[#21960] Re: pthread trouble on tcltklib — Tietew <tietew-ml-ruby-dev@...> 2003/11/19

[#21707] drb Hash#each — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

22 messages 2003/10/24
[#21708] Re: drb Hash#each — m_seki@... 2003/10/24

[#21709] Re: drb Hash#each — matz@... (Yukihiro Matsumoto) 2003/10/24

まつもと ゆきひろです

[#21710] Re: drb Hash#each — m_seki@... 2003/10/24

[#21747] ruby 1.8.1 preview1 schedule — matz@... (Yukihiro Matsumoto)

関係者各位、

25 messages 2003/10/29

[ruby-dev:21584] Re: core dump in rb_thread_schedule

From: nobu.nakada@...
Date: 2003-10-09 12:42:33 UTC
List: ruby-dev #21584
なかだです。

At Thu, 9 Oct 2003 20:57:01 +0900,
Tanaka Akira wrote:
> うぅむ。20:50 ごろに落ちました。

> 8589            if (!found && th->status <= THREAD_RUNNABLE) {
> (gdb) p found
> $1 = 0
> (gdb) p th
> $2 = 0x746867
> (gdb) p th->status
> Cannot access memory at address 0x746963
> (gdb) p *th
> Cannot access memory at address 0x746867

main_threadとcurr_threadからnextをたどって見せてもらえますか。

1.552, 1.554, 1.557をback outするパッチです。これで変化はあるで
しょうか。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.557
diff -u -2 -p -r1.557 eval.c
--- eval.c	9 Oct 2003 10:11:48 -0000	1.557
+++ eval.c	9 Oct 2003 12:38:46 -0000
@@ -4163,8 +4163,4 @@ rb_yield_0(val, self, klass, flags, aval
 	if (state) goto pop_state;
     }
-    if (!node) {
-	state = 0;
-	goto pop_state;
-    }
 
     PUSH_ITER(block->iter);
@@ -4172,5 +4168,8 @@ rb_yield_0(val, self, klass, flags, aval
     if ((state = EXEC_TAG()) == 0) {
       redo:
-	if (nd_type(node) == NODE_CFUNC || nd_type(node) == NODE_IFUNC) {
+	if (!node) {
+	    result = Qnil;
+	}
+	else if (nd_type(node) == NODE_CFUNC || nd_type(node) == NODE_IFUNC) {
 	    if (node->nd_state == YIELD_FUNC_AVALUE) {
 		if (!avalue) {
@@ -6456,5 +6455,4 @@ call_end_proc(data)
     PUSH_FRAME();
     ruby_frame->self = ruby_frame->prev->self;
-    ruby_frame->node = 0;
     ruby_frame->last_func = 0;
     ruby_frame->last_class = 0;
@@ -7023,5 +7021,4 @@ proc_invoke(proc, args, self, klass)
     PUSH_ITER(ITER_CUR);
     ruby_frame->iter = ITER_CUR;
-    ruby_current_node = data->body;
     PUSH_TAG((pcall || orphan) ? PROT_PCALL : PROT_CALL);
     state = EXEC_TAG();
@@ -8178,5 +8175,5 @@ rb_thread_check(data)
 }
 
-static VALUE rb_thread_raise _((int, VALUE*, rb_thread_t));
+static VALUE rb_thread_raise _((int, VALUE*, volatile rb_thread_t));
 
 static int   th_raise_argc;
@@ -9380,11 +9377,12 @@ rb_thread_stop_timer()
 
 static VALUE
-rb_thread_start_0(fn, arg, th)
+rb_thread_start_0(fn, arg, th_arg)
     VALUE (*fn)();
     void *arg;
-    rb_thread_t th;
+    rb_thread_t th_arg;
 {
-    volatile rb_thread_t th_save = th;
-    struct BLOCK *volatile saved_block = 0, *block;
+    volatile rb_thread_t th = th_arg;
+    volatile VALUE thread = th->thread;
+    volatile struct BLOCK* saved_block = 0;
     enum thread_status status;
     int state;
@@ -9409,5 +9407,5 @@ rb_thread_start_0(fn, arg, th)
 
     if (THREAD_SAVE_CONTEXT(curr_thread)) {
-	return th_save->thread;
+	return thread;
     }
 
@@ -9437,9 +9435,4 @@ rb_thread_start_0(fn, arg, th)
 	    th->result = (*fn)(arg, th);
 	}
-	th = th_save;
-    }
-    else if (TAG_DST()) {
-	th = th_save;
-	th->result = prot_tag->retval;
     }
     POP_TAG();
@@ -9449,10 +9442,10 @@ rb_thread_start_0(fn, arg, th)
     rb_thread_remove(th);
 
-    for (block = saved_block; block;) {
-	struct BLOCK *tmp = block;
+    while (saved_block) {
+	volatile struct BLOCK *tmp = saved_block;
 
 	if (tmp->frame.argc > 0)
 	    free(tmp->frame.argv);
-	block = tmp->prev;
+	saved_block = tmp->prev;
 	free((void*)tmp);
     }
@@ -9747,8 +9740,6 @@ rb_thread_raise(argc, argv, th)
     int argc;
     VALUE *argv;
-    rb_thread_t th;
+    volatile rb_thread_t th;
 {
-    volatile rb_thread_t th_save = th;
-
     if (rb_thread_dead(th)) return Qnil;
     if (curr_thread == th) {
@@ -9758,5 +9749,5 @@ rb_thread_raise(argc, argv, th)
     if (!rb_thread_dead(curr_thread)) {
 	if (THREAD_SAVE_CONTEXT(curr_thread)) {
-	    return th_save->thread;
+	    return th->thread;
 	}
     }
@@ -9921,6 +9912,5 @@ rb_callcc(self)
 {
     volatile VALUE cont;
-    rb_thread_t th;
-    volatile rb_thread_t th_save;
+    volatile rb_thread_t th;
     struct tag *tag;
     struct RVarmap *vars;
@@ -9940,7 +9930,6 @@ rb_callcc(self)
     }
 
-    th_save = th;
     if (THREAD_SAVE_CONTEXT(th)) {
-	return th_save->result;
+	return th->result;
     }
     else {



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

In This Thread