[ruby-core:122853] [Ruby Bug#21310] YJIT optimization causes incorrect is_a? method evaluation
From:
"hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>
Date:
2025-07-24 04:20:59 UTC
List:
ruby-core #122853
SXNzdWUgIzIxMzEwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaHNidCAoSGlyb3NoaSBTSElCQVRBKS4N Cg0KDQpOb3RlOiBodHRwOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvY29tbWl0LzdhZmEwOGNlOGQy NDVjN2Q3NTZkZGFlYjc4ZGFkZGI2MWZkMGUyNzEgaXMgYmFja3BvcnQgY29tbWl0IGZvciBSdWJ5 IDMuNA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIx MzEwOiBZSklUIG9wdGltaXphdGlvbiBjYXVzZXMgaW5jb3JyZWN0IGlzX2E/IG1ldGhvZCBldmFs dWF0aW9uDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjEzMTAjY2hhbmdlLTEx NDE0NA0KDQoqIEF1dGhvcjogcmF2cm9uLWhiIChSaWxleSBBdnJvbikNCiogU3RhdHVzOiBDbG9z ZWQNCiogQXNzaWduZWU6IGppdA0KKiBydWJ5IC12OiBydWJ5IDMuNC4xICgyMDI0LTEyLTI1IHJl dmlzaW9uIDQ4ZDRlZmNiODUpICtZSklUICtQUklTTSBbYXJtNjQtZGFyd2luMjRdDQoqIEJhY2tw b3J0OiAzLjI6IFJFUVVJUkVELCAzLjM6IERPTkUsIDMuNDogRE9ORQ0KLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KT3VyIFJhaWxzIGFwcGxpY2F0aW9uIGNvbnRhaW5z IGNvZGUgbGlrZSB0aGUgZm9sbG93aW5nOg0KDQpgYGBydWJ5DQpyZXN1bHQgPSBhX3Byb2MuY2Fs bA0KDQppZiByZXN1bHQuaXNfYT8oUmVzdWx0KSAmJiByZXN1bHQubmlsPw0KICBwdXRzKCdUaGlz IHNob3VsZCBiZSBpbXBvc3NpYmxlJykNCmVuZA0KYGBgDQoNCldpdGggWUpJVCBlbmFibGVkIGlu IGRldiBtb2RlIGFuZCB0aGUgYHlqaXQtY2FsbC10aHJlc2hvbGRgIHNldCB0byAyLCB0aGUgc2Vl bWluZ2x5IGltcG9zc2libGUgY29uZGl0aW9uIGFsd2F5cyBldmFsdWF0ZXMgdG8gdHJ1ZSwgYW5k IHRoZSBgcHV0c2AgaXMgZXZhbHVhdGVkLiBJZiBZSklUIGlzIGRpc2FibGVkLCB0aGUgY29kZSBi ZWhhdmVzIGFzIGV4cGVjdGVkOiBuYW1lbHksIHRoZSBjb25kaXRpb24gbmV2ZXIgZXZhbHVhdGVz IHRvIHRydWUuIElmIFlKSVQgaXMgZW5hYmxlZCBidXQgbm90IGluIGRldiBtb2RlLCB3aXRoIHRo ZSBgeWppdC1jYWxsLXRocmVzaG9sZGAgaXMgc2V0IHRvIDEsNTAwIChhcyBpbiBvdXIgb3JpZ2lu YWwgY29uZmlndXJhdGlvbiksIHRoZSBlcnJvciBvY2N1cnMgbm9uLWRldGVybWluaXN0aWNhbGx5 Lg0KDQpXZSBvcmlnaW5hbGx5IGRpc2NvdmVyZWQgdGhpcyBpc3N1ZSB3aGlsZSB1cGRhdGluZyB0 byBSYWlscyA3LjIuIFRoZSBmb2xsb3dpbmcgY29kZSBiZWdhbiB0byBvY2Nhc2lvbmFsbHkgZmFp bCB3aXRoIGEgYE5vTWV0aG9kRXJyb3JgLCBjb21wbGFpbmluZyB0aGF0IGBuaWw6TmlsQ2xhc3Ng IGRvZXMgbm90IGRlZmluZSBgc3VjY2Vzcz9gOg0KDQpgYGBydWJ5DQpyZXN1bHQgPSBhX3Byb2Mu Y2FsbA0KDQpyYWlzZSBSZXN1bHRSb2xsYmFja0Vycm9yLCByZXN1bHQgaWYgcmVzdWx0LmlzX2E/ KFJlc3VsdCkgJiYgIXJlc3VsdC5zdWNjZXNzPw0KYGBgDQoNCmBSZXN1bHRgICpkb2VzKiBkZWZp bmUgYHN1Y2Nlc3M/YCwgc28gaXQgc2VlbWVkIGltcG9zc2libGUgdGhhdCBgcmVzdWx0LnN1Y2Nl c3M/YCB3b3VsZCBiZSBpbnZva2VkIHVubGVzcyBgcmVzdWx0LmlzX2E/KFJlc3VsdClgLCBhbmQg ZXNwZWNpYWxseSBpbXBvc3NpYmxlIHRoYXQgaXQgd291bGQgYmUgaW52b2tlZCBpZiBgcmVzdWx0 Lm5pbD9gLiBBZnRlciB2YXJpb3VzIGRlYnVnZ2luZywgd2UgYWRkZWQgdGhlIGBpZmAgc3RhdGVt ZW50IHNob3duIGluIHRoZSBmaXJzdCBjb2RlIGJsb2NrIGFuZCBkaXNjb3ZlcmVkIHRoYXQgWUpJ VOKAmXMgb3B0aW1pemF0aW9ucyBzZWVtIHRvIGJlIGluY29ycmVjdC4NCg0KVGhlIGluYWJpbGl0 eSB0byBwcmVkaWN0IHRoZSBwb3NzaWJsZSBlcnJvcnMgdGhpcyBjb3VsZCBjYXVzZSBpbiBvdXIg YXBwbGljYXRpb24gbGVkIHVzIHRvIGRpc2FibGUgWUpJVCBmb3Igb3VyIGVudGlyZSBhcHBsaWNh dGlvbiB3aGlsZSB0aGlzIGJlaGF2aW9yIHBlcnNpc3RzLg0KDQpVbmZvcnR1bmF0ZWx5LCB3ZSBo YXZlIG5vdCBiZWVuIGFibGUgdG8gcmVwcm9kdWNlIHRoZSBlcnJvciBpbiBhIHNlbGYtY29udGFp bmVkIGNhc2UsIHdoaWNoIEkga25vdyB3aWxsIG1ha2UgaW52ZXN0aWdhdGlvbiBtb3JlIGRpZmZp Y3VsdC4gVGhhdCBzYWlkLCB3ZSB3b3VsZCBsaWtlIHRvIGFzc2lzdCBpbiBzb2x2aW5nIGl0IGhv d2V2ZXIgcG9zc2libGUuIFdlIHdvdWxkIGFwcHJlY2lhdGUgZ3VpZGFuY2Ugb24gaG93IHRvIG9i dGFpbiByZWxldmFudCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24sIG9yIHN1Z2dlc3Rpb25zIG9uIGhv dyB3ZSBtaWdodCBnZW5lcmF0ZSBhIHNlbGYtY29udGFpbmVkIHJlcHJvZHVjdGlvbiBvZiB0aGUg aXNzdWUuIFdlIHdvdWxkIGFsc28gYmUgd2lsbGluZyB0byBjb25zaWRlciBhbGxvd2luZyBhIFJ1 YnkgbWFpbnRhaW5lciB0byByZXZpZXcgdGhlIGFjdHVhbCBjb2RlIGRlbW9uc3RyYXRpbmcgdGhl IGlzc3VlLCB0aG91Z2ggd2Ugd291bGQgcHJvYmFibHkgcmVxdWVzdCB0aGF0IHRoZXkgc2lnbiBh biBOREEgaW4gdGhhdCBjYXNlLg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1Ynkt Y29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vi c2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcK IHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0 cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8K