[#34261] ComplexFloat — "Kenta Murata" <muraken@...>

村田です.

117 messages 2008/04/06
[#34280] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

村田です.

[#34286] Re: ComplexFloat — Nobuyoshi Nakada <nobu@...> 2008/04/10

なかだです。

[#34288] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34290] Re: ComplexFloat — "U.Nakamura" <usa@...> 2008/04/10

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

[#34293] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34296] Re: ComplexFloat — "U.Nakamura" <usa@...> 2008/04/10

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

[#34298] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34300] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/10

In article <761216ce0804100221x67f10f12iab12b0e35b6f50e4@mail.gmail.com>,

[#34301] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34303] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/10

まつもと ゆきひろです

[#34314] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/10

利点としては、拡張ライブラリが書きやすい、ということ。正当化の理由とし

[#34316] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34317] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/10

> 私にはいびつな進化という感じはしません.むしろ,せっかく C で実装できるのに

[#34318] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34322] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/10

まつもと ゆきひろです

[#34328] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/11

むらたです.

[#34331] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/11

まつもと ゆきひろです

[#34340] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/11

むらたです.

[#34341] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/11

まつもと ゆきひろです

[#34362] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34363] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/12

In article <761216ce0804120723n16bfbad7qdae90f142978d256@mail.gmail.com>,

[#34367] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34368] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/12

In article <761216ce0804121011h6132d58fh4916ecbb29d58690@mail.gmail.com>,

[#34369] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34364] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/12

まつもと ゆきひろです

[#34366] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34386] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/13

まつもと ゆきひろです

[#34415] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/15

むらたです.

[#34439] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/17

原です。

[#34442] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/17

まつもと ゆきひろです

[#34451] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/18

原です。

[#34455] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/18

> 1. ComplexFloat を組込みにし、Complex を標準ライブラリとして提供する。

[#34457] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/20

原です。

[#34458] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/20

> 分かりににくかったですが、これは、ComplexFloat を含めた組込みの数体系が

[#34502] Re: ComplexFloat — sheepman <sh@...> 2008/04/24

こんばんは sheepman です。

[#34601] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/05/07

まつもと ゆきひろです

[#34603] Re: ComplexFloat — keiju@... (石塚圭樹) 2008/05/07

けいじゅ@いしつかです.

[#34614] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/05/08

まつもと ゆきひろです

[#34621] Re: ComplexFloat — keiju@... (石塚圭樹) 2008/05/08

けいじゅ@いしつかです.

[ruby-dev:34312] marshal_dump を使うとダンプ結果が壊れる

From: Tomoyuki Chikanaga <chikanag@...>
Date: 2008-04-10 14:24:26 UTC
List: ruby-dev #34312
日本コントロールシステム(株) 近永と申します。

1.8.6 において、marshal_dump / marshal_load を定義して
Marshal でのダンプを再定義したオブジェクトのダンプ結果が
不正になることがあります。
複数のクラスのオブジェクト間で相互参照があって、サイズが
大きい時に発生します。

経緯は長くなるので端折りますと、どうやら marshal_dump で返した
オブジェクトが GC されてしまい、ダンプ処理の途中で中身が変化して
しまうようです。
GC.disable すると発生しませんし、GC.stress を 1.9 から
バックポートしてみると発生しやすくなりました。

一応以下のように修正すると発生しなくなるのを確認しました。

--- marshal.c.orig     2007-02-13 08:01:19.000000000 +0900
+++ marshal.c.       2008-04-10 22:56:10.000000000 +0900
@@ -502,7 +502,7 @@

        st_add_direct(arg->data, obj, arg->data->num_entries);
        if (rb_respond_to(obj, s_mdump)) {
-           VALUE v;
+           volatile VALUE v;

            v = rb_funcall(obj, s_mdump, 0, 0);
            w_class(TYPE_USRMARSHAL, obj, arg, Qfalse);

ただこの v という変数は直後に w_object の引数に渡しているだけで、
本来は volatile は不要だと理解しておりますので、問題は別のところに
あるのかもしれません。
これ以上はわたしの手に負えそうもないので、報告だけさせて頂きます。

コンパイルした環境は以下のようなものです
OS: Red Hat Enterprise Linux ES release 3 (Taroon Update 8)
CPU:Intel(R) Xeon(R) CPU

% uname -a
Linux compile 2.4.21-47.ELsmp #1 SMP Wed Jul 5 20:38:41 EDT 2006 i686
i686 i386 GNU/Linux

% gcc -v
/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.6/specs から spec を読み込み中
コンフィグオプション: ./configure --program-suffix=-3.4.6
--disable-shared --disable-ada --disable-java --disable-objc :
(reconfigured) ./configure --program-suffix=-3.4.6 --disable-shared
--enable-languages=c,c++,fortran : (reconfigured) ./configure
--program-suffix=-3.4.6 --disable-shared
--enable-languages=c,c++,fortran : (reconfigured) ./configure
--program-suffix=-3.4.6 --disable-shared --enable-languages=c,c++,f77
スレッドモデル: posix
gcc バージョン 3.4.6

実行した環境はコンパイルした環境とは違っていて、下記の通りです。
OS: openSUSE 10.3 (i586)
CPU:Intel(R) Xeon(TM) CPU

% uname -a
Linux running 2.6.22.5-31-default #1 SMP 2007/09/21 22:29:00 UTC i686
i686 i386 GNU/Linux

再現させるデータ、スクリプトは保持しております。

以上、よろしくお願い致します。



In This Thread

Prev Next