[ruby-dev:48893] [Ruby trunk - Bug #10933] [BUG] object allocation during garbage collection phase
From:
ko1@...
Date:
2015-03-04 01:50:42 UTC
List:
ruby-dev #48893
Issue #10933 has been updated by Koichi Sasada.
Assignee set to Nobuyoshi Nakada
ありがとうございます。とてもわかりやすいログでした。
* cleanup フェーズに入る
* sweep_rest を行なう(lazy sweep の後始末を行なう)
* ここで、GC 中フラグが立ち、オブジェクト割り当てが禁止される
* dynamic symbol の free を行なう
* rb_hash_delete_entry() が走る
* st_delete() 中で rb_any_cmp() -> rb_eql() -> rb_funcall() が呼ばれる
* compare 処理を行なう
* interrupt が走り、ファイナライザが起動される
* run_finalizer() 中で配列を作る(ここでは ruby-level ファイナライザが起動されるので、これに限らない)
* [BUG]
ということで、2.2.1 で導入されたバグだということがわかりました。ありがとうございます。
----------------------------------------
Bug #10933: [BUG] object allocation during garbage collection phase
https://bugs.ruby-lang.org/issues/10933#change-51748
* Author: Yoshiyuki MIKAMI
* Status: Open
* Priority: Normal
* Assignee: Nobuyoshi Nakada
* ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
いつもお世話になっています。
rspec中に遭遇して、その後繰り返しても再現しないのですが、役に立てばと採取できたログをお送りします。
追加で提出すべき情報があればお知らせください。
よろしくお願いいたします。
---Files--------------------------------
crash.txt (165 KB)
ruby_2015-03-04-020941_Silver.crash (35 KB)
--
https://bugs.ruby-lang.org/