[#7968] array .{first, last, at} — Kazunori NISHI <kazunori@...>

西@九大です。

25 messages 1999/10/07
[#7969] Re: array .{first, last, at} — nobu.nakada@... 1999/10/07

なかだです。

[#7983] Re: array .{first, last, at} — Kazunori NISHI <kazunori@...> 1999/10/12

西@九大です。

[#7984] Re: array .{first, last, at} — matz@... (Yukihiro Matsumoto) 1999/10/12

まつもと ゆきひろです

[#7985] [patch] Array#delete_at w/ minus value — EGUCHI Osamu <eguchi@...> 1999/10/12

えぐち@エスアンドイーです。

[ruby-dev:8039] Re: ruby 1.4.2 sometimes crashes on m68k-linux

From: matz@... (Yukihiro Matsumoto)
Date: 1999-10-16 16:38:11 UTC
List: ruby-dev #8039
まつもと ゆきひろです

In message "[ruby-dev:8035] ruby 1.4.2 sometimes crashes on m68k-linux"
    on 99/10/16, akira yamada / やまだあきら <akira@arika.org> writes:

|Ruby の Debian パッケージについてバグ報告がきたんですが, 
|Ruby 自体のバグではなかろうか? ということなんで
|こちらにメールしてみます. 
|
|内容としては以下に添付した通りです. 
|今のところ m68k アーキテクチャについてのみの報告ですね. 

ちょっと見た限り考えられるのは、GC関連ですね。つまり、なんら
かの理由で f に格納されているIOオブジェクトが既にGCされてし
まうとこのような症状が発生しそうです。extの状態によって発生
したりしなかったりというのもGCを疑わせます。

しかし、ローカル変数 f がオブジェクトをポイントしているのに
GCされちゃうというのはかなり考えにくいです。可能性は

  * m68kのコンパイラのバグ

  * rb_io_close()を呼んでから、fclose()が呼ばれるまでの間に
    GCが発生した

のいずれかでしょう。しかし、ソースを見る限り後者のタイミング
にGC発生の可能性は無いような気がするんですが。

--
Hi, I'm author of Ruby.

|Ok, some facts:
|
| - The crash happens when "miniruby -Xext extmk.rb" gets to the
|   ext/sockets dir. The process receives a SIGILL during load of
|   ext/socket/extconf.rb.

I suspect something wrong with GC (garbage collection).  Possiblities
are:

  * a bug in m69k gcc (local variable handling).

  * GC occurred between invocations rb_io_close() and fclose(), even
    though I couldn't find any point where GC may be started.

The latter is rare possibility, but I still can't deny.

How about changing

  VALUE f;

into

  volatile VALUE f;

and see whether the situation will change or not?

                                                        matz.

In This Thread

Prev Next