[#38919] Ruby 1.8.1 preview4 — matz@... (Yukihiro Matsumoto)

Hi,

44 messages 2003/12/22
[#38921] Re: Ruby 1.8.1 preview4 — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/12/22

Hi, all,

[ruby-list:38887] Re: pty problem

From: nobu.nakada@...
Date: 2003-12-10 06:23:25 UTC
List: ruby-list #38887
なかだです。

At Wed, 10 Dec 2003 14:09:11 +0900,
OHARA Shigeki wrote:
> 具体的には、"Child_changed:" という message で RuntimeError が上がっていて、
> spawn した直後に slogin コマンドが死んでいるようでしたので、
> 当該エラーの箇所で、
> 
>     rb_raise(rb_eRuntimeError,
> 	     "Child_changed: %d, sig=%d, exit=%d",
> 	     cpid, WTERMSIG(statusp), WEXITSTATUS(statusp));
> 
> のように signal の種類を出力するようにして試してみたところ、
> 26 (SIGVTALRM) が飛んでいることがわかりました。
> 
> これが setitimer(2) によって飛ばされると仮定して、
> slogin には setitimer は無く、
> execve(2) は親の setitimer の値を継承するということなので、
> Ruby の側に原因があると考え、Ruby の pty.c で、
> execvp の直前で timer を clear するよう以下のような修正をしたところ、
> RuntimeError が上がる現象がおさまるようになりました。

1.8では、rb_f_exec()、つまりKernel#execを使うように修正されてい
ます。1.6にバックポートしてもいいのですが、もう1.6.9は出ないと
いうことになっていますから、1.8への移行をお勧めします。

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

In This Thread