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 623A11F4D7 for ; Wed, 18 May 2022 03:30:09 +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="O2jBLgB0"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id E0836120C09; Wed, 18 May 2022 12:30:05 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 36F76120B7F for ; Wed, 18 May 2022 12:30:04 +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=VQVFav2hTOX+Ial5Q6O1I6IP7oOSvAZ/5rO6JPGtMqg=; b=O2jBLgB0ZxjQ2QpzYQuQHIs75X7CLX6k1E+6igDP3XU63549alc/0K6CRydvRBi5gkMc sNgJVkqyKaAYwXWUO75nU+FwIqc4IVW29P73AgbtzVxgGyvVQBzCL4RewHz/pw+nTNRGsa 5sw7j7DkzCkmVVvKJDiVdDesHFr0CWiTo= Received: by filterdrecv-77df7bffc9-6m2w6 with SMTP id filterdrecv-77df7bffc9-6m2w6-1-6284683A-3 2022-05-18 03:30:02.037475668 +0000 UTC m=+3563049.008495187 Received: from herokuapp.com (unknown) by geopod-ismtpd-1-4 (SG) with ESMTP id NAbsmFVvRj6m2soAfmDq5g for ; Wed, 18 May 2022 03:30:02.025 +0000 (UTC) Date: Wed, 18 May 2022 03:30:02 +0000 (UTC) From: "byroot (Jean Boussier)" 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: byroot 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: 84975 X-SG-EID: =?us-ascii?Q?Dq8GNIcVqP8cs5uR+EIAabfg3LE9XdC6dZ5KYNrMpf6VzBWG6HqArcu5raQjXL?= =?us-ascii?Q?IGTFdxKHUt7++67+KD54pNYXheirMcsUIf3sdgF?= =?us-ascii?Q?Riq06jPyAWpCfUx2cAob5p3dl4raBt1nxAUD06t?= =?us-ascii?Q?CWYy+cVrCONW3CN57mfxq2xFKUGhNjfkPq=2FyqIh?= =?us-ascii?Q?dCl8+4cMEcdsX4GVNrEjikARIoiRLUnSck=2FjxYT?= =?us-ascii?Q?vh+bE2JMvPePyh+l4utvw4k+0OaA9=2F1Sdf8W=2FQd?= =?us-ascii?Q?ajqkDzUvQsJt04zC5Aayg=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108606 Subject: [ruby-core:108606] [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" SXNzdWUgIzE4NzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4K Cgo+IENvbnNpZGVyIG11bHRpcGxlIHRocmVhZHMgdHJ5aW5nIHRvIHJlcXVpcmUgYSBmZWF0dXJl IHdoaWNoIGlzIHNsb3cgdG8gbG9hZC4gTGV0J3Mgc2F5IGl0J3MgYSB3ZWIgc2V2ZXIsIGFuZCB0 aGUgZmlyc3QgdGhyZWFkIGlzIGNhbmNlbGxlZCBiZWNhdXNlIHRoZSByZXF1ZXN0IGlzIGNhbmNl bGxlZC4gU2hvdWxkIHRoaXMgY2F1c2UgYWxsIHN1YnNlcXVlbnQgYXR0ZW1wdHMgdG8gdXNlIHRo ZSBjb25zdGFudCB0byBmYWlsPwoKVW5sZXNzIEkgbWlzdW5kZXJzdG9vZCwgdGhhdCdzIGV4YWN0 bHkgd2hhdCB3b3VsZCBoYXBwZW4gd2l0aCBleHBsaWNpdCBgcmVxdWlyZWAgY2FsbHMsIGFzIHRo ZSBmaWxlIHdvdWxkIGVuZCB1cCBpbiBgJExPQURFRF9GRUFUVVJFU2AsIHNvIHN1YnNlcXVlbmNl IGByZXF1aXJlYCBjYWxscyB3b3VsZCBiZSBhIG5vb3AuCgpJJ20gbm90IGdvbm5hIHByZXRlbmQg aXQncyBncmFjZWZ1bCwgYnV0IGl0J3Mgc29tZXdoYXQgY29uc2lzdGVudC4gCgotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTg3ODI6IFJhY2UgY29uZGl0aW9u cyBpbiBhdXRvbG9hZCB3aGVuIGxvYWRpbmcgdGhlIHNhbWUgZmVhdHVyZSB3aXRoIG11bHRpcGxl IHRocmVhZHMuCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xODc4MiNjaGFuZ2Ut OTc2NDMKCiogQXV0aG9yOiBpb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czogT3Bl bgoqIFByaW9yaXR5OiBOb3JtYWwKKiBCYWNrcG9ydDogMi43OiBVTktOT1dOLCAzLjA6IFVOS05P V04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CkkgaGF2ZSBpZGVudGlmaWVkIHNldmVyYWwgcmFjZSBjb25kaXRpb25zIGluIHRoZSBhdXRvbG9h ZCBjb2RlLgoKMS4gSXQncyBwb3NzaWJsZSB0byByYWNlIG9uIGFkZGluZyBhbmQgdGhlbiBkZWxl dGluZyBpdGVtcyBpbiBgYXV0b2xvYWRfZmVhdHVyZW1hcGAuIFdoZW4gdGhpcyBoYXBwZW5zLCB0 d28gdGhyZWFkcyB3aWxsIHRyeSB0byBsb2FkIHRoZSBzYW1lIGZpbGUgd2l0aCBkaWZmZXJlbnQg YXV0b2xvYWQgZGF0YSBhbmQgZGVhZGxvY2suCjIuIFdoZW4gZmluaXNoaW5nIGF1dG9sb2FkLCBp dCdzIG5lY2Vzc2FyeSB0byBjbGVhciBgZWxlLT5zdGF0ZWAgYmVmb3JlIHNldHRpbmcgY29uc3Rh bnRzLiBJZiB0aGlzIGlzIG5vdCBzeW5jaHJvbmlzZWQsIGEgdGhyZWFkIGNhbiBzZWUgdGhlIGNs ZWFyZWQgYGVsZS0+c3RhdGVgIGJlZm9yZSBzZWVpbmcgdGhlIGNvbnN0YW50cyBhbmQgYXNzdW1l IHRoZSBjb25zdGFudCBpcyBub3QgYmVpbmcgYXV0b2xvYWRlZCBhbmQgdGhlbiBmYWlsIHdpdGgg YE5hbWVFcnJvcmAuCgpUaGlzIHRlc3QgY2FzZSBjYW4gcmVwcm9kdWNlIGJvdGggY2FzZXM6Cgpg YGAKIyB0ZXN0LnJiCmF1dG9sb2FkX3BhdGggPSBGaWxlLmpvaW4oX19kaXJfXywgImZvb2Jhci5y YiIpCkZpbGUud3JpdGUoYXV0b2xvYWRfcGF0aCwgJ21vZHVsZSBGb287IGVuZDsgbW9kdWxlIEJh cjsgZW5kJykKCjEwMF8wMDAudGltZXMgZG8KCSRzdGRlcnIucHV0cyAiLS0tLS0tLS0tLS0tLS0t LS0tLS0iCglhdXRvbG9hZCA6Rm9vLCBhdXRvbG9hZF9wYXRoCglhdXRvbG9hZCA6QmFyLCBhdXRv bG9hZF9wYXRoCgoJdDEgPSBUaHJlYWQubmV3IHtGb299Cgl0MiA9IFRocmVhZC5uZXcge0Jhcn0K Cgl0MS5qb2luCgl0Mi5qb2luCgoJT2JqZWN0LnNlbmQoOnJlbW92ZV9jb25zdCwgOkZvbykKCU9i amVjdC5zZW5kKDpyZW1vdmVfY29uc3QsIDpCYXIpCgoJJExPQURFRF9GRUFUVVJFUy5kZWxldGUo YXV0b2xvYWRfcGF0aCkKZW5kCmBgYAoKRXhhbXBsZSBmYWlsdXJlIG9mIGNhc2UgKDEpOgoKYGBg Ci0tLS0tLS0tLS0tLS0tLS0tLS0tIChzdWNjZXNzKQphdXRvbG9hZF9ieV9zb21lb25lX2Vsc2Ug ZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+c3RhdGU9KG5pbCkKYXV0b2xvYWRfYnlfc29tZW9uZV9l bHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPShuaWwpCmNoZWNrX2F1dG9sb2FkX3Jl cXVpcmVkIDIKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUt PnN0YXRlPTB4N2ZkZDY3OGJlNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKYXV0b2xvYWRf Ynlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3OGJl NzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+c3Rh dGU9MHg3ZmRkNjc4YmU3ODAgPSBOVUxMCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKLS0tLS0t LS0tLS0tLS0tLS0tLS0gKGZhaWx1cmUpCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9MHg1 NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0obmlsKQphdXRvbG9hZF9ieV9zb21lb25lX2Vsc2UgZWxl PTB4NTVmMzNiNmU4ZjQwIGVsZS0+c3RhdGU9KG5pbCkKY2hlY2tfYXV0b2xvYWRfcmVxdWlyZWQg MgpjaGVja19hdXRvbG9hZF9yZXF1aXJlZCAzCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9 MHg1NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0weDdmZGQ2Nzc5ZDc4MApjaGVja19hdXRvbG9hZF9y ZXF1aXJlZCAxCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9MHg1NWYzM2I4MDZhMzAgZWxl LT5zdGF0ZT0weDdmZGQ2Nzc5ZDc4MApjaGVja19hdXRvbG9hZF9yZXF1aXJlZCAxCmVsZT0weDU1 ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3NzlkNzgwID0gTlVMTAplbGU9MHg1NWYzM2I2 ZThmNDAgZWxlLT5zdGF0ZT0weDdmZGQ2NzhiZTc4MCA9IE5VTEwKLi4vdGVzdC5yYjoxMjppbiBg am9pbic6IE5vIGxpdmUgdGhyZWFkcyBsZWZ0LiBEZWFkbG9jaz8gKGZhdGFsKQozIHRocmVhZHMs IDMgc2xlZXBzIGN1cnJlbnQ6MHgwMDAwNTVmMzNiNzcxMjUwIG1haW4gdGhyZWFkOjB4MDAwMDU1 ZjMzYjY2ZTA5MAoqICM8VGhyZWFkOjB4MDAwMDdmZGQ2YTJjYjBiMCBzbGVlcF9mb3JldmVyPgog ICByYl90aHJlYWRfdDoweDAwMDA1NWYzM2I2NmUwOTAgbmF0aXZlOjB4MDAwMDdmZGQ2YTcxYzNj MCBpbnQ6MAogICAKKiAjPFRocmVhZDoweDAwMDA3ZmRkNjc2ZTAwOTAgLi4vdGVzdC5yYjo5IHNs ZWVwX2ZvcmV2ZXI+CiAgIHJiX3RocmVhZF90OjB4MDAwMDU1ZjMzYjc3MGZmMCBuYXRpdmU6MHgw MDAwN2ZkZDY3ODllNjQwIGludDoxIG11dGV4OjB4MDAwMDU1ZjMzYjdjNTEwMCBjb25kOjEKICAg IGRlcGVuZGVkIGJ5OiB0Yl90aHJlYWRfaWQ6MHgwMDAwNTVmMzNiNjZlMDkwCiAgIAoqICM8VGhy ZWFkOjB4MDAwMDdmZGQ2NzZlMTIzOCAuLi90ZXN0LnJiOjEwIHNsZWVwX2ZvcmV2ZXI+CiAgIHJi X3RocmVhZF90OjB4MDAwMDU1ZjMzYjc3MTI1MCBuYXRpdmU6MHgwMDAwN2ZkZDY3OWJmNjQwIGlu dDowCiAgIAoKCWZyb20gLi4vdGVzdC5yYjoxMjppbiBgYmxvY2sgaW4gPG1haW4+JwoJZnJvbSAu Li90ZXN0LnJiOjQ6aW4gYHRpbWVzJwoJZnJvbSAuLi90ZXN0LnJiOjQ6aW4gYDxtYWluPicKbWFr ZTogKioqIFt1bmNvbW1vbi5tazoxMjUwOiBydW5ydWJ5XSBFcnJvciAxCmBgYAoKRXhhbXBsZSBm YWlsdXJlIG9mIGNhc2UgKDIpOgoKYGBgClsweDdmMTc1ZmU1YjBjOF0gcmJfYXV0b2xvYWRfc3Ry IG1vZD1PYmplY3QgaWQ9Rm9vIGZpbGU9Ii9ob21lL3NhbXVlbC9Qcm9qZWN0cy9pb3F1YXRpeC9y dWJ5L2Zvb2Jhci5yYiIKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9zdHIgY29uc3Rfc2V0 IG1vZD1PYmplY3QgaWQ9Rm9vIGZpbGU9Ii9ob21lL3NhbXVlbC9Qcm9qZWN0cy9pb3F1YXRpeC9y dWJ5L2Zvb2Jhci5yYiIKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9zdHIgbW9kPU9iamVj dCBpZD1CYXIgZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4L3J1YnkvZm9vYmFy LnJiIgpbMHg3ZjE3NWZlNWIwYzhdIHJiX2F1dG9sb2FkX3N0ciBjb25zdF9zZXQgbW9kPU9iamVj dCBpZD1CYXIgZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4L3J1YnkvZm9vYmFy LnJiIgpbMHg3ZjE3NWZlNjFkODhdIHJiX2NvbnN0X3NlYXJjaF9mcm9tIHZhbHVlID09IFF1bmRl ZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhdIHJiX2NvbnN0X3NlYXJjaF9mcm9tIHZh bHVlID09IFF1bmRlZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhdIEFzc2lnbmluZyBj b25zdGFudHMuLi4KWzB4N2YxNzVmZTYxZDg4XSByYl9jb25zdF9zZWFyY2hfZnJvbSB2YWx1ZSA9 PSBRdW5kZWYgLT4gYXV0b2xvYWRpbmcKWzB4N2YxNzVmZTYxZTc4XSBhdXRvbG9hZF9jb25zdF9z ZXQgbmFtZT06Rm9vIHZhbHVlPUZvbwpbMHg3ZjE3NWZlNjFlNzhdIGF1dG9sb2FkX2NvbnN0X3Nl dCBuYW1lPTpCYXIgdmFsdWU9QmFyCiM8VGhyZWFkOjB4MDAwMDdmMTc1ZmU2MWQ4OCAuLi90ZXN0 LnJiOjExIHJ1bj4gdGVybWluYXRlZCB3aXRoIGV4Y2VwdGlvbiAocmVwb3J0X29uX2V4Y2VwdGlv biBpcyB0cnVlKToKLi4vdGVzdC5yYjoxMTppbiBgYmxvY2sgKDIgbGV2ZWxzKSBpbiA8bWFpbj4n OiB1bmluaXRpYWxpemVkIGNvbnN0YW50IEJhciAoTmFtZUVycm9yKQouLi90ZXN0LnJiOjExOmlu IGBibG9jayAoMiBsZXZlbHMpIGluIDxtYWluPic6IHVuaW5pdGlhbGl6ZWQgY29uc3RhbnQgQmFy IChOYW1lRXJyb3IpCm1ha2U6ICoqKiBbdW5jb21tb24ubWs6MTI1MDogcnVucnVieV0gRXJyb3Ig MQpgYGAKClRoZXNlIGZhaWx1cmVzIGFyZSB2ZXJ5IHVuY29tbW9uIGJ1dCBpdCBkb2VzIGltcGFj dCBSdWJ5IGFzIGZhciBiYWNrIGFzIDIuNywgYW5kIHByb2JhYmx5IGVhcmxpZXIuCgotLS1GaWxl cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjAwMDEtQWRkLVJVQllfVk1fQ1JJVElD QUxfU0VDVElPTi1mb3ItZGV0ZWN0aW5nLXVuZXhwZWN0ZS5wYXRjaCAoMi4wNyBLQikKMDAwMi1Q cmV2ZW50LXJhY2UtYmV0d2Vlbi1HQy1tYXJrLWFuZC1hdXRvbG9hZC1zZXR1cC5wYXRjaCAoMS4w MSBLQikKMDAwMy1Qcm90ZWN0LXJhY2Utb24tYXV0b2xvYWQtc3RhdGUucGF0Y2ggKDEwLjYgS0Ip CjAwMDQtSW5jcmVhc2UtdGltZW91dC1mb3ItZGVidWctdGVzdHMucGF0Y2ggKDkxMCBCeXRlcykK MDAwNS1SZXZlcnQtcmVtb3ZhbC1vZi1ub24tY29uZGl0aW9uYWwteGZyZWUucGF0Y2ggKDY5MSBC eXRlcykKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==