From: "tarui (Masaya Tarui)" Date: 2012-11-30T11:34:51+09:00 Subject: [ruby-dev:46668] [ruby-trunk - Bug #7468][Open] GC_GUARD漏れもしくはmark漏れっぽいエラーが発生してます。 Issue #7468 has been updated by tarui (Masaya Tarui). Status changed from Assigned to Open Assignee deleted (tarui (Masaya Tarui)) ruby 2.0.0dev (2012-11-30 trunk 38022) [x86_64-linux] でも残念ながらというか幸いというかsegvが起こります。 ので、shugoさんのpatchが原因ではないようです。 # あの後 r37990 で試してやはり発生してたのでその時に関係ないだろうという結論に達していました。お手数を取らせてすいません。 ささださんが軽く実験した結果としてはGCCのバージョンによって発生するので、 最適化が進んで、これまで隠れてた漏れが顕在化したのでは無いかと疑っています。 手元のバージョンは gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 です。 ---------------------------------------- Bug #7468: GC_GUARD漏れもしくはmark漏れっぽいエラーが発生してます。 https://bugs.ruby-lang.org/issues/7468#change-34181 Author: tarui (Masaya Tarui) Status: Open Priority: High Assignee: Category: Target version: 2.0.0 ruby -v: ruby -v: ruby 2.0.0dev (2012-11-30 trunk 37999) [x86_64-linux] いつからかtest-allで時々エラーが発生するようになってます。 make test-all TESTS="-qv -n /test_string\$$/" でsegvや 1) Error: test_string(DL::TestFunc): ArgumentError: assertion message must be String or Proc, but Thread::Backtrace was given. などと言われるようになりました。 GC.stress = true なのと、Thread::Backtraceが通常のpassでは入る事はないっぽいのでGC周りのバグだと思います。 -- http://bugs.ruby-lang.org/