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=-2.9 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_DNSWL_HI, 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 EFA771F4D7 for ; Sun, 15 May 2022 02:36:54 +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="MAwarymn"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id DBEA4120B21; Sun, 15 May 2022 11:36:52 +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 C2AF3120A1D for ; Sun, 15 May 2022 11:36:50 +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=RUh2dwYf+bkuM99ipXxuL4s3LXV9k83kQtiIK7IsWiE=; b=MAwarymnavB++HX/vH0i9mDudvdnZimh4t30fXcpOeOwVIl9ZLt3wzEGx7fXh5+RJeMF +XtDLhcQYlh+7XNCf3KW8lB3DEzodQunZJn8p6/aZhYvIHZ0EC+5e1mXwblGWDOm3KQbaF KbVgJRA3HL8+rOK54UnOMbhNoPMb/8aPQ= Received: by filterdrecv-77df7bffc9-mxhg9 with SMTP id filterdrecv-77df7bffc9-mxhg9-1-6280673E-10 2022-05-15 02:36:46.754936344 +0000 UTC m=+3300652.256779985 Received: from herokuapp.com (unknown) by geopod-ismtpd-2-2 (SG) with ESMTP id ffEEo14PQK6QR3EVWV80Sg for ; Sun, 15 May 2022 02:36:46.689 +0000 (UTC) Date: Sun, 15 May 2022 02:36:46 +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: 84924 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4NZ8lh9PXK46pLMytZVaMdNZq48ILKhOdys?= =?us-ascii?Q?5RiDGubfdVYH8FbivohLLnl2YIbBqgAkocRZ7PW?= =?us-ascii?Q?KBRS7dVWgKsOE1QaRI5boQOmtMaW2h6HdLa4Fza?= =?us-ascii?Q?E35dQwgQV3FGGA5aYGV4vQvG=2FdOMwvBKTTNXShv?= =?us-ascii?Q?AQRdeA9SNgSHvC73bbSnw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108555 Subject: [ruby-core:108555] [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 cykuCgoKUFI6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC81ODk4CgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTg3ODI6IFJhY2UgY29uZGl0 aW9ucyBpbiBhdXRvbG9hZCB3aGVuIGxvYWRpbmcgdGhlIHNhbWUgZmVhdHVyZSB3aXRoIG11bHRp cGxlIHRocmVhZHMuCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xODc4MiNjaGFu Z2UtOTc1OTUKCiogQXV0aG9yOiBpb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czog T3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBCYWNrcG9ydDogMi43OiBVTktOT1dOLCAzLjA6IFVO S05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCkkgaGF2ZSBpZGVudGlmaWVkIHNldmVyYWwgcmFjZSBjb25kaXRpb25zIGluIHRoZSBhdXRv bG9hZCBjb2RlLgoKMS4gSXQncyBwb3NzaWJsZSB0byByYWNlIG9uIGFkZGluZyBhbmQgdGhlbiBk ZWxldGluZyBpdGVtcyBpbiBgYXV0b2xvYWRfZmVhdHVyZW1hcGAuIFdoZW4gdGhpcyBoYXBwZW5z LCB0d28gdGhyZWFkcyB3aWxsIHRyeSB0byBsb2FkIHRoZSBzYW1lIGZpbGUgd2l0aCBkaWZmZXJl bnQgYXV0b2xvYWQgZGF0YSBhbmQgZGVhZGxvY2suCjIuIFdoZW4gZmluaXNoaW5nIGF1dG9sb2Fk LCBpdCdzIG5lY2Vzc2FyeSB0byBjbGVhciBgZWxlLT5zdGF0ZWAgYmVmb3JlIHNldHRpbmcgY29u c3RhbnRzLiBJZiB0aGlzIGlzIG5vdCBzeW5jaHJvbmlzZWQsIGEgdGhyZWFkIGNhbiBzZWUgdGhl IGNsZWFyZWQgYGVsZS0+c3RhdGVgIGJlZm9yZSBzZWVpbmcgdGhlIGNvbnN0YW50cyBhbmQgYXNz dW1lIHRoZSBjb25zdGFudCBpcyBub3QgYmVpbmcgYXV0b2xvYWRlZCBhbmQgdGhlbiBmYWlsIHdp dGggYE5hbWVFcnJvcmAuCgpUaGlzIHRlc3QgY2FzZSBjYW4gcmVwcm9kdWNlIGJvdGggY2FzZXM6 CgpgYGAKIyB0ZXN0LnJiCmF1dG9sb2FkX3BhdGggPSBGaWxlLmpvaW4oX19kaXJfXywgImZvb2Jh ci5yYiIpCkZpbGUud3JpdGUoYXV0b2xvYWRfcGF0aCwgJ21vZHVsZSBGb287IGVuZDsgbW9kdWxl IEJhcjsgZW5kJykKCjEwMF8wMDAudGltZXMgZG8KCSRzdGRlcnIucHV0cyAiLS0tLS0tLS0tLS0t LS0tLS0tLS0iCglhdXRvbG9hZCA6Rm9vLCBhdXRvbG9hZF9wYXRoCglhdXRvbG9hZCA6QmFyLCBh dXRvbG9hZF9wYXRoCgoJdDEgPSBUaHJlYWQubmV3IHtGb299Cgl0MiA9IFRocmVhZC5uZXcge0Jh cn0KCgl0MS5qb2luCgl0Mi5qb2luCgoJT2JqZWN0LnNlbmQoOnJlbW92ZV9jb25zdCwgOkZvbykK CU9iamVjdC5zZW5kKDpyZW1vdmVfY29uc3QsIDpCYXIpCgoJJExPQURFRF9GRUFUVVJFUy5kZWxl dGUoYXV0b2xvYWRfcGF0aCkKZW5kCmBgYAoKRXhhbXBsZSBmYWlsdXJlIG9mIGNhc2UgKDEpOgoK YGBgCi0tLS0tLS0tLS0tLS0tLS0tLS0tIChzdWNjZXNzKQphdXRvbG9hZF9ieV9zb21lb25lX2Vs c2UgZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+c3RhdGU9KG5pbCkKYXV0b2xvYWRfYnlfc29tZW9u ZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPShuaWwpCmNoZWNrX2F1dG9sb2Fk X3JlcXVpcmVkIDIKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBl bGUtPnN0YXRlPTB4N2ZkZDY3OGJlNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKYXV0b2xv YWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3 OGJlNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+ c3RhdGU9MHg3ZmRkNjc4YmU3ODAgPSBOVUxMCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDQKLS0t LS0tLS0tLS0tLS0tLS0tLS0gKGZhaWx1cmUpCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9 MHg1NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0obmlsKQphdXRvbG9hZF9ieV9zb21lb25lX2Vsc2Ug ZWxlPTB4NTVmMzNiNmU4ZjQwIGVsZS0+c3RhdGU9KG5pbCkKY2hlY2tfYXV0b2xvYWRfcmVxdWly ZWQgMgpjaGVja19hdXRvbG9hZF9yZXF1aXJlZCAzCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBl bGU9MHg1NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0weDdmZGQ2Nzc5ZDc4MApjaGVja19hdXRvbG9h ZF9yZXF1aXJlZCAxCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9MHg1NWYzM2I4MDZhMzAg ZWxlLT5zdGF0ZT0weDdmZGQ2Nzc5ZDc4MApjaGVja19hdXRvbG9hZF9yZXF1aXJlZCAxCmVsZT0w eDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3NzlkNzgwID0gTlVMTAplbGU9MHg1NWYz M2I2ZThmNDAgZWxlLT5zdGF0ZT0weDdmZGQ2NzhiZTc4MCA9IE5VTEwKLi4vdGVzdC5yYjoxMjpp biBgam9pbic6IE5vIGxpdmUgdGhyZWFkcyBsZWZ0LiBEZWFkbG9jaz8gKGZhdGFsKQozIHRocmVh ZHMsIDMgc2xlZXBzIGN1cnJlbnQ6MHgwMDAwNTVmMzNiNzcxMjUwIG1haW4gdGhyZWFkOjB4MDAw MDU1ZjMzYjY2ZTA5MAoqICM8VGhyZWFkOjB4MDAwMDdmZGQ2YTJjYjBiMCBzbGVlcF9mb3JldmVy PgogICByYl90aHJlYWRfdDoweDAwMDA1NWYzM2I2NmUwOTAgbmF0aXZlOjB4MDAwMDdmZGQ2YTcx YzNjMCBpbnQ6MAogICAKKiAjPFRocmVhZDoweDAwMDA3ZmRkNjc2ZTAwOTAgLi4vdGVzdC5yYjo5 IHNsZWVwX2ZvcmV2ZXI+CiAgIHJiX3RocmVhZF90OjB4MDAwMDU1ZjMzYjc3MGZmMCBuYXRpdmU6 MHgwMDAwN2ZkZDY3ODllNjQwIGludDoxIG11dGV4OjB4MDAwMDU1ZjMzYjdjNTEwMCBjb25kOjEK ICAgIGRlcGVuZGVkIGJ5OiB0Yl90aHJlYWRfaWQ6MHgwMDAwNTVmMzNiNjZlMDkwCiAgIAoqICM8 VGhyZWFkOjB4MDAwMDdmZGQ2NzZlMTIzOCAuLi90ZXN0LnJiOjEwIHNsZWVwX2ZvcmV2ZXI+CiAg IHJiX3RocmVhZF90OjB4MDAwMDU1ZjMzYjc3MTI1MCBuYXRpdmU6MHgwMDAwN2ZkZDY3OWJmNjQw IGludDowCiAgIAoKCWZyb20gLi4vdGVzdC5yYjoxMjppbiBgYmxvY2sgaW4gPG1haW4+JwoJZnJv bSAuLi90ZXN0LnJiOjQ6aW4gYHRpbWVzJwoJZnJvbSAuLi90ZXN0LnJiOjQ6aW4gYDxtYWluPicK bWFrZTogKioqIFt1bmNvbW1vbi5tazoxMjUwOiBydW5ydWJ5XSBFcnJvciAxCmBgYAoKRXhhbXBs ZSBmYWlsdXJlIG9mIGNhc2UgKDIpOgoKYGBgClsweDdmMTc1ZmU1YjBjOF0gcmJfYXV0b2xvYWRf c3RyIG1vZD1PYmplY3QgaWQ9Rm9vIGZpbGU9Ii9ob21lL3NhbXVlbC9Qcm9qZWN0cy9pb3F1YXRp eC9ydWJ5L2Zvb2Jhci5yYiIKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9zdHIgY29uc3Rf c2V0IG1vZD1PYmplY3QgaWQ9Rm9vIGZpbGU9Ii9ob21lL3NhbXVlbC9Qcm9qZWN0cy9pb3F1YXRp eC9ydWJ5L2Zvb2Jhci5yYiIKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9zdHIgbW9kPU9i amVjdCBpZD1CYXIgZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4L3J1YnkvZm9v YmFyLnJiIgpbMHg3ZjE3NWZlNWIwYzhdIHJiX2F1dG9sb2FkX3N0ciBjb25zdF9zZXQgbW9kPU9i amVjdCBpZD1CYXIgZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4L3J1YnkvZm9v YmFyLnJiIgpbMHg3ZjE3NWZlNjFkODhdIHJiX2NvbnN0X3NlYXJjaF9mcm9tIHZhbHVlID09IFF1 bmRlZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhdIHJiX2NvbnN0X3NlYXJjaF9mcm9t IHZhbHVlID09IFF1bmRlZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhdIEFzc2lnbmlu ZyBjb25zdGFudHMuLi4KWzB4N2YxNzVmZTYxZDg4XSByYl9jb25zdF9zZWFyY2hfZnJvbSB2YWx1 ZSA9PSBRdW5kZWYgLT4gYXV0b2xvYWRpbmcKWzB4N2YxNzVmZTYxZTc4XSBhdXRvbG9hZF9jb25z dF9zZXQgbmFtZT06Rm9vIHZhbHVlPUZvbwpbMHg3ZjE3NWZlNjFlNzhdIGF1dG9sb2FkX2NvbnN0 X3NldCBuYW1lPTpCYXIgdmFsdWU9QmFyCiM8VGhyZWFkOjB4MDAwMDdmMTc1ZmU2MWQ4OCAuLi90 ZXN0LnJiOjExIHJ1bj4gdGVybWluYXRlZCB3aXRoIGV4Y2VwdGlvbiAocmVwb3J0X29uX2V4Y2Vw dGlvbiBpcyB0cnVlKToKLi4vdGVzdC5yYjoxMTppbiBgYmxvY2sgKDIgbGV2ZWxzKSBpbiA8bWFp bj4nOiB1bmluaXRpYWxpemVkIGNvbnN0YW50IEJhciAoTmFtZUVycm9yKQouLi90ZXN0LnJiOjEx OmluIGBibG9jayAoMiBsZXZlbHMpIGluIDxtYWluPic6IHVuaW5pdGlhbGl6ZWQgY29uc3RhbnQg QmFyIChOYW1lRXJyb3IpCm1ha2U6ICoqKiBbdW5jb21tb24ubWs6MTI1MDogcnVucnVieV0gRXJy b3IgMQpgYGAKClRoZXNlIGZhaWx1cmVzIGFyZSB2ZXJ5IHVuY29tbW9uIGJ1dCBpdCBkb2VzIGlt cGFjdCBSdWJ5IGFzIGZhciBiYWNrIGFzIDIuNywgYW5kIHByb2JhYmx5IGVhcmxpZXIuCgotLS1G aWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjAwMDEtQWRkLVJVQllfVk1fQ1JJ VElDQUxfU0VDVElPTi1mb3ItZGV0ZWN0aW5nLXVuZXhwZWN0ZS5wYXRjaCAoMi4wNyBLQikKMDAw Mi1QcmV2ZW50LXJhY2UtYmV0d2Vlbi1HQy1tYXJrLWFuZC1hdXRvbG9hZC1zZXR1cC5wYXRjaCAo MS4wMSBLQikKMDAwMy1Qcm90ZWN0LXJhY2Utb24tYXV0b2xvYWQtc3RhdGUucGF0Y2ggKDEwLjYg S0IpCjAwMDQtSW5jcmVhc2UtdGltZW91dC1mb3ItZGVidWctdGVzdHMucGF0Y2ggKDkxMCBCeXRl cykKMDAwNS1SZXZlcnQtcmVtb3ZhbC1vZi1ub24tY29uZGl0aW9uYWwteGZyZWUucGF0Y2ggKDY5 MSBCeXRlcykKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==