From: ko1@... Date: 2015-03-04T01:50:42+00:00 Subject: [ruby-dev:48893] [Ruby trunk - Bug #10933] [BUG] object allocation during garbage collection phase 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/