From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 651A61F4D7 for ; Wed, 18 May 2022 07:17:55 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sendgrid.me header.i=@sendgrid.me header.b="PXkuZUGV"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id D85D4120E19; Wed, 18 May 2022 16:17:51 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 7E2D9120D71 for ; Wed, 18 May 2022 16:17:48 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to; s=smtpapi; bh=e6TIK06m4FJpuQIew18r3OKu+TbZiaHRyA4j+M5iS20=; b=PXkuZUGVE6pBkB42GNIMEFbI8fuG2LC1cz0p/B2sNibW6fC/9FUXNjXUdSVMYKPwxJHG 89RmaBS36/9c2PZThs4aeMb75in5SHj25CdXQSKTZV1a0AGf9gW0unQSGjgeXT7p9RmzSk 48qmX8lGxvKmzYsLlFSuAHQJPw/Dy8VSE= Received: by filterdrecv-77df7bffc9-84s4b with SMTP id filterdrecv-77df7bffc9-84s4b-1-62849D96-2F 2022-05-18 07:17:42.612726231 +0000 UTC m=+3576702.478127841 Received: from herokuapp.com (unknown) by geopod-ismtpd-2-4 (SG) with ESMTP id cTxnHYbhS0G-nkJxOKH1rw for ; Wed, 18 May 2022 07:17:42.580 +0000 (UTC) Date: Wed, 18 May 2022 07:17:42 +0000 (UTC) From: "ioquatix (Samuel Williams)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 18782 X-Redmine-Issue-Author: ioquatix X-Redmine-Sender: ioquatix X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 84977 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4Nyxmyxx+bqJnbQKkNKWndBAAzQa=2FHP9Jkl?= =?us-ascii?Q?g4EiNGGKZTUGrP+JSGtuGJAAceJWNSlzj8xQmnk?= =?us-ascii?Q?AcnhWZmwG+K2gqCUOIWDWSlJix2E6zV5LTKl5za?= =?us-ascii?Q?cxXfFQ+L0IwBMirHXwoAnTWns8Zhu9GhbrVOeJq?= =?us-ascii?Q?EkHfMg1Eyr0otpQkc6jbw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108608 Subject: [ruby-core:108608] [Ruby master Bug#18782] Race conditions in autoload when loading the same feature with multiple threads. X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE4NzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKQGJ5cm9vdCBEb2VzIHRoaXMgYWxpZ24gdXAgd2l0aCB3aGF0IHlvdSBhcmUgc2F5aW5n PwoKCmBgYHJ1YnkKZmVhdHVyZXMgPSAkTE9BREVEX0ZFQVRVUkVTLmR1cAoKcGF0aCA9ICIuL3Ns ZWVweS5yYiIKCkZpbGUud3JpdGUocGF0aCwgInNsZWVwIDUiKQoKdGhyZWFkID0gVGhyZWFkLm5l dyBkbwoJcmVxdWlyZSBwYXRoCmVuZAoKc2xlZXAgMQoKdGhyZWFkLmtpbGwKdGhyZWFkLmpvaW4K CnBwICRMT0FERURfRkVBVFVSRVMgLSBmZWF0dXJlcwpgYGAKCkJlY2F1c2UgaXQncyBlbXB0eS4K CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTg3ODI6IFJh Y2UgY29uZGl0aW9ucyBpbiBhdXRvbG9hZCB3aGVuIGxvYWRpbmcgdGhlIHNhbWUgZmVhdHVyZSB3 aXRoIG11bHRpcGxlIHRocmVhZHMuCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8x ODc4MiNjaGFuZ2UtOTc2NDUKCiogQXV0aG9yOiBpb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoq IFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBCYWNrcG9ydDogMi43OiBVTktOT1dO LCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCkkgaGF2ZSBpZGVudGlmaWVkIHNldmVyYWwgcmFjZSBjb25kaXRpb25zIGlu IHRoZSBhdXRvbG9hZCBjb2RlLgoKMS4gSXQncyBwb3NzaWJsZSB0byByYWNlIG9uIGFkZGluZyBh bmQgdGhlbiBkZWxldGluZyBpdGVtcyBpbiBgYXV0b2xvYWRfZmVhdHVyZW1hcGAuIFdoZW4gdGhp cyBoYXBwZW5zLCB0d28gdGhyZWFkcyB3aWxsIHRyeSB0byBsb2FkIHRoZSBzYW1lIGZpbGUgd2l0 aCBkaWZmZXJlbnQgYXV0b2xvYWQgZGF0YSBhbmQgZGVhZGxvY2suCjIuIFdoZW4gZmluaXNoaW5n IGF1dG9sb2FkLCBpdCdzIG5lY2Vzc2FyeSB0byBjbGVhciBgZWxlLT5zdGF0ZWAgYmVmb3JlIHNl dHRpbmcgY29uc3RhbnRzLiBJZiB0aGlzIGlzIG5vdCBzeW5jaHJvbmlzZWQsIGEgdGhyZWFkIGNh biBzZWUgdGhlIGNsZWFyZWQgYGVsZS0+c3RhdGVgIGJlZm9yZSBzZWVpbmcgdGhlIGNvbnN0YW50 cyBhbmQgYXNzdW1lIHRoZSBjb25zdGFudCBpcyBub3QgYmVpbmcgYXV0b2xvYWRlZCBhbmQgdGhl biBmYWlsIHdpdGggYE5hbWVFcnJvcmAuCgpUaGlzIHRlc3QgY2FzZSBjYW4gcmVwcm9kdWNlIGJv dGggY2FzZXM6CgpgYGAKIyB0ZXN0LnJiCmF1dG9sb2FkX3BhdGggPSBGaWxlLmpvaW4oX19kaXJf XywgImZvb2Jhci5yYiIpCkZpbGUud3JpdGUoYXV0b2xvYWRfcGF0aCwgJ21vZHVsZSBGb287IGVu ZDsgbW9kdWxlIEJhcjsgZW5kJykKCjEwMF8wMDAudGltZXMgZG8KCSRzdGRlcnIucHV0cyAiLS0t LS0tLS0tLS0tLS0tLS0tLS0iCglhdXRvbG9hZCA6Rm9vLCBhdXRvbG9hZF9wYXRoCglhdXRvbG9h ZCA6QmFyLCBhdXRvbG9hZF9wYXRoCgoJdDEgPSBUaHJlYWQubmV3IHtGb299Cgl0MiA9IFRocmVh ZC5uZXcge0Jhcn0KCgl0MS5qb2luCgl0Mi5qb2luCgoJT2JqZWN0LnNlbmQoOnJlbW92ZV9jb25z dCwgOkZvbykKCU9iamVjdC5zZW5kKDpyZW1vdmVfY29uc3QsIDpCYXIpCgoJJExPQURFRF9GRUFU VVJFUy5kZWxldGUoYXV0b2xvYWRfcGF0aCkKZW5kCmBgYAoKRXhhbXBsZSBmYWlsdXJlIG9mIGNh c2UgKDEpOgoKYGBgCi0tLS0tLS0tLS0tLS0tLS0tLS0tIChzdWNjZXNzKQphdXRvbG9hZF9ieV9z b21lb25lX2Vsc2UgZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+c3RhdGU9KG5pbCkKYXV0b2xvYWRf Ynlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPShuaWwpCmNoZWNr X2F1dG9sb2FkX3JlcXVpcmVkIDIKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMz YjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3OGJlNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVk IDQKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRl PTB4N2ZkZDY3OGJlNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKZWxlPTB4NTVmMzNiODA2 YTMwIGVsZS0+c3RhdGU9MHg3ZmRkNjc4YmU3ODAgPSBOVUxMCmNoZWNrX2F1dG9sb2FkX3JlcXVp cmVkIDQKLS0tLS0tLS0tLS0tLS0tLS0tLS0gKGZhaWx1cmUpCmF1dG9sb2FkX2J5X3NvbWVvbmVf ZWxzZSBlbGU9MHg1NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0obmlsKQphdXRvbG9hZF9ieV9zb21l b25lX2Vsc2UgZWxlPTB4NTVmMzNiNmU4ZjQwIGVsZS0+c3RhdGU9KG5pbCkKY2hlY2tfYXV0b2xv YWRfcmVxdWlyZWQgMgpjaGVja19hdXRvbG9hZF9yZXF1aXJlZCAzCmF1dG9sb2FkX2J5X3NvbWVv bmVfZWxzZSBlbGU9MHg1NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0weDdmZGQ2Nzc5ZDc4MApjaGVj a19hdXRvbG9hZF9yZXF1aXJlZCAxCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9MHg1NWYz M2I4MDZhMzAgZWxlLT5zdGF0ZT0weDdmZGQ2Nzc5ZDc4MApjaGVja19hdXRvbG9hZF9yZXF1aXJl ZCAxCmVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3NzlkNzgwID0gTlVMTApl bGU9MHg1NWYzM2I2ZThmNDAgZWxlLT5zdGF0ZT0weDdmZGQ2NzhiZTc4MCA9IE5VTEwKLi4vdGVz dC5yYjoxMjppbiBgam9pbic6IE5vIGxpdmUgdGhyZWFkcyBsZWZ0LiBEZWFkbG9jaz8gKGZhdGFs KQozIHRocmVhZHMsIDMgc2xlZXBzIGN1cnJlbnQ6MHgwMDAwNTVmMzNiNzcxMjUwIG1haW4gdGhy ZWFkOjB4MDAwMDU1ZjMzYjY2ZTA5MAoqICM8VGhyZWFkOjB4MDAwMDdmZGQ2YTJjYjBiMCBzbGVl cF9mb3JldmVyPgogICByYl90aHJlYWRfdDoweDAwMDA1NWYzM2I2NmUwOTAgbmF0aXZlOjB4MDAw MDdmZGQ2YTcxYzNjMCBpbnQ6MAogICAKKiAjPFRocmVhZDoweDAwMDA3ZmRkNjc2ZTAwOTAgLi4v dGVzdC5yYjo5IHNsZWVwX2ZvcmV2ZXI+CiAgIHJiX3RocmVhZF90OjB4MDAwMDU1ZjMzYjc3MGZm MCBuYXRpdmU6MHgwMDAwN2ZkZDY3ODllNjQwIGludDoxIG11dGV4OjB4MDAwMDU1ZjMzYjdjNTEw MCBjb25kOjEKICAgIGRlcGVuZGVkIGJ5OiB0Yl90aHJlYWRfaWQ6MHgwMDAwNTVmMzNiNjZlMDkw CiAgIAoqICM8VGhyZWFkOjB4MDAwMDdmZGQ2NzZlMTIzOCAuLi90ZXN0LnJiOjEwIHNsZWVwX2Zv cmV2ZXI+CiAgIHJiX3RocmVhZF90OjB4MDAwMDU1ZjMzYjc3MTI1MCBuYXRpdmU6MHgwMDAwN2Zk ZDY3OWJmNjQwIGludDowCiAgIAoKCWZyb20gLi4vdGVzdC5yYjoxMjppbiBgYmxvY2sgaW4gPG1h aW4+JwoJZnJvbSAuLi90ZXN0LnJiOjQ6aW4gYHRpbWVzJwoJZnJvbSAuLi90ZXN0LnJiOjQ6aW4g YDxtYWluPicKbWFrZTogKioqIFt1bmNvbW1vbi5tazoxMjUwOiBydW5ydWJ5XSBFcnJvciAxCmBg YAoKRXhhbXBsZSBmYWlsdXJlIG9mIGNhc2UgKDIpOgoKYGBgClsweDdmMTc1ZmU1YjBjOF0gcmJf YXV0b2xvYWRfc3RyIG1vZD1PYmplY3QgaWQ9Rm9vIGZpbGU9Ii9ob21lL3NhbXVlbC9Qcm9qZWN0 cy9pb3F1YXRpeC9ydWJ5L2Zvb2Jhci5yYiIKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9z dHIgY29uc3Rfc2V0IG1vZD1PYmplY3QgaWQ9Rm9vIGZpbGU9Ii9ob21lL3NhbXVlbC9Qcm9qZWN0 cy9pb3F1YXRpeC9ydWJ5L2Zvb2Jhci5yYiIKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9z dHIgbW9kPU9iamVjdCBpZD1CYXIgZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4 L3J1YnkvZm9vYmFyLnJiIgpbMHg3ZjE3NWZlNWIwYzhdIHJiX2F1dG9sb2FkX3N0ciBjb25zdF9z ZXQgbW9kPU9iamVjdCBpZD1CYXIgZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4 L3J1YnkvZm9vYmFyLnJiIgpbMHg3ZjE3NWZlNjFkODhdIHJiX2NvbnN0X3NlYXJjaF9mcm9tIHZh bHVlID09IFF1bmRlZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhdIHJiX2NvbnN0X3Nl YXJjaF9mcm9tIHZhbHVlID09IFF1bmRlZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhd IEFzc2lnbmluZyBjb25zdGFudHMuLi4KWzB4N2YxNzVmZTYxZDg4XSByYl9jb25zdF9zZWFyY2hf ZnJvbSB2YWx1ZSA9PSBRdW5kZWYgLT4gYXV0b2xvYWRpbmcKWzB4N2YxNzVmZTYxZTc4XSBhdXRv bG9hZF9jb25zdF9zZXQgbmFtZT06Rm9vIHZhbHVlPUZvbwpbMHg3ZjE3NWZlNjFlNzhdIGF1dG9s b2FkX2NvbnN0X3NldCBuYW1lPTpCYXIgdmFsdWU9QmFyCiM8VGhyZWFkOjB4MDAwMDdmMTc1ZmU2 MWQ4OCAuLi90ZXN0LnJiOjExIHJ1bj4gdGVybWluYXRlZCB3aXRoIGV4Y2VwdGlvbiAocmVwb3J0 X29uX2V4Y2VwdGlvbiBpcyB0cnVlKToKLi4vdGVzdC5yYjoxMTppbiBgYmxvY2sgKDIgbGV2ZWxz KSBpbiA8bWFpbj4nOiB1bmluaXRpYWxpemVkIGNvbnN0YW50IEJhciAoTmFtZUVycm9yKQouLi90 ZXN0LnJiOjExOmluIGBibG9jayAoMiBsZXZlbHMpIGluIDxtYWluPic6IHVuaW5pdGlhbGl6ZWQg Y29uc3RhbnQgQmFyIChOYW1lRXJyb3IpCm1ha2U6ICoqKiBbdW5jb21tb24ubWs6MTI1MDogcnVu cnVieV0gRXJyb3IgMQpgYGAKClRoZXNlIGZhaWx1cmVzIGFyZSB2ZXJ5IHVuY29tbW9uIGJ1dCBp dCBkb2VzIGltcGFjdCBSdWJ5IGFzIGZhciBiYWNrIGFzIDIuNywgYW5kIHByb2JhYmx5IGVhcmxp ZXIuCgotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjAwMDEtQWRkLVJV QllfVk1fQ1JJVElDQUxfU0VDVElPTi1mb3ItZGV0ZWN0aW5nLXVuZXhwZWN0ZS5wYXRjaCAoMi4w NyBLQikKMDAwMi1QcmV2ZW50LXJhY2UtYmV0d2Vlbi1HQy1tYXJrLWFuZC1hdXRvbG9hZC1zZXR1 cC5wYXRjaCAoMS4wMSBLQikKMDAwMy1Qcm90ZWN0LXJhY2Utb24tYXV0b2xvYWQtc3RhdGUucGF0 Y2ggKDEwLjYgS0IpCjAwMDQtSW5jcmVhc2UtdGltZW91dC1mb3ItZGVidWctdGVzdHMucGF0Y2gg KDkxMCBCeXRlcykKMDAwNS1SZXZlcnQtcmVtb3ZhbC1vZi1ub24tY29uZGl0aW9uYWwteGZyZWUu cGF0Y2ggKDY5MSBCeXRlcykKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==