[#42169] [Ruby 1.9-Bug#3781][Open] FIBER_USE_NATIVE が有効だと落ちるスクリプトがある — Makoto Kishimoto <redmine@...>
Bug #3781: FIBER_USE_NATIVE が有効だと落ちるスクリプトがある
5 messages
2010/09/01
[#42188] [Ruby-Bug#3794][Open] test/openssl/test_ssl.rb hungs on mswin32_100 — Akio Tajima <redmine@...>
Bug #3794: test/openssl/test_ssl.rb hungs on mswin32_100
8 messages
2010/09/06
[#42194] Enhancing Numeric#step — "Akinori MUSHA" <knu@...>
Numeric#step の仕様の拡張を提案します。
26 messages
2010/09/08
[#42196] Re: Enhancing Numeric#step
— Yukihiro Matsumoto <matz@...>
2010/09/08
まつもと ゆきひろです
[#42200] Re: Enhancing Numeric#step
— "Akinori MUSHA" <knu@...>
2010/09/08
At Wed, 8 Sep 2010 22:46:57 +0900,
[#42204] Re: Enhancing Numeric#step
— Yukihiro Matsumoto <matz@...>
2010/09/09
まつもと ゆきひろです
[#42207] Re: Enhancing Numeric#step
— "Akinori MUSHA" <knu@...>
2010/09/09
At Thu, 9 Sep 2010 09:59:45 +0900,
[#42237] Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/12
At Thu, 9 Sep 2010 09:59:45 +0900,
[#42244] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/13
At Sun, 12 Sep 2010 19:51:21 +0900,
[#42305] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/29
At Mon, 13 Sep 2010 12:48:37 +0900,
[#42307] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— Yukihiro Matsumoto <matz@...>
2010/09/29
まつもと ゆきひろです
[#42308] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/29
At Wed, 29 Sep 2010 16:10:27 +0900,
[#42312] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— Yukihiro Matsumoto <matz@...>
2010/09/29
まつもと ゆきひろです
[#42318] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/30
At Wed, 29 Sep 2010 23:43:47 +0900,
[#42232] 1.9.2 readline can't handle cursorkeys, mbcs chars etc (msvcrt) — arton <artonx@...>
artonです。
11 messages
2010/09/10
[#42233] Re: 1.9.2 readline can't handle cursorkeys, mbcs chars etc (msvcrt)
— Yukihiro Matsumoto <matz@...>
2010/09/10
まつもと ゆきひろです
[#42269] [Ruby 1.9-Bug#3836] Kernel.system, spawnがスペースを含むパスで動作しない — Hiroki Najima <redmine@...>
チケット #3836 が更新されました。 (by Hiroki Najima)
12 messages
2010/09/16
[#42270] WindowsでのKernel.systemの挙動、一貫性について
— NAJIMA Hiroki <h.najima@...>
2010/09/16
名島(Nazy)と申します。
[#42274] Re: WindowsでのKernel.systemの挙動、一貫性について
— "U.Nakamura" <usa@...>
2010/09/21
こんにちは、なかむら(う)です。
[#42276] Re: WindowsでのKernel.systemの挙動、一貫性について
— NAJIMA Hiroki <h.najima@...>
2010/09/21
名島(Nazy)です。
[#42277] Re: WindowsでのKernel.systemの挙動、一貫性について
— NAJIMA Hiroki <h.najima@...>
2010/09/21
名島(Nazy)です。
[#42310] ビジースレッドがあるとコンテキストスイッチが起きづらくなる — kuwamoto shintaro <beuniv@...>
こんにちは。
9 messages
2010/09/29
[#42315] [bug:trunk] ビジースレッドがあるとコンテキストスイッチが起きづらくなる
— "U.Nakamura" <usa@...>
2010/09/30
こんにちは、なかむら(う)です。
[ruby-dev:42175] Re: [Ruby 1.9-Bug#3781][Open] FIBER_USE_NATIVE が有効だと落ちるスクリプトがある
From:
Satoshi Shiba <shiba@...>
Date:
2010-09-03 06:30:39 UTC
List:
ruby-dev #42175
芝と申します。 Makoto Kishimoto wrote: > Bug #3781: FIBER_USE_NATIVE が有効だと落ちるスクリプトがある > http://redmine.ruby-lang.org/issues/show/3781 > > 起票者: Makoto Kishimoto > ステータス: Open, 優先度: Normal > カテゴリ: core, Target version: 1.9.3 > ruby -v: ruby 1.9.3dev (2010-09-01 trunk 29159) [x86_64-freebsd8.0] > > 手元のスクリプト(再現る最小のケースを絞り込むのが無理そうなので、そのまま添付します)が、FIBER_USE_NATIVE が有効な ruby で落ちます。 > > x86-64 FreeBSD と i686 Linux で落ちかたは違いました。ruby の吐くメッセージとバックトレースを以下そぞれ付けます。 落ちる原因を調べたので、ご報告いたします。 i686 Linux 環境で調べたところ、gc 中に C のスタックオーバーフローを起こ すことが原因のようです。 [BUG] object allocation during garbage collection phase というメッセージは、gc 中に C のスタックオーバーフローが発生し、それに対 するバックトレースを生成しようとして吐いているみたいです。 きしもとさんからのご報告にあったバックトレースを見れば分かるように、gc 時に C のスタックが結構な勢いで伸びているため(これぐらい普通なのか な)、C のスタック領域を64KBしか確保しない現在の Fiber の実装だと C のス タック領域が GC 中に足りなくなってしまっているようです。 下のパッチのように Fiber に対して割り当てる C のスタックサイズを増やせ ば、(根本的な解決には全くなっていませんが)きしもとさんからのご報告に添 付されていた reduct.rb で落ちることはなくなりました。 GC 中にスタックオーバーフローが発生しそうなときって今はどう対応してるん でしょう? gc.c 内の stack_check() の返り値が 1 になっても特に例外を吐く ようなことはしていないみたいなんですが。 Index: cont.c =================================================================== --- cont.c (revision 29154) +++ cont.c (working copy) @@ -45,7 +45,7 @@ #define RB_PAGE_SIZE (pagesize) #define RB_PAGE_MASK (~(RB_PAGE_SIZE - 1)) static long pagesize; -#define FIBER_MACHINE_STACK_ALLOCATION_SIZE (0x10000 / sizeof(VALUE)) +#define FIBER_MACHINE_STACK_ALLOCATION_SIZE (0x50000 / sizeof(VALUE)) #endif #define CAPTURE_JUST_VALID_VM_STACK 1