[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110410] [Ruby master Bug#19041] Weakref is still alive after major garbage collection
From:
"parker (Parker Finch)" <noreply@...>
Date:
2022-10-18 21:33:21 UTC
List:
ruby-core #110410
SXNzdWUgIzE5MDQxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgcGFya2VyIChQYXJrZXIgRmluY2gpLg0K DQoNCnRlbmRlcmxvdmVtYWtpbmcgKEFhcm9uIFBhdHRlcnNvbikgd3JvdGUgaW4gI25vdGUtNzoN Cj4gVGhhdCBtZXRob2QgbWF5IG5vdCBiZSBwdXR0aW5nIHRoZSBvYmplY3QgaW4gYSByZWdpc3Rl ci4gIFNvbWV0aGluZyBlbHNlIG1heSBoYXZlIHB1dCBpdCBpbiBhIHJlZ2lzdGVyIG9yIGluIHRo ZSBzdGFjaywgYW5kIGl0IGp1c3QgaGFwcGVucyB0aGF0IG5vIG90aGVyIG1hY2hpbmUgY29kZSBo YXMgb3ZlcndyaXR0ZW4gdGhlIHJlZ2lzdGVyIG9yIHN0YWNrIG1lbW9yeS4NCg0KDQpUaGVyZSdz IHNvbWUgZXZpZGVuY2UgdGhhdCB0aGUgYHdlYWtyZWZfYWxpdmU/YCBtZXRob2QgaXMgcHV0dGlu ZyBpdCBpbiBhIHJlZ2lzdGVyIG9yIHRoZSBzdGFjay4gUnVubmluZyBnYXJiYWdlIGNvbGxlY3Rp b24gX2ltbWVkaWF0ZWx5XyBhZnRlciBjYWxsaW5nIGB3ZWFrcmVmX2FsaXZlP2Agd2lsbCBmYWls IHRvIGNvbGxlY3QgdGhlIHVuZGVybHlpbmcgb2JqZWN0LiBCdXQgaWYgdGhlcmUncyBhIGBzbGVl cGAgYmV0d2VlbiB0aGUgYHdlYWtyZWZfYWxpdmU/YCBhbmQgcnVubmluZyBnYXJiYWdlIGNvbGxl Y3Rpb24gdGhlbiB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIHdpbGwgc3VjY2VlZCBpbiBjb2xsZWN0 aW5nIHRoZSB1bmRlcmx5aW5nIG9iamVjdC4NCg0KVG8gdGVzdCBpZiBpdCB3YXMgdGhlIGB3ZWFr cmVmX2FsaXZlP2AgY2FsbCBpdHNlbGYgdGhhdCB3YXMgY2F1c2luZyB0aGUgaXNzdWUgSSByYW4g YSBmZXcgZGlmZmVyZW50IHNjZW5hcmlvczoNCg0KYGBgDQojIFRoaXMgdmVyc2lvbiBkb2VzIG5v dCBtYW5pZmVzdCB0aGUgaXNzdWUuIChJdCBtYWtlcyBpdCB0aHJvdWdoIHR3byBpdGVyYXRpb25z DQojIGFuZCB0ZXJtaW5hdGVzLikNCg0KcmVxdWlyZSAid2Vha3JlZiINCg0KaXRlcmF0aW9ucyA9 IDANCg0Kd2hpbGUgaXRlcmF0aW9ucyA8IDINCiAgcHJpbnQgIlxyI3tpdGVyYXRpb25zfSINCiAg b2JqID0gV2Vha1JlZi5uZXcoT2JqZWN0Lm5ldykNCiAgd2hpbGUgb2JqLndlYWtyZWZfYWxpdmU/ DQogICAgIyBTbGVlcCB0byBnaXZlIHJlZ2lzdGVycyBhIGNoYW5jZSB0byBjbGVhci4NCiAgICBz bGVlcCgwLjUpDQogICAgR0Muc3RhcnQNCiAgZW5kDQogIGl0ZXJhdGlvbnMgKz0gMQ0KZW5kDQpg YGANCg0KYGBgDQojIFRoaXMgdmVyc2lvbiBkb2VzIG1hbmlmZXN0IHRoZSBpc3N1ZS4gKEl0IGdl dHMgc3R1Y2sgaW4gdGhlIGlubmVyIGxvb3AgYW5kDQojIG5ldmVyIHRlcm1pbmF0ZXMuKQ0KcmVx dWlyZSAid2Vha3JlZiINCg0KaXRlcmF0aW9ucyA9IDANCg0Kd2hpbGUgaXRlcmF0aW9ucyA8IDIN CiAgcHJpbnQgIlxyI3tpdGVyYXRpb25zfSINCiAgb2JqID0gV2Vha1JlZi5uZXcoT2JqZWN0Lm5l dykNCiAgd2hpbGUgb2JqLndlYWtyZWZfYWxpdmU/DQogICAgIyBTbGVlcCB0byBnaXZlIHJlZ2lz dGVycyBhIGNoYW5jZSB0byBjbGVhci4NCiAgICBzbGVlcCgwLjUpDQoNCiAgICAjIENhbGwgdGhl IGBXZWFrUmVmI3dlYWtyZWZfYWxpdmU/YCBtZXRob2QgdG8gc2VlIGlmIHRoYXQgY2F1c2VzIHRo ZSBpc3N1ZQ0KICAgICMgdG8gbWFuaWZlc3QuIChJdCBkb2VzLCBHQyBkb2VzIF9ub3RfIGNsZWFy IG91dCB0aGUgdW5kZXJseWluZyBPYmplY3QgYWZ0ZXINCiAgICAjIHRoaXMuKQ0KICAgIG9iai53 ZWFrcmVmX2FsaXZlPw0KDQogICAgR0Muc3RhcnQNCiAgZW5kDQogIGl0ZXJhdGlvbnMgKz0gMQ0K ZW5kDQpgYGANCg0KYGBgDQojIFRoaXMgdmVyc2lvbiBkb2VzIG5vdCBtYW5pZmVzdCB0aGUgaXNz dWUuIChJdCBtYWtlcyBpdCB0aHJvdWdoIHR3byBpdGVyYXRpb25zDQojIGFuZCB0ZXJtaW5hdGVz LikNCg0KcmVxdWlyZSAid2Vha3JlZiINCg0KaXRlcmF0aW9ucyA9IDANCg0Kd2hpbGUgaXRlcmF0 aW9ucyA8IDINCiAgcHJpbnQgIlxyI3tpdGVyYXRpb25zfSINCiAgb2JqID0gV2Vha1JlZi5uZXco T2JqZWN0Lm5ldykNCiAgd2hpbGUgb2JqLndlYWtyZWZfYWxpdmU/DQogICAgIyBTbGVlcCB0byBn aXZlIHJlZ2lzdGVycyBhIGNoYW5jZSB0byBjbGVhci4NCiAgICBzbGVlcCgwLjUpDQoNCiAgICAj IFJlZmVyZW5jZSB0aGUgV2Vha1JlZiBvYmplY3QgdG8gc2VlIGlmIHRoYXQgY2F1c2VzIHRoZSBp c3N1ZSB0bw0KICAgICMgbWFuaWZlc3QuIChJdCBkb2VzIG5vdCwgR0Mgc3RpbGwgY2xlYXJzIG91 dCB0aGUgdW5kZXJseWluZyBPYmplY3QgaGVyZS4pDQogICAgb2JqDQoNCiAgICBHQy5zdGFydA0K ICBlbmQNCiAgaXRlcmF0aW9ucyArPSAxDQplbmQNCmBgYA0KDQpgYGANCiMgVGhpcyB2ZXJzaW9u IGRvZXMgbm90IG1hbmlmZXN0IHRoZSBpc3N1ZS4gKEl0IG1ha2VzIGl0IHRocm91Z2ggdHdvIGl0 ZXJhdGlvbnMNCiMgYW5kIHRlcm1pbmF0ZXMuKQ0KDQpyZXF1aXJlICJ3ZWFrcmVmIg0KDQppdGVy YXRpb25zID0gMA0KDQp3aGlsZSBpdGVyYXRpb25zIDwgMg0KICBwcmludCAiXHIje2l0ZXJhdGlv bnN9Ig0KICBvYmogPSBXZWFrUmVmLm5ldyhPYmplY3QubmV3KQ0KICB3aGlsZSBvYmoud2Vha3Jl Zl9hbGl2ZT8NCiAgICAjIFNsZWVwIHRvIGdpdmUgcmVnaXN0ZXJzIGEgY2hhbmNlIHRvIGNsZWFy Lg0KICAgIHNsZWVwKDAuNSkNCg0KICAgICMgQ2FsbCBhbm90aGVyIG1ldGhvZCBvbiB0aGUgV2Vh a1JlZiBvYmplY3QgdG8gc2VlIGlmIHRoYXQgY2F1c2VzIHRoZSBpc3N1ZQ0KICAgICMgdG8gbWFu aWZlc3QuIChJdCBkb2VzIG5vdCwgR0Mgc3RpbGwgY2xlYXJzIG91dCB0aGUgdW5kZXJseWluZyBP YmplY3QNCiAgICAjIGhlcmUuKQ0KICAgIG9iai5vYmplY3RfaWQNCg0KICAgIEdDLnN0YXJ0DQog IGVuZA0KICBpdGVyYXRpb25zICs9IDENCmVuZA0KYGBgDQpTb3JyeSBmb3IgdGhlIHdhbGwgb2Yg Y29kZSB0aGVyZSDigJQgdGhlIHN1bW1hcnkgaXMgdGhhdCB0aGUgaXNzdWUgb25seSBzZWVtcyB0 byBtYW5pZmVzdCB3aGVuIHRoZSBgd2Vha3JlZl9hbGl2ZT9gIG1ldGhvZCBpcyBjYWxsZWQgaW1t ZWRpYXRlbHkgYmVmb3JlIGdhcmJhZ2UgY29sbGVjdGluZy4NCg0KVGhlIGZhY3QgdGhhdCB0aGUg YmVoYXZpb3IgaXMgcHJlZGljdGFibGUgaW4gdGhvc2UgZGlmZmVyZW50IHNjZW5hcmlvcyBtYWtl cyBtZSB0aGluayB0aGF0IHRoZSBgd2Vha3JlZl9hbGl2ZT9gIG1ldGhvZCBpcyBkb2luZyBzb21l dGhpbmcgdGhhdCBhZGRzIGEgcmVmZXJlbmNlIHRvIHRoZSB1bmRlcmx5aW5nIGBPYmplY3RgIHRv IGEgcmVnaXN0ZXIgb3IgdGhlIHN0YWNrLiBJcyB0aGVyZSBhbm90aGVyIGV4cGxhbmF0aW9uIGZv ciB0aGUgYmVoYXZpb3IgdGhlcmUgdGhhdCBJJ20gbWlzc2luZz8NCg0KLS0tDQoNCj4gIElmIHlv dSBkdW1wIHRoZSBoZWFwIChgT2JqZWN0U3BhY2UuZHVtcF9hbGxgKSwgeW91J2xsIHByb2JhYmx5 IHNlZSBvbmUgb2YgdGhlIHJvb3RzIChwcm9iYWJseSBWTT8pIHBvaW50aW5nIGF0IHRoZSBvYmpl Y3QuICBVbmZvcnR1bmF0ZWx5IHRoZSBoZWFwIGR1bXAgd29uJ3QgdGVsbCB5b3UgX2hvd18gaXQg Zm91bmQgdGhlIHJlZmVyZW5jZSwganVzdCB0aGF0IHRoZSByZWZlcmVuY2UgZXhpc3RzLiAgWW91 IGNvdWxkIGZpbmQgd2hldGhlciBpdCdzIGEgcmVnaXN0ZXIgb3Igc3RhY2sgbWVtb3J5IGJ5IGFk ZGluZyBzb21lIGRlYnVnZ2luZyBjb2RlIHRvIHRoZSBHQyBvciBieSB0cmFjaW5nIHRoZSBtYWNo aW5lIGNvZGUgdmlhIGxsZGIuDQoNClRoYW5rcyBAdGVuZGVybG92ZW1ha2luZyEgSSBkaWRuJ3Qg a25vdyBhYm91dCBgT2JqZWN0U3BhY2UuZHVtcF9hbGxgLiBJJ2xsIHRyeSBleHBsb3JpbmcgdGhv c2Ugb3B0aW9ucyB0byBzZWUgaWYgSSBjYW4gcGluIGRvd24gaG93IGl0J3MgZmluZGluZyB0aGUg cmVmZXJlbmNlIHRvIHRoZSBPYmplY3QuIEhlYWRzIHVwIHRoYXQgaXQgd2lsbCBsaWtlbHkgdGFr ZSBtZSBhIHdoaWxlIHNpbmNlIEknbSBub3QgeWV0IGZhbWlsaWFyIHdpdGggQyBhbmQgbGxkYi4N Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQnVnICMxOTA0MTog V2Vha3JlZiBpcyBzdGlsbCBhbGl2ZSBhZnRlciBtYWpvciBnYXJiYWdlIGNvbGxlY3Rpb24NCmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTA0MSNjaGFuZ2UtOTk3MjINCg0KKiBB dXRob3I6IHBhcmtlciAoUGFya2VyIEZpbmNoKQ0KKiBTdGF0dXM6IENsb3NlZA0KKiBQcmlvcml0 eTogTm9ybWFsDQoqIHJ1YnkgLXY6IHJ1YnkgMy4xLjJwMjAgKDIwMjItMDQtMTIgcmV2aXNpb24g NDQ5MWJiNzQwYSkgW3g4Nl82NC1kYXJ3aW4yMV0NCiogQmFja3BvcnQ6IDIuNzogVU5LTk9XTiwg My4wOiBVTktOT1dOLCAzLjE6IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCkkgYW0gYWJsZSB0byBnZXQgaW50byBhbiBpbmZpbml0ZSBsb29wIHdhaXRp bmcgZm9yIGdhcmJhZ2UgY29sbGVjdGlvbiB0byB0YWtlIGEgV2Vha1JlZi4NCg0KIyMjIFJlcHJv ZHVjdGlvbiBQcm9jZXNzDQpUaGUgZm9sbG93aW5nIHNjcmlwdCBwcmludHMgYSAiMCIsIHRoZW4g YSAiMSIsIGFuZCB0aGVuIGhhbmdzIGZvcmV2ZXIuIEkgZXhwZWN0IGl0IHRvIGtlZXAgcHJpbnRp bmcgbnVtYmVycy4NCmBgYA0KcmVxdWlyZSAid2Vha3JlZiINCg0KaXRlcmF0aW9ucyA9IDANCg0K bG9vcCBkbw0KICBwcmludCAiXHIje2l0ZXJhdGlvbnN9Ig0KICBvYmogPSBXZWFrUmVmLm5ldyhP YmplY3QubmV3KQ0KICBHQy5zdGFydCB3aGlsZSBvYmoud2Vha3JlZl9hbGl2ZT8NCiAgaXRlcmF0 aW9ucyArPSAxDQplbmQNCmBgYA0KDQojIyMgUnVieSBWZXJzaW9uDQpJIGhhdmUgdGVzdGVkIHRo aXMgb24gUnVieSAzLjEuMiwgMy4xLjAsIDMuMC40LCAzLjAuMCwgMi43LjYsIGFuZCAyLjcuMCBv biBtYWNPUy4gQWxsIGV4aGliaXQgdGhpcyBiZWhhdmlvci4NCg0KIyMjIEZ1cnRoZXIgSW52ZXN0 aWdhdGlvbg0KIyMjIyBTbGVlcGluZw0KU2xlZXBpbmcgYmVmb3JlIHRoZSBnYXJiYWdlIGNvbGxl Y3Rpb24gYWxsb3dzIHRoZSBsb29wIHRvIGNvbnRpbnVlLiBUaGUgYmVsb3cgZXhoaWJpdHMgdGhl IGV4cGVjdGVkIGJlaGF2aW9yOg0KYGBgDQpyZXF1aXJlICJ3ZWFrcmVmIg0KDQppdGVyYXRpb25z ID0gMA0KDQpsb29wIGRvDQogIHByaW50ICJcciN7aXRlcmF0aW9uc30iDQogIG9iaiA9IFdlYWtS ZWYubmV3KE9iamVjdC5uZXcpDQogIChzbGVlcCgwLjUpOyBHQy5zdGFydCkgd2hpbGUgb2JqLndl YWtyZWZfYWxpdmU/DQogIGl0ZXJhdGlvbnMgKz0gMQ0KZW5kDQpgYGANCg0KSG93ZXZlciwgc2xl ZXBpbmcgX2FmdGVyXyB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIHN0aWxsIHNob3dzIHRoZSBidWdn eSBiZWhhdmlvciAobG9vcCBoYW5ncyk6DQpgYGANCnJlcXVpcmUgIndlYWtyZWYiDQoNCml0ZXJh dGlvbnMgPSAwDQoNCmxvb3AgZG8NCiAgcHJpbnQgIlxyI3tpdGVyYXRpb25zfSINCiAgb2JqID0g V2Vha1JlZi5uZXcoT2JqZWN0Lm5ldykNCiAgKEdDLnN0YXJ0OyBzbGVlcCgwLjUpKSB3aGlsZSBv Ymoud2Vha3JlZl9hbGl2ZT8NCiAgaXRlcmF0aW9ucyArPSAxDQplbmQNCmBgYA0KDQojIyMjIFJ1 bm5pbmcgR2FyYmFnZSBDb2xsZWN0aW9uIE11bHRpcGxlIFRpbWVzDQpFeHBsaWNpdGx5IHJ1bm5p bmcgZ2FyYmFnZSBjb2xsZWN0aW9uIG11bHRpcGxlIHRpbWVzIGFsbG93cyB0aGUgbG9vcCB0byBj b250aW51ZS4gVGhpcyBoYXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yLCBtb3JlIG51bWJlcnMgY29u dGludWUgdG8gYmUgcHJpbnRlZDoNCmBgYA0KcmVxdWlyZSAid2Vha3JlZiINCg0KaXRlcmF0aW9u cyA9IDANCg0KbG9vcCBkbw0KICBwcmludCAiXHIje2l0ZXJhdGlvbnN9Ig0KICBvYmogPSBXZWFr UmVmLm5ldyhPYmplY3QubmV3KQ0KICB3aGlsZSBvYmoud2Vha3JlZl9hbGl2ZT8NCiAgICBHQy5z dGFydA0KICAgIEdDLnN0YXJ0DQogICAgR0Muc3RhcnQNCiAgZW5kDQogIGl0ZXJhdGlvbnMgKz0g MQ0KZW5kDQpgYGANCg0KSG93ZXZlciwgd2l0aCBjZXJ0YWluIHJ1YmllcywgcnVubmluZyB0aG9z ZSBnYXJiYWdlIGNvbGxlY3Rpb24gY2FsbHMgaW4gYSBgdGltZXNgIGJsb2NrIHByZXZlbnRzIGV2 ZW4gYSBzaW5nbGUgaXRlcmF0aW9uIGZyb20gY29tcGxldGluZy4gVGhlIGZvbGxvd2luZyBwcmlu dHMgb25seSAiMCIgd2l0aCBydWJ5IDMuMC40IG9uIG1hY09TLCBydWJ5IDIuNy42IG9uIG1hY09T LCBhbmQgcnVieSAzLjEuMiBvbiBsaW51eCAoYHJ1YnkgMy4xLjJwMjAgKDIwMjItMDQtMTIgcmV2 aXNpb24gNDQ5MWJiNzQwYSkgW3g4Nl82NC1saW51eF1gIG9uIGEgdmlydHVhbCBtYWNoaW5lKS4g SXQgc2hvd3MgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIG9uIHJ1YnkgMy4xLjIgb24gbWFjT1MuDQpg YGANCnJlcXVpcmUgIndlYWtyZWYiDQoNCml0ZXJhdGlvbnMgPSAwDQoNCmxvb3AgZG8NCiAgcHJp bnQgIlxyI3tpdGVyYXRpb25zfSINCiAgb2JqID0gV2Vha1JlZi5uZXcoT2JqZWN0Lm5ldykNCiAg My50aW1lcyB7IEdDLnN0YXJ0IH0gd2hpbGUgb2JqLndlYWtyZWZfYWxpdmU/DQogIGl0ZXJhdGlv bnMgKz0gMQ0KZW5kDQpgYGANCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv DQoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9z dWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9t YWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=