[ruby-core:116578] [Ruby master Bug#20169] `GC.compact` can raises `EFAULT` on IO
From:
"kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>
Date:
2024-02-04 23:41:04 UTC
List:
ruby-core #116578
SXNzdWUgIzIwMTY5IGhhcyBiZWVuIHVwZGF0ZWQgYnkga2p0c2FuYWt0c2lkaXMgKEtKIFRzYW5h a3RzaWRpcykuDQ0KDQ0KDQ0KPiBJTU8gaXQncyB1bmRlZmluZWQgYmVoYXZpb3VyIHRvIHVzZSBh IFJ1Ynkgb2JqZWN0IGluIGEgbm9uLUdWTCBzY2VuYXJpbywgdGhpcyBqdXN0IGZpeGVzIHRoZSBp c3N1ZSBpbnNpZGUgb2YgUnVieSB1c2luZyBhIGhhY2suIA0NCg0NCkluIHRoaXMgY2FzZSwgc2hv dWxkbuKAmXQgd2UgZml4IHRoZSBvcmlnaW5hbCBpc3N1aW5nIGJ5IGNvcHlpbmcgdGhlIHdyaXRl IHRocm91Z2ggYSBDLWFsbG9jYXRlZCBidWZmZXI/IEJ1dOKApg0NCg0NCj4gVGhleSdyZSBub3Qg ZXhhY3RseSBydWxlcyBpbiBDUnVieQ0NCg0NCkkgZ3Vlc3Mgd2hhdCB5b3XigJlyZSBzYXlpbmcg aXMg4oCcQ1J1YnkgaXRzZWxmIGNhbiBkbyB3aGF0IGl0IHdhbnRzIGFzIGxvbmcgYXMgaXTigJlz IGludGVybmFsbHkgY29uc2lzdGVudOKAnS4gV2hpY2ggbWFrZXMgc2Vuc2UuIA0NCg0NCkkgZ3Vl c3MgaXQgd291bGQgYmUgZ29vZCB0byBmaW5kIGEgd2F5IHRvIGRlZmluZSBhbmQgZW5mb3JjZSB3 aGF0IOKAnGludGVybmFsbHkgY29uc2lzdGVudOKAnSBtZWFucywgYnV0IHBlcmhhcHMgdGhlcmUg aXNu4oCZdCBtdWNoIHZhbHVlIGluIHN0cmljdGx5IGRlZmluaW5nIGl0IGluIHRoZSBhYnNlbmNl IG9mIGEgd2F5IHRvIHN0cmljdGx5IGVuZm9yY2UgaXQuIFRoaW5ncyBsaWtlIFZNX0NIRUNLX01P REUgaGVscCwgYnV0IGNvdWxkbuKAmXQgY2F0Y2ggc29tZXRoaW5nIGxpa2UgdGhpcy4gSWYgSSBh Y3R1YWxseSBjb21lIHVwIHdpdGggYW4gYWN0aW9uYWJsZSBpZGVhLCBJ4oCZbGwgb3BlbiBhIG5l dyBwcm9wb3NhbCBmb3IgdGhhdC4NDQoNDQrigJTigJTigJQNDQoNDQpBbnl3YXksIGZpeGluZyB0 aGlzIGJ1ZyB3aXRoIHlvdXIgcGF0Y2ggc291bmRzIGdvb2QgdG8gbWUuIEkgZGVmaW5pdGVseSBh bSBub3QgdHJ5aW5nIHRvIGhvbGQgdXAgcmVhbCBmaXhlcyBqdXN0IHRvIGhhdmUgYWNhZGVtaWMg YXJndW1lbnRzIGFib3V0IG1lbW9yeSBtb2RlbHMuDQ0KDQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0NCkJ1ZyAjMjAxNjk6IGBHQy5jb21wYWN0YCBjYW4gcmFpc2Vz IGBFRkFVTFRgIG9uIElPDQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwMTY5 I2NoYW5nZS0xMDY1OTMNDQoNDQoqIEF1dGhvcjoga28xIChLb2ljaGkgU2FzYWRhKQ0NCiogU3Rh dHVzOiBPcGVuDQ0KKiBQcmlvcml0eTogTm9ybWFsDQ0KKiBCYWNrcG9ydDogMy4wOiBVTktOT1dO LCAzLjE6IFVOS05PV04sIDMuMjogVU5LTk9XTiwgMy4zOiBVTktOT1dODQ0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NCjEuIGBHQy5jb21wYWN0YCBpbnRyb2R1Y2Vz IHJlYWQgYmFycmllcnMgdG8gZGV0ZWN0IHJlYWQgYWNjZXNzZXMgdG8gdGhlIHBhZ2VzLg0NCjIu IEkvTyBvcGVyYXRpb25zIHJlbGVhc2UgR1ZMIHRvIHBhc3MgdGhlIGNvbnRyb2wgd2hpbGUgdGhl aXIgZXhlY3V0aW9uLCBhbmQgYW5vdGhlciB0aHJlYWQgY2FuIGNhbGwgYEdDLmNvbXBhY3RgIChv ciBhdXRvIGNvbXBhY3QgZmVhdHVyZSBJIGd1ZXNzLCBidXQgbm90IGNoZWNrZWQgeWV0KS4NDQoz LiBDYWxsIGB3cml0ZShwdHIpYCBjYW4gcmV0dXJuIGBFRkFVTFRgIHdoZW4gYEdDLmNvbXBhY3Rg IGlzIHJ1bm5pbmcgYmVjYXVzZSBgcHRyYCBjYW4gcG9pbnQgcmVhZC1iYXJyaWVyIHByb3RlY3Rl ZCBwYWdlcyAoZW1iZWQgc3RyaW5ncykuDQ0KDQ0KUmVwcm9kdWNpYmxlIHN0ZXBzOg0NCg0NCg0N CkFwcGx5IHRoZSBmb2xsb3dpbmcgcGF0Y2ggdG8gaW5jcmVhc2UgcG9zc2liaWxpdHk6DQ0KDQ0K YGBgcGF0Y2gNDQpkaWZmIC0tZ2l0IGEvaW8uYyBiL2lvLmMNDQppbmRleCBmNmNkMmMxYTU2Li44 M2Q2N2JhMmRjIDEwMDY0NA0NCi0tLSBhL2lvLmMNDQorKysgYi9pby5jDQ0KQEAgLTEyMTIsOCAr MTIxMiwxMiBAQCBpbnRlcm5hbF93cml0ZV9mdW5jKHZvaWQgKnB0cikNDQogICAgICAgICB9DQ0K ICAgICB9DQ0KDQ0KKyAgICBpbnQgY250ID0gMDsNDQogICByZXRyeToNDQotICAgIGRvX3dyaXRl X3JldHJ5KHdyaXRlKGlpcy0+ZmQsIGlpcy0+YnVmLCBpaXMtPmNhcGEpKTsNDQorICAgIGZvciAo OyBjbnQgPCAxMDAwOyBjbnQrKykgew0NCisgICAgICAgIGRvX3dyaXRlX3JldHJ5KHdyaXRlKGlp cy0+ZmQsIGlpcy0+YnVmLCBpaXMtPmNhcGEpKTsNDQorICAgICAgICBpZiAocmVzdWx0IDw9IDAp IGJyZWFrOw0NCisgICAgfQ0NCg0NCiAgICAgaWYgKHJlc3VsdCA8IDAgJiYgIWlpcy0+bm9uYmxv Y2spIHsNDQogICAgICAgICBpbnQgZSA9IGVycm5vOw0NCmBgYA0NCg0NClJ1biB0aGUgZm9sbG93 aW5nIGNvZGU6DQ0KDQ0KYGBgcnVieQ0NCnQxID0gVGhyZWFkLm5ld3sgMTBfMDAwLnRpbWVzLm1h cHsiI3tfMX0ifTsgR0MuY29tcGFjdCB3aGlsZSB0cnVlIH0NDQp0MiA9IFRocmVhZC5uZXd7DQ0K ICBpPTANDQogICRzdGRvdXQud3JpdGUgIjwje2krPTF9PiIgd2hpbGUgdHJ1ZQ0NCn0NDQp0Mi5q b2luDQ0KYGBgDQ0KDQ0KYW5kIA0NCg0NCmBgYA0NCiQgbWFrZSBydW4NDQooc25pcCkNDQo0Pjw0 Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0 Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0 Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0 Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0 Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0 Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0Pjw0PiM8VGhyZWFkOjB4MDAwMDdmYTYxYjRkZDc1OCAuLi8uLi9z cmMvdHJ1bmsvdGVzdC5yYjozIHJ1bj4gdGVybWluYXRlZCB3aXRoIGV4Y2VwdGlvbiAocmVwb3J0 X29uX2V4Y2VwdGlvbiBpcyB0cnVlKToNDQouLi8uLi9zcmMvdHJ1bmsvdGVzdC5yYjo1OmluIGB3 cml0ZSc6IEJhZCBhZGRyZXNzIEAgaW9fd3JpdGUgLSA8U1RET1VUPiAoRXJybm86OkVGQVVMVCkN DQogICAgICAgIGZyb20gLi4vLi4vc3JjL3RydW5rL3Rlc3QucmI6NTppbiBgYmxvY2sgaW4gPG1h aW4+Jw0NCi4uLy4uL3NyYy90cnVuay90ZXN0LnJiOjU6aW4gYHdyaXRlJzogQmFkIGFkZHJlc3Mg QCBpb193cml0ZSAtIDxTVERPVVQ+IChFcnJubzo6RUZBVUxUKQ0NCiAgICAgICAgZnJvbSAuLi8u Li9zcmMvdHJ1bmsvdGVzdC5yYjo1OmluIGBibG9jayBpbiA8bWFpbj4nDQ0KbWFrZTogKioqIFt1 bmNvbW1vbi5tazoxMzgzOiBydW5dIEVycm9yIDENDQpgYGANDQoNDQpJIHRoaW5rIHRoaXMgaXMg d2h5IHdlIGdldCBgRUZBVUxUYCBvbiBDSS4gVG8gaW5jcmVhc2UgcG9zc2liaWxpdGllcyBydW5u aW5nIG1hbnkgYnVzeSBwcm9jZXNzZXMgKGBydWJ5IC1lICdsb29we30nYCBmb3IgZXhhbXBsZSkg d2lsbCBoZWxwIChhbmQgb24gQ0kgZW52aXJvbm1lbnQgdGhlcmUgYXJlIHN1Y2ggYnVzeSBwcm9j ZXNzZXMgYWNjaWRlbnRhbGx5KS4NDQoNDQoNDQoNDQotLSANDQpodHRwczovL2J1Z3MucnVieS1s YW5nLm9yZy8NDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwog VG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1s YW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxt YW4zL3Bvc3Rvcml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=