[ruby-core:122417] [Ruby Bug#21398] Ractor.select hangs when multiple threads submit heavy jobs concurrently
From:
"arino.tamada via ruby-core" <ruby-core@...>
Date:
2025-06-05 04:21:56 UTC
List:
ruby-core #122417
SXNzdWUgIzIxMzk4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGFyaW5vLnRhbWFkYSAo5pyJ5LmDIOeO ieeUsCkuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkJ1ZyAj MjEzOTg6IFJhY3Rvci5zZWxlY3QgaGFuZ3Mgd2hlbiBtdWx0aXBsZSB0aHJlYWRzIHN1Ym1pdCBo ZWF2eSBqb2JzIGNvbmN1cnJlbnRseQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVz LzIxMzk4DQoNCiogQXV0aG9yOiBhcmluby50YW1hZGEgKOacieS5gyDnjonnlLApDQoqIFN0YXR1 czogT3Blbg0KKiBydWJ5IC12OiBydWJ5IDMuNC4yICgyMDI1LTAyLTE1IHJldmlzaW9uIGQyOTMw ZjhlN2EpICtQUklTTSBbYXJtNjQtZGFyd2luMjNdDQoqIEJhY2twb3J0OiAzLjI6IFVOS05PV04s IDMuMzogVU5LTk9XTiwgMy40OiBVTktOT1dODQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpXaGVuIG11bHRpcGxlIHRocmVhZHMgcnVuIGhlYXZ5IFJhY3Rvci1iYXNl ZCBqb2JzIGF0IHRoZSBzYW1lIHRpbWUsIGBSYWN0b3Iuc2VsZWN0KCp3b3JrZXJzKWAgY2FuIGhh bmcgaW5kZWZpbml0ZWx5IHdpdGhvdXQgYW55IGNyYXNoLCBleGNlcHRpb24sIG9yIGRlYWRsb2Nr IGJlaW5nIHJlcG9ydGVkLg0KDQpUaGlzIGlzc3VlIGRvZXMgbm90IG9jY3VyIHdoZW4gb25seSBv bmUgdGhyZWFkIGlzIHJ1bm5pbmcgc2ltaWxhciBqb2JzIOKAlCB0aGUgaGFuZyBoYXBwZW5zIG9u bHkgd2hlbiBmb3VyIG9yIG1vcmUgdGhyZWFkcyBzdWJtaXQgbGFyZ2Ugam9icyBjb25jdXJyZW50 bHkgdG8gYSBzaGFyZWQgUmFjdG9yIHBpcGVsaW5lLg0KDQojIyMgU3RlcHMgdG8gUmVwcm9kdWNl DQoNClJ1biB0aGUgc2NyaXB0IGJlbG93IGluIFJ1YnkgMy40LjIgb3IgbGF0ZXIuDQoNCkluIHNv bWUgcnVucywgb25lIG9yIG1vcmUgdGhyZWFkcyB3aWxsIGhhbmcgZm9yZXZlciBhdCBSYWN0b3Iu c2VsZWN0Lg0KDQpUaGUgaXNzdWUgcmVwcm9kdWNlcyBtb3JlIGVhc2lseSBvbiBtYWNoaW5lcyB3 aXRoIG11bHRpcGxlIGNvcmVzIGFuZCBzdWZmaWNpZW50IG1lbW9yeS4NCg0KIyMjIEV4cGVjdGVk IEJlaGF2aW9yDQpBbGwgY2FsbHMgdG8gUmFjdG9yLnNlbGVjdCgqd29ya2Vycykgc2hvdWxkIHJl dHVybiB3aGVuIGFueSB3b3JrZXIgUmFjdG9yIHlpZWxkcyBhIHJlc3VsdC4gQWxsIGpvYnMgc2hv dWxkIGNvbXBsZXRlLg0KDQojIyMgQWN0dWFsIEJlaGF2aW9yDQoNCi0gSW4gc29tZSBydW5zIChl c3BlY2lhbGx5IHdpdGggbXVsdGlwbGUgdGhyZWFkcyksIGBSYWN0b3Iuc2VsZWN0YCBoYW5ncyBh bmQgbmV2ZXIgcmV0dXJucy4NCg0KLSBUaGVyZSBpcyBubyBjcmFzaCBvciBleGNlcHRpb247IHRo ZSBwcm9jZXNzIHJlbWFpbnMgYWxpdmUgYnV0IGJsb2NrZWQuDQoNCi0gQWxsIFJhY3RvcnMgYW5k IHRocmVhZHMgYXJlIGNyZWF0ZWQgYW5kIHN0YXJ0ZWQgY29ycmVjdGx5Lg0KDQotIFRoaXMgYmVo YXZpb3IgZG9lcyBub3Qgb2NjdXIgd2hlbiBvbmx5IG9uZSB0aHJlYWQgcGVyZm9ybXMgdGhlIHNh bWUgam9iIHNlcXVlbnRpYWxseS4NCg0KLSBJdCBhcHBlYXJzIHRoYXQgYFJhY3Rvci5zZWxlY3Rg IGRvZXMgbm90IGFsd2F5cyBiZWhhdmUgcmVsaWFibHkgdW5kZXIgY29uY3VycmVudCBtdWx0aXRo cmVhZGVkIHVzYWdlIHdpdGggaGVhdnkgUmFjdG9yIHBpcGVsaW5lcy4NCg0KUmVwcm9kdWNpYmxl IEV4YW1wbGU6DQpgYGBydWJ5DQpUSFJFQURTID0gNA0KSk9CU19QRVJfVEhSRUFEID0gMTANCkFS UkFZX1NJWkUgPSAxMF8wMDANCg0KZGVmIHJhY3Rvcl9qb2Ioam9iX2NvdW50LCBhcnJheV9zaXpl KQ0KICBwaXBlID0gUmFjdG9yLm5ldyBkbw0KICAgIGxvb3AgeyBSYWN0b3IueWllbGQgUmFjdG9y LnJlY2VpdmUgfQ0KICBlbmQNCg0KICB3b3JrZXJzID0gKDEuLjQpLm1hcCBkbw0KICAgIFJhY3Rv ci5uZXcocGlwZSkgZG8gfHBpcGV8DQogICAgICB3aGlsZSBqb2IgPSBwaXBlLnRha2UNCiAgICAg ICAgcmVzdWx0ID0gam9iLm1hcCB7IHx4fCB4ICogMiB9LnN1bQ0KICAgICAgICBSYWN0b3IueWll bGQgcmVzdWx0DQogICAgICBlbmQNCiAgICBlbmQNCiAgZW5kDQoNCiAgam9icyA9IEFycmF5Lm5l dyhqb2JfY291bnQpIHsgQXJyYXkubmV3KGFycmF5X3NpemUpIHsgcmFuZCgxMDAwKSB9IH0NCiAg am9icy5lYWNoIHsgfGpvYnwgcGlwZS5zZW5kKGpvYikgfQ0KDQogIHJlc3VsdHMgPSBbXQ0KICBq b2JzLnNpemUudGltZXMgZG8NCiAgICBwdXRzICJXYWl0aW5nIGZvciByZXN1bHRzLi4uIg0KICAg IF9yYWN0b3IsIHJlc3VsdCA9IFJhY3Rvci5zZWxlY3QoKndvcmtlcnMpDQogICAgcHV0cyAiUmVj ZWl2ZWQgcmVzdWx0OiAje3Jlc3VsdH0iDQogICAgcmVzdWx0cyA8PCByZXN1bHQNCiAgZW5kDQog IHJlc3VsdHMNCmVuZA0KDQp0aHJlYWRzID0gW10NClRIUkVBRFMudGltZXMgZG8NCiAgdGhyZWFk cyA8PCBUaHJlYWQubmV3IGRvDQogICAgcmFjdG9yX2pvYihKT0JTX1BFUl9USFJFQUQsIEFSUkFZ X1NJWkUpDQogIGVuZA0KZW5kDQoNCnRocmVhZHMuZWFjaCgmOmpvaW4pDQpwdXRzICJBbGwgdGhy ZWFkcyBmaW5pc2hlZC4iDQpgYGANCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5 LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1 YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3Jn CiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlz dHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcvCg==