[#108552] [Ruby master Bug#18782] Race conditions in autoload when loading the same feature with multiple threads. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE4NzgyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
11 messages
2022/05/14
[ruby-core:108733] [Ruby master Bug#18806] protected methods defined by refinements can't be called
From:
"shugo (Shugo Maeda)" <noreply@...>
Date:
2022-05-30 00:40:50 UTC
List:
ruby-core #108733
SXNzdWUgIzE4ODA2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2h1Z28gKFNodWdvIE1hZWRhKS4KCkFz c2lnbmVlIHNldCB0byBtYXR6IChZdWtpaGlybyBNYXRzdW1vdG8pCgpFcmVnb24gKEJlbm9pdCBE YWxvemUpIHdyb3RlIGluICNub3RlLTM6Cj4gSSdtIG5vdCB0b28ga2VlbiBvbiBleHRyYSBjaGVj a3MsIGJ1dCB0aGUgY2hlY2tzIGZvciBwcm90ZWN0ZWQgYXJlIGFscmVhZHkgZXhwZW5zaXZlIGFu ZCB0aGlzIHdvbid0IG1ha2UgaXQgc2lnbmlmaWNhbnRseSB3b3JzZS4KCkFncmVlZC4KCkNhbiBJ IGNoYW5nZSBwcm90ZWN0ZWQgbWV0aG9kcyBkZWZpbmVkIGJ5IHJlZmluZW1lbnRzIGFzIGZvbGxv d3M/Cgo+IDEuIFRyZWF0IGRlZmluZWQgbWV0aG9kcyBhcyB0aG91Z2ggdGhleSB3ZXJlIGRlZmlu ZWQgb24gdGhlIHJlZmluZWQgY2xhc3MuIEJvdGggZXhhbXBsZXMgYWJvdmUgd2lsbCBub3cgd29y aywgYW5kIGl0IGlzIHBvc3NpYmxlIHRvIGNhbGwgdGhlIHJlZmluZWQgbWV0aG9kIG9uIG9iamVj dHMgb3RoZXIgdGhhbiBzZWxmLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KQnVnICMxODgwNjogcHJvdGVjdGVkIG1ldGhvZHMgZGVmaW5lZCBieSByZWZpbmVtZW50 cyBjYW4ndCBiZSBjYWxsZWQKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4ODA2 I2NoYW5nZS05Nzc4OAoKKiBBdXRob3I6IGpoYXd0aG9ybiAoSm9obiBIYXd0aG9ybikKKiBTdGF0 dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IG1hdHogKFl1a2loaXJvIE1h dHN1bW90bykKKiBydWJ5IC12OiBydWJ5IDMuMi4wZGV2CiogQmFja3BvcnQ6IDIuNzogVU5LTk9X TiwgMy4wOiBVTktOT1dOLCAzLjE6IFVOS05PV04KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQpIZWxsbyEKClRoZSBgcHJvdGVjdGVkYCB2aXNpYmlsaXR5IGlzIGEgYml0 IHVudXN1YWwsIHNpbmNlIGl0IGRlcGVuZHMgb24gd2hlcmUgdGhlIGNhbGxlZSBtZXRob2QgaXMg Y29uc2lkZXJlZCB0byBiZSBkZWZpbmVkLiBJIHdhcyBsb29raW5nIGludG8gbWFraW5nIFthbiBv cHRpbWl6YXRpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC81NjQzKSB0byBj YWxsaW5nIGBwcm90ZWN0ZWRgIG1ldGhvZHMgb24gc2VsZiwgYW5kIHdlIGNhbWUgYWNyb3NzIHNv bWUgc3VycHJpc2luZyBiZWhhdmlvdXIuIChUaGFua3MgQGFsYW53dSBmb3IgZmluZGluZyEpCgpB cyBmYXIgYXMgSSBjYW4gdGVsbCwgdGhlcmUgaXMgbm8gd2F5IHRvIGNhbGwgYSBtZXRob2QgcmVm aW5lZCBtZXRob2QgaXMgYHByb3RlY3RlZGAgdmlzaWJpbGl0eSAob3RoZXIgdGhhbiBgc2VuZGAp LgoKYGBgIHJ1YnkKY2xhc3MgQQplbmQKCm1vZHVsZSBNeVJlZmluZQogIHJlZmluZShBKSB7CiAg ICBwcml2YXRlIGRlZiBwcml2YXRlX2ZvbyA9IDpyZWZpbmVkCiAgICBkZWYgcHJpdmF0ZV9mb29f aW5fcmVmaW5lbWVudCA9IHByaXZhdGVfZm9vCgogICAgcHJvdGVjdGVkIGRlZiBwcm90ZWN0ZWRf Zm9vID0gOnJlZmluZWQKICAgIGRlZiBwcm90ZWN0ZWRfZm9vX2luX3JlZmluZW1lbnQgPSBwcm90 ZWN0ZWRfZm9vCiAgfQplbmQKCmNsYXNzIEEKICB1c2luZyBNeVJlZmluZQoKICBkZWYgY2FsbF9w cml2YXRlID0gcHJpdmF0ZV9mb28KICBkZWYgY2FsbF9wcml2YXRlX3Rocm91Z2hfcmVmaW5lbWVu dCA9IHByaXZhdGVfZm9vX2luX3JlZmluZW1lbnQKCiAgZGVmIGNhbGxfcHJvdGVjdGVkID0gcHJv dGVjdGVkX2ZvbwogIGRlZiBjYWxsX3Byb3RlY3RlZF90aHJvdWdoX3JlZmluZW1lbnQgPSBwcm90 ZWN0ZWRfZm9vX2luX3JlZmluZW1lbnQKICBkZWYgaXNfZGVmaW5lZCA9IGRlZmluZWQ/KHByb3Rl Y3RlZF9mb28pCmVuZAoKCgpBLm5ldy5jYWxsX3ByaXZhdGUKIyA9PiA6cmVmaW5lZAoKQS5uZXcu Y2FsbF9wcml2YXRlX3Rocm91Z2hfcmVmaW5lbWVudAojID0+IDpyZWZpbmVkCgpBLm5ldy5jYWxs X3Byb3RlY3RlZAojID0+IE5vTWV0aG9kRXJyb3I6IHByb3RlY3RlZCBtZXRob2QgYHByb3RlY3Rl ZF9mb28nIGNhbGxlZCBmb3IgIzxBOjB4MDAwMDdmMjNmMzVlOTM5MD4KCkEubmV3LmNhbGxfcHJv dGVjdGVkX3Rocm91Z2hfcmVmaW5lbWVudAojID0+IE5vTWV0aG9kRXJyb3I6IHByb3RlY3RlZCBt ZXRob2QgYHByb3RlY3RlZF9mb28nIGNhbGxlZCBmb3IgIzxBOjB4MDAwMDdmMjNmMzVlOTM5MD4K CkEubmV3LmlzX2RlZmluZWQKIyAibWV0aG9kIgpgYGAKCkkgZmluZCBpdCBjb25mdXNpbmcgdGhh dCBoZXJlIHByb3RlY3RlZCBpcyBtb3JlIHJlc3RyaWN0aXZlIHRoYW4gcHJpdmF0ZSAocHJpdmF0 ZSBtZXRob2RzIGZyb20gYSByZWZpbmVtZW50IGNhbiBiZSBjYWxsZWQgYXMgbm9ybWFsKSwgYnV0 IEknbSBub3Qgc3VyZSBpZiBpdCdzIGEgcnVsZSB0aGF0IGl0IHNob3VsZCBiZSBvciBqdXN0IGhv dyBJJ3ZlIGFsd2F5cyBhc3N1bWVkIGl0IGlzLgoKSXQncyBhbHNvIG9kZCB0aGF0IGBkZWZpbmVk P2AgcmV0dXJucyB0cnV0aHksIGJ1dCBJIHRoaW5rIHRoaXMgbWlnaHQgYWN0dWFsbHkgYmUgYSBi dWcgb24gZGVmaW5lZCB3aXRoIHByb3RlY3RlZCBtZXRob2RzIChiZWhhdmlvdXIgZG9lc24ndCBt YXRjaCB0aGF0IG9mIG1ldGhvZCBjYWxscykuCgpJIHRoaW5rIHRoaXMgaXMgcHJvYmFibHkgbm90 IGludGVudGlvbmFsIG9yIGRlc2lyZWQgYmVoYXZpb3VyLiBJdCdzIG5vdCB1c2VmdWwgZm9yIHVz IHRvIG1ha2UgbWV0aG9kcyB3aGljaCBjYW4ndCBiZSBjYWxsZWQuIFRoZSByZWFzb24gdGhpcyBo YXBwZW5zIEkgdGhpbmsgaXMgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsOiB0aGUgImRlZmluZWQg Y2xhc3MiIG9mIHRoZSBtZXRob2Qgd2UncmUgdHJ5aW5nIHRvIGNhbGwgaXMgdGhlIElDTEFTUyBp bmNsdWRpbmcgdGhlIHJlZmluZW1lbnQgbW9kdWxlIG9udG8gdGhlIGBBYCBzdXBlcmNsYXNzLgoK UG9zc2libGUgb3B0aW9ucyBJIHNlZSBmb3IgaW1wcm92aW5nIHRoaXM6CgoxLiBUcmVhdCBkZWZp bmVkIG1ldGhvZHMgYXMgdGhvdWdoIHRoZXkgd2VyZSBkZWZpbmVkIG9uIHRoZSByZWZpbmVkIGNs YXNzLiBCb3RoIGV4YW1wbGVzIGFib3ZlIHdpbGwgbm93IHdvcmssIGFuZCBpdCBpcyBwb3NzaWJs ZSB0byBjYWxsIHRoZSByZWZpbmVkIG1ldGhvZCBvbiBvYmplY3RzIG90aGVyIHRoYW4gc2VsZi4K CjIuIEFsd2F5cyBhbGxvdyAiZmNhbGxzIiB0byBgcHJvdGVjdGVkYCBtZXRob2RzLiBNYWtpbmcg dGhlbSBiYXNpY2FsbHkgYW4gYWxpYXMgZm9yIGBwcml2YXRlYCB3aGVuIHVzZWQgaW4gYSByZWZp bmVtZW50LgoKMy4gRm9yYmlkIHVzaW5nIGBwcm90ZWN0ZWRgIGluc2lkZSBhIHJlZmluZW1lbnQg KGFuZCBgUmVmaW5lbWVudCNpbXBvcnRfbWV0aG9kc2ApLCByYWlzaW5nIGFuIGVycm9yLgoKCk15 IHByZWZlcmVuY2Ugd291bGQgYmUgMS4gSSB0aGluayBpdCB3b3VsZCByZXF1aXJlIG9uZSBleHRy YSBjaGVjayB3aGVuIGNhbGxpbmcgcHJvdGVjdGVkIG1ldGhvZHMsIGJ1dCBjYWxsaW5nIHByb3Rl Y3RlZCBtZXRob2RzIGlzIGFscmVhZHkgYSBzbG93ZXIgcGF0aCBzbyBJIHRoaW5rIGl0IGlzIGZp bmUuCgpUaGFua3MgZm9yIHJlYWRpbmchCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/ c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4v bWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K