Backport #7658

Rabbit が Ruby 1.9.3p362 で落ちる

Added by Masahiro Tomita over 1 year ago. Updated over 1 year ago.

[ruby-dev:46831]
Status:Closed
Priority:Normal
Assignee:-

Description

Ubuntu 12.10 で Rabbit http://rabbit-shocker.org/ が Ruby 1.9.3p362 で落ちます。
表紙は表示されるのですが、ページを送っていると落ちます。
Rabbit の問題の可能性もあるのですが、Ruby 1.9.3p327 ではちゃんと動作していたので、Ruby の問題かと思って、このMLに投稿してます。
もしかしたら OS まわりの環境の問題かもしれません。

Git で ruby19_3 のブランチを追いかけてみると、commit 19015605 で落ちるようになったようです(Subversion の r38314)。

再現方法: ($HOME/ruby193 に Ruby をインストールしてあります)

% ~/ruby193/bin/gem install rabbit
% cd ~/ruby193/lib/ruby/gems/1.9.1/gems/rabbit-2.0.6/sample
% ~/ruby193/bin/rabbit rabbit.rd
Rabbit のウィンドウが表示されたらスペースキーでページを進める

落ちたときのエラーはこんな感じで、スタックトレース等は出力されません。

 zsh: segmentation fault  ~/ruby193/bin/rabbit rabbit.rd

--
とみたまさひろ tommy@tmtm.org
http://twitter.com/tmtms
D68F 8F55 7F6C 5908 88EB 1EBA 25ED DEE7 BBE8 1752

vm.c.patch Magnifier (1.23 KB) Eito Katagiri, 01/06/2013 03:44 PM


Related issues

Related to ruby-trunk - Bug #7507: lazy.map{}.zip{} causes SEGV Closed 12/04/2012
Duplicates Backport93 - Backport #7629: Segmentation fault Closed 12/28/2012

History

#1 Updated by _ wanabe over 1 year ago

[Bug #7507] の対策としてコミットされた r38213 を Backport することで落ちなくなるように思います。
[Bug #7629] については再現できていないのですが、もしかしたら同じ現象ではないかと見ています。
どうでしょうか。

#2 Updated by Eito Katagiri over 1 year ago

=begin
[Bug #7629] の方で報告した一人です。 r38213 を参考にして添付のような変更した場合、10回実行して7回ほどSegmentation Faultが発生していたのが、10回以上実行しても全く発生しなくなりました。

参考までSegmentation Faultを再現させるコードは、 ((<こちら|URL:https://github.com/eitoball/bug7629>)) にあります。
=end

#3 Updated by Masahiro Tomita over 1 year ago

On Sun, 6 Jan 2013 10:24:02 +0900
"wanabe (_ wanabe)" s.wanabe@gmail.com wrote:

[Bug #7507] の対策としてコミットされた r38213 を Backport することで落ちなくなるように思います。
[Bug #7629] については再現できていないのですが、もしかしたら同じ現象ではないかと見ています。
どうでしょうか。

落ちなくなりました!
ありがとうございます!

--
とみたまさひろ tommy@tmtm.org
http://twitter.com/tmtms
D68F 8F55 7F6C 5908 88EB 1EBA 25ED DEE7 BBE8 1752

#4 Updated by Usaku NAKAMURA over 1 year ago

  • Status changed from Open to Closed

This issue was solved with changeset r38726.
Antonio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 38213: [Backport #7629]

* vm.c (rb_vm_make_proc): save the proc made from the given block so
  that it will not get collected.   [Bug #7507]

Also available in: Atom PDF