1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Enable an assert on all configs for debugging

I'm trying to get a better understanding for rare crashes that happen on
ci:
 - http://ci.rvm.jp/results/trunk_clang_10@silicon-docker/3101898
 - http://ci.rvm.jp/results/trunk-test@ruby-sky1/2777695

Looking at the stack trace it looks like a type confusion possibly
induced by heap corruption. I'm hoping to verify this theory.
This commit is contained in:
Alan Wu 2020-08-01 23:05:19 -04:00
parent a1246270c5
commit ac69849e49

View file

@ -136,6 +136,7 @@ static void
clear_method_cache_by_id_in_class(VALUE klass, ID mid)
{
VM_ASSERT(RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS));
if (!(RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS))) rb_bug("type confusion"); // temporary. Remove before release
if (LIKELY(RCLASS_EXT(klass)->subclasses == NULL)) {
// no subclasses