[#30872] segv when reentering into Fiber with callcc — sheepman <sheepman@...>

こんばんは、sheepman です。

15 messages 2007/06/01
[#30899] Re: segv when reentering into Fiber with callcc — SASADA Koichi <ko1@...> 2007/06/06

 ささだです。

[#30905] Re: segv when reentering into Fiber with callcc — "Yusuke ENDOH" <mame@...> 2007/06/06

遠藤と申します。

[#30906] Re: segv when reentering into Fiber with callcc — SASADA Koichi <ko1@...> 2007/06/06

 ささだです。

[#30929] secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

51 messages 2007/06/08
[#30930] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <4669066C.2080307@sarion.co.jp>,

[#30934] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/08

-----BEGIN PGP SIGNED MESSAGE-----

[#30935] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <46694461.4060706@sarion.co.jp>,

[#30936] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/08

-----BEGIN PGP SIGNED MESSAGE-----

[#30938] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <46697C0B.8060402@sarion.co.jp>,

[#30939] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/08

-----BEGIN PGP SIGNED MESSAGE-----

[#30940] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <4669DAB0.4050705@sarion.co.jp>,

[#30944] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/09

-----BEGIN PGP SIGNED MESSAGE-----

[#30945] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/09

In article <466AA73C.9030407@sarion.co.jp>,

[#30946] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/09

-----BEGIN PGP SIGNED MESSAGE-----

[#30950] Re: secrand.rb — Nobuyoshi Nakada <nobu@...> 2007/06/11

なかだです。

[#31173] Re: Random — Tanaka Akira <akr@...> 2007/07/10

In article <469253E9.9010203@sarion.co.jp>,

[#31174] Re: Random — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/10

-----BEGIN PGP SIGNED MESSAGE-----

[#31178] Re: Random — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/11

-----BEGIN PGP SIGNED MESSAGE-----

[#31179] Re: Random — Tanaka Akira <akr@...> 2007/07/11

In article <4694338C.7090303@sarion.co.jp>,

[#31183] Re: Random — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/11

-----BEGIN PGP SIGNED MESSAGE-----

[#30971] Linux/ia64で'ucontext_t' undeclared — akira yamada / やまだあきら <akira@...>

最近のRuby 1.9をLinux/ia64上でmakeしようとすると

16 messages 2007/06/13
[#30973] Re: Linux/ia64で'ucontext_t' undeclared — Yukihiro Matsumoto <matz@...> 2007/06/13

まつもと ゆきひろです

[#30974] Re: Linux/ia64で'ucontext_t' undeclared — akira@... 2007/06/13

Yukihiro Matsumoto さんは書きました:

[#30975] Re: Linux/ia64で'ucontext_t' undeclared — Yukihiro Matsumoto <matz@...> 2007/06/13

まつもと ゆきひろです

[ruby-dev:30897] Re: return in Fiber dumps core

From: Nobuyoshi Nakada <nobu@...>
Date: 2007-06-05 08:21:07 UTC
List: ruby-dev #30897
なかだです。

At Tue, 5 Jun 2007 00:00:38 +0900,
sheepman wrote in [ruby-dev:30888]:
> Fiber のブロックの中で return を呼ぶと segv します。

[ruby-dev:30889]も原因は同じだと思います。


Index: cont.c
===================================================================
--- cont.c	(revision 12440)
+++ cont.c	(working copy)
@@ -437,5 +437,5 @@ rb_fiber_start(void)
 
     if (state) {
-	th->thrown_errinfo = th->errinfo;
+	th->thrown_errinfo = th_make_jump_tag_but_local_jump(state, th->errinfo);
 	th->interrupt_flag = 1;
     }
Index: eval_intern.h
===================================================================
--- eval_intern.h	(revision 12440)
+++ eval_intern.h	(working copy)
@@ -123,5 +123,5 @@ char *strrchr _((const char *, const cha
   } \
   else { \
-      rb_fiber_start(th); \
+      rb_fiber_start(); \
   } while (0)
 
@@ -194,4 +194,6 @@ VALUE rb_f_eval(int argc, VALUE *argv, V
 VALUE rb_make_exception _((int argc, VALUE *argv));
 
+NORETURN(void rb_fiber_start(void));
+
 NORETURN(void rb_raise_jump _((VALUE)));
 NORETURN(void print_undef _((VALUE, ID)));
@@ -204,4 +206,5 @@ NODE *th_get_cref(rb_thread_t *th, rb_is
 NODE *th_cref_push(rb_thread_t *th, VALUE, int);
 NODE *th_set_special_cref(rb_thread_t *th, VALUE *lfp, NODE * cref_stack);
+VALUE th_make_jump_tag_but_local_jump(int state, VALUE val);
 
 static rb_control_frame_t *


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

In This Thread