GC_GUARD漏れもしくはmark漏れっぽいエラーが発生してます。#7468GC_GUARD漏れもしくはmark漏れっぽいエラーが発生してます。NAKAMURA)[ruby-dev:46665]Descriptionいつからかtest-allで時々エラーが発生するようになってます。given.などと言われるようになりました。Thread::Backtraceが通常のpassでは入る事はないっぽいのでGC周りのバグだと思います。wrote:いつからかtest-allで時々エラーが発生するようになってます。given.などと言われるようになりました。Thread::Backtraceが通常のpassでは入る事はないっぽいのでGC周りのバグだと思います。[x86_64-linux]でも残念ながらというか幸いというかsegvが起こります。shugoさんのpatchが原因ではないようです。試してやはり発生してたのでその時に関係ないだろうという結論に達していました。お手数を取らせてすいません。最適化が進んで、これまで隠れてた漏れが顕在化したのでは無いかと疑っています。Nakamura)rb_threadptr_execute_interrupts経由でthread切替が起こる時、machine_stack_endが正確にとれておらず、mark抜けが発生しています。0x2aab414e4730のように実際のrspではなく、関数に入った当初のrspをmachine_stack_endとしてしまっています。0x2aab414e4730のようにちゃんとrspを使ってるんですが、この辺の挙動はよくわからないですね。gccのバグだったりするのかなとも。volatileなしasmで、かつオペランド制約にrspを使うということが一切記述されてないのでどういう最適化されても文句はいえないのではないでしょうか。volatileつけときました。gvl_yield()の直前に%rspをメモリに書いているように見えます。問題が再現出来る人がいれば誰か確認お願いできませんか。1.9.3にバックポート必要でしょうね。ago最適化?(手間が増えてるように見える)によって前に飛ばされてたんですね。そこまで気が回ってませんでした。再現しない事を確認したのでticketを閉じました。修正ありがとうございます。volatileなしasmで、かつオペランド制約にrspを使うということが一切記述されてないのでどういう最適化されても文句はいえないのではないでしょうか。volatileつけときました。gvl_yield()の直前に%rspをメモリに書いているように見えます。問題が再現出来る人がいれば誰か確認お願いできませんか。1.9.3にバックポート必要でしょうね。GC_GUARD漏れもしくはmark漏れっぽいエラーが発生してます。[x86_64-linux]いつからかtest-allで時々エラーが発生するようになってます。given.などと言われるようになりました。Thread::Backtraceが通常のpassでは入る事はないっぽいのでGC周りのバグだと思います。バックポートを希望します。LangLoading...。