[#30232] [patch] rb_type(): シンボル型に対する型判定が怪しい — "Yoshinori Sano" <yoshinori.sano@...>
さの よしのり です。
6 messages
2007/02/01
[#30241] 質問: 関数風メソッド呼び出しのYARV命令列について — "Yoshinori Sano" <yoshinori.sano@...>
さの よしのり です
7 messages
2007/02/01
[#30259] getinstancevariable2 — SASADA Koichi <ko1@...>
ささだです。
5 messages
2007/02/05
[#30263] exception on Singleton — SASADA Koichi <ko1@...>
ささだです。
10 messages
2007/02/05
[#30273] Re: exception on Singleton
— SASADA Koichi <ko1@...>
2007/02/05
ささだです.
[#30332] Re: exception on Singleton
— SASADA Koichi <ko1@...>
2007/02/14
ささだです。
[#30284] Re: 1.8.5 release on 3/3 — Urabe Shyouhei <shyouhei@...>
卜部です。1.8.5も3/3に同時リリースするといいと思いました。
14 messages
2007/02/06
[#30293] Re: 1.8.5 release on 3/3
— Shugo Maeda <shugo@...>
2007/02/06
前田です。
[#30307] Re: [ruby-cvs:18927] Ruby:r11679: * ext/thread: Make style fixes (mostly de-K&R'ism) to match the — Nobuyoshi Nakada <nobu@...>
なかだです。
8 messages
2007/02/09
[#30312] Re: [ruby-cvs:18927] Ruby:r11679: * ext/thread: Make style fixes (mostly de-K&R'ism) to match the
— "Akinori MUSHA" <knu@...>
2007/02/10
At Sat, 10 Feb 2007 00:00:44 +0900,
[#30321] [ruby_1_8] can't grub Digest::SHAxxx on powerpc-darwin — Tadashi Saito <shiba@...2.accsnet.ne.jp>
こんばんは。斎藤と申します。
5 messages
2007/02/11
[#30328] Re: [ruby-cvs:18955] Ruby:r11707: * ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
3 messages
2007/02/13
[#30338] backporting URI to ruby_1_8 — "Akinori MUSHA" <knu@...>
lib/uri を trunk から ruby_1_8 にマージします。
7 messages
2007/02/14
[#30362] Re: class local instance variable — "Park Ji-In" <tisphie@...>
44GT44KT44Gw44KT44Gv44CC5py0IOiKneWNsCDjgajnlLPjgZfjgb7jgZnjgIIKCuWIneOCgeOB
5 messages
2007/02/16
[#30373] Ruby 1.8.6 preview1 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.6 preview1 をリリースしました。
5 messages
2007/02/17
[#30396] unsupported: th_call0 in 1.9 — "KUBO Takehiro" <kubo@...>
久保です。
5 messages
2007/02/21
[#30404] ruby-1.8 で SEGV — Tomoyuki Chikanaga <chikanag@...>
日本コントロールシステム(株)の近永と申します。
6 messages
2007/02/24
[#30433] Re: ruby-1.8 で SEGV
— Chikanaga Tomoyuki <chikanag@...>
2007/02/26
日本コントロールシステム(株)の近永と申します。
[#30407] Arrayのメソッド増強について — Minero Aoki <aamine@...>
青木です。
7 messages
2007/02/24
[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.6 preview2 をリリースしました。
20 messages
2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released)
— Hidetoshi NAGAI <nagai@...>
2007/02/25
永井@知能.九工大です.
[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released)
— Nobuyoshi Nakada <nobu@...>
2007/02/25
なかだです。
[#30419] Re: fail to autoload at $SAFE==4
— Hidetoshi NAGAI <nagai@...>
2007/02/25
永井@知能.九工大です.
[#30434] Re: fail to autoload at $SAFE==4
— Nobuyoshi Nakada <nobu@...>
2007/02/27
なかだです。
[#30435] Re: fail to autoload at $SAFE==4
— Hidetoshi NAGAI <nagai@...>
2007/02/27
永井@知能.九工大です.
[#30437] Re: fail to autoload at $SAFE==4
— "Nobuyoshi Nakada" <nobu@...>
2007/02/27
なかだです。
[#30412] fastthreadについて — Shugo Maeda <shugo@...>
前田です。
9 messages
2007/02/25
[#30439] Re: MIME decoding confused by non-MIME characters — Urabe Shyouhei <shyouhei@...>
-devに振ってみる。
9 messages
2007/02/27
[#30440] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
はじめてこちらには postします。相馬と申します。
[#30441] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
相馬です。
[#30445] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
相馬です。
[ruby-dev:30267] Re: coredump on Mac OS X
From:
"Yoshinori Sano" <yoshinori.sano@...>
Date:
2007-02-05 16:03:35 UTC
List:
ruby-dev #30267
さの よしのりです
07/02/05 に SASADA Koichi<ko1@atdot.net> さんは書きました:
> ささだです。
>
> Yoshinori Sano wrote:
> > YARV_PREVIOUS_CONTROL_FRAME(th->cfp)が、常に安全な
> > アドレスを指していることを保証するのは難しいような気がするのですが。。。
>
> なぜでしょうか。出来ると思っていたので、こういう場合に無理、というのが
> あればご指摘ください。
すいません。直感でした。
よく考えると、スレッドスタックの利用開始位置を調整してやれば、
YARV_PREVIOUS_CONTROL_FRAME(th->cfp)が、常にスレッドスタック
の中のアドレスを示すようにできそうですね。
以下の変更がされる一つ前のr11627で、スレッドスタックの
利用開始位置を調整する実験をしてみました。
Mon Feb 5 04:09:48 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_frame_callee): check if prev_cfp can be accessible.
a patch from Yoshinori Sano <yoshinori.sano at gmail.com> in
[ruby-dev:30252]. solves [ruby-dev:30200] and [ruby-core:9856].
以下のように、スレッドスタックの利用開始位置を1フレーム分
マージンをとることで、YARV_PREVIOUS_CONTROL_FRAME(th->cfp)
が不正なアドレスを示さないようにできました。
Index: yarvcore.c
===================================================================
--- yarvcore.c (revision 11627)
+++ yarvcore.c (working copy)
@@ -390,7 +390,7 @@
th->stack_size = YARV_THREAD_STACK_SIZE;
th->cfp = (void *)(th->stack + th->stack_size);
- th->cfp--;
+ th->cfp -= 2;
th->cfp->pc = 0;
th->cfp->sp = th->stack;
% ./ruby -v no_such_file.rb
ruby 1.9.0 (2007-02-04 patchlevel 0) [i686-darwin8.8.1]
./ruby:1: No such file or directory -- no_such_file.rb (LoadError)
% gdb -q ./ruby
Reading symbols for shared libraries ... done
(gdb) b rb_frame_callee
Breakpoint 1 at 0x3305: file eval.c, line 1882.
(gdb) run no_such_file.rb
Starting program: /Users/ysano/ruby-trunk/ruby no_such_file.rb
Reading symbols for shared libraries .... done
Breakpoint 1, rb_frame_callee () at eval.c:1882
1882 return frame_func_id(GET_THREAD()->cfp + 1);
(gdb) p *(yarvCurrentThread->cfp+1)
$1 = {
pc = 0x0,
sp = 0x0,
bp = 0x0,
iseq = 0x0,
magic = 0,
self = 0,
lfp = 0x0,
dfp = 0x0,
block_iseq = 0x0,
proc = 0,
callee_id = 0,
method_id = 0,
method_klass = 0,
prof_time_self = 0,
prof_time_chld = 0,
dummy = 0
}
(gdb) p *(yarvCurrentThread->cfp+2)
Cannot access memory at address 0x685000
07/02/05 に SASADA Koichi<ko1@atdot.net> さんは書きました:
> これに関しては,ご指摘の通りVMスタックの状態が不完全だから起きる,とい
> うことなのですが,解決としては,最初からきちんとスタックを作っておく,と
> いうことを考えていました.毎回チェックするのはなんか嫌ですので.
ささださん >
もしよろしければ、「最初からきちんとスタックを作っておく」という
アイデアをもう少し詳しく説明していただけないでしょうか?
(まだ理解できないかもしれませんが、興味があります。)
07/02/05 に SASADA Koichi<ko1@atdot.net> さんは書きました:
> ささだです。
>
> Yoshinori Sano wrote:
> > YARV_PREVIOUS_CONTROL_FRAME(th->cfp)が、常に安全な
> > アドレスを指していることを保証するのは難しいような気がするのですが。。。
>
> なぜでしょうか。出来ると思っていたので、こういう場合に無理、というのが
> あればご指摘ください。
>
> --
> // SASADA Koichi at atdot dot net
>
>
>
--
Yoshinori Sano <yoshinori.sano@gmail.com>