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-Status: No, score=-3.0 required=3.0 tests=AWL,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=ham 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 AC7271F5AE for ; Wed, 15 Jul 2020 19:35:59 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 8BB2A120A4B; Thu, 16 Jul 2020 04:35:24 +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 E21A1120A48 for ; Thu, 16 Jul 2020 04:35:22 +0900 (JST) Received: by filterdrecv-p3mdw1-75c584b9c6-jl2gb with SMTP id filterdrecv-p3mdw1-75c584b9c6-jl2gb-19-5F0F5A95-2C 2020-07-15 19:35:49.513758408 +0000 UTC m=+1650379.513319561 Received: from herokuapp.com (unknown) by geopod-ismtpd-4-0 (SG) with ESMTP id iUkAnb1uTsmsFr0_vB8rNw for ; Wed, 15 Jul 2020 19:35:49.439 +0000 (UTC) Date: Wed, 15 Jul 2020 19:35:49 +0000 (UTC) From: larskanis@gmail.com Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 74973 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 17023 X-Redmine-Issue-Author: larskanis X-Redmine-Issue-Assignee: tenderlovemaking X-Redmine-Sender: larskanis 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-SG-EID: =?us-ascii?Q?+E+TGAYxgAqNvT2Hc3jgthCyK1YJRpYNPBZWWqZMzpWBePGJOD6L3Aw6J6lpmv?= =?us-ascii?Q?Lvv+nfThKAHucz9cI3IJJxgJAtA37Msrue0dCjb?= =?us-ascii?Q?WmZdfoqiU8R7x7uhlpGEcex2DLBl51KBVg6F1Z9?= =?us-ascii?Q?1cu6XqVJb1hGU45yAPDit8fosjIVKJzIddZeIgF?= =?us-ascii?Q?IrJRE7Ixn9GvEfuh2zZX1nrNaqi36UBqq25NKU2?= =?us-ascii?Q?G+amhfz9A+23m7chU=3D?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 99183 Subject: [ruby-core:99183] [Ruby master Bug#17023] How to prevent String memory to be relocated in ruby-ffi X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE3MDIzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbGFyc2thbmlzIChMYXJzIEthbmlzKS4N Cg0KDQpUaGFuayB5b3UgQWFyb24gZm9yIGxvb2tpbmcgaW50byB0aGlzISBUaGUgcGF0Y2ggYXZv aWRzIHRoYXQgdGhlIHBhcnRpY3VsYXIgc3RyaW5nIGlzIHJlbG9jYXRlZCwgYnV0IHVuZm9ydHVu YXRlbHkgdGhlIHBhdGNoIGlzIG5vdCBzdWZmaWNpZW50IHRvIGF2b2lkIHJlbG9jYXRpb24gb2Yg YW55IHN0cmluZ3MgZ2l2ZW4gdG8gRkZJLiBBIHNsaWdodGx5IG1vZGlmaWVkIHZlcnNpb24gb2Yg dGhlIHNjcmlwdCBmYWlscyBvbiBydWJ5LTIuNyBhbmQgb24gbWFzdGVyOg0KDQpgYGBydWJ5DQpG aWxlLndyaXRlICJzdHJpbmctcmVsb2NhdGUuYyIsIDw8LUVPQw0KICBzdGF0aWMgY2hhciAqZ19z dHI7DQoNCiAgdm9pZCBzZXQoY2hhciogc3RyKSB7DQogICAgZ19zdHIgPSBzdHI7DQogIH0NCg0K ICBjaGFyKiBnZXQoKSB7DQogICAgcmV0dXJuIGdfc3RyOw0KICB9DQpFT0MNCnN5c3RlbSAiZ2Nj IC1zaGFyZWQgLWZQSUMgc3RyaW5nLXJlbG9jYXRlLmMgLW8gc3RyaW5nLXJlbG9jYXRlLnNvIg0K DQpyZXF1aXJlICdmZmknDQoNCmNsYXNzIEZvbw0KICBleHRlbmQgRkZJOjpMaWJyYXJ5DQogIGZm aV9saWIgRmlsZS5leHBhbmRfcGF0aCgnc3RyaW5nLXJlbG9jYXRlLnNvJykNCg0KICBhdHRhY2hf ZnVuY3Rpb24gOnNldCwgWzpzdHJpbmddLCA6dm9pZA0KICBhdHRhY2hfZnVuY3Rpb24gOmdldCwg W10sIDpzdHJpbmcNCg0KICBBID0gIiINCg0KICBkZWYgaW5pdGlhbGl6ZShjb3VudCkNCiAgICBB LnJlcGxhY2UgImEiICogY291bnQNCg0KICAgIHNldChBKQ0KDQogICAgR0MudmVyaWZ5X2NvbXBh Y3Rpb25fcmVmZXJlbmNlcyh0b3dhcmQ6IDplbXB0eSwgZG91YmxlX2hlYXA6IHRydWUpDQoNCiAg ICBwdXRzICJnZXQoI3tjb3VudH0pOiAje2dldH0gKHNob3VsZCBiZTogI3tBfSkiDQogIGVuZA0K ZW5kDQoNCkZvby5uZXcoMjMpDQpGb28ubmV3KDI0KQ0KYGBgDQoNClRoZSBvdXRwdXQgaXMgc29t ZXRoaW5nIGxpa2U6DQpgYGANCmdldCgyMyk6IGg477+9VSAoc2hvdWxkIGJlOiBhYWFhYWFhYWFh YWFhYWFhYWFhYWFhYSkNCmdldCgyNCk6IGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAoc2hvdWxk IGJlOiBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEpDQpgYGANCg0KSW4gZmFjdCB3ZSByZWNvbW1l bmQgdXNpbmcgYSBjb25zdGFudCBmb3IgdGhpcyBraW5kIG9mIHVzYWdlIHNpbmNlIHllYXJzOiBo dHRwczovL2dpdGh1Yi5jb20vZmZpL2ZmaS93aWtpL0NvcmUtQ29uY2VwdHMjc3RyaW5nLW1lbW9y eS1hbGxvY2F0aW9uDQoNCkkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgYSBnZW5lcmljIHdheSB0byBm aXggdGhpcyBpc3N1ZSBvdGhlciB0aGFuIHBpbm5pbmcgYWxsIHN0cmluZ3Mgb24gYFJTVFJJTkdf UFRSKClgIHVzYWdlLiBIb3dldmVyIGBSU1RSSU5HX1BUUigpYCB3b3VsZCBiZSBtYXNzaXZlIG92 ZXItcGlubmluZywgc2luY2UgdGhlIHBvaW50ZXIgaXMgbW9zdCBvZnRlbiB1c2VkIG9ubHkgZm9y IGEgdmVyeSBzaG9ydCB0aW1lIGZyYW1lIGFuZCB0aGUgc3RyaW5nIGlzIG1vdmFibGUgYWdhaW4g YWZ0ZXJ3YXJkcy4NCg0KU28gYWN0dWFsbHkgSSB3YXMgbG9va2luZyBmb3Igc29tZXRoaW5nIGxp a2UgYHJiX29ial9tYXJrX3VubW92YWJsZSgpYCB0byBwaW4gdGhlIHN0cmluZy4gRkZJIGNvdWxk IGNhbGwgdGhpcyBmdW5jdGlvbiBvbiBhbGwgc3RyaW5nIHBvaW50ZXJzIHBhc3NlZCB0byBDLiBJ biBGRkkgd2UgZG9uJ3Qga25vdyBob3cgbG9uZyB0aGUgc3RyaW5nIHBvaW50ZXIgaXMgaW4gdXNl IGluIHRoZSBDIGxpYnJhcnksIHNvIHRoYXQgbWFya2luZyBhbGwgYXJndW1lbnQgc3RyaW5ncyBh cyB1bm1vdmFibGUgaXMgb3Zlci1waW5uaW5nIGFzIHdlbGwuIEJ1dCBmb3Igc3VyZSB0aGlzIHdv dWxkIHBpbiB3YXkgbGVzcyBzdHJpbmdzIHRoYW4gYFJTVFJJTkdfUFRSKClgLg0KDQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkJ1ZyAjMTcwMjM6IEhvdyB0byBw cmV2ZW50IFN0cmluZyBtZW1vcnkgdG8gYmUgcmVsb2NhdGVkIGluIHJ1YnktZmZpDQpodHRwczov L2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTcwMjMjY2hhbmdlLTg2NTYyDQoNCiogQXV0aG9y OiBsYXJza2FuaXMgKExhcnMgS2FuaXMpDQoqIFN0YXR1czogQ2xvc2VkDQoqIFByaW9yaXR5OiBO b3JtYWwNCiogQXNzaWduZWU6IHRlbmRlcmxvdmVtYWtpbmcgKEFhcm9uIFBhdHRlcnNvbikNCiog cnVieSAtdjogcnVieSAyLjcuMXA4MyAoMjAyMC0wMy0zMSByZXZpc2lvbiBhMGM3YzIzYzljKSBb eDg2XzY0LWxpbnV4XQ0KKiBCYWNrcG9ydDogMi41OiBET05UTkVFRCwgMi42OiBET05UTkVFRCwg Mi43OiBSRVFVSVJFRA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K W3J1YnktZmZpXShodHRwczovL2dpdGh1Yi5jb20vZmZpL2ZmaSkgYWxsb3dzIHRvIHBhc3MgU3Ry aW5nIG9iamVjdHMgdG8gQyBieSB1c2luZyB0aGUgYDpzdHJpbmdgIGFyZ3VtZW50IHR5cGUuIFRo aXMgd2F5IHRoZSBzdHJpbmcgbWVtb3J5IHJldHVybmVkIGJ5IGBSU1RSSU5HX1BUUmAgaXMgcGFz c2VkIHRvIHRoZSBDIGZ1bmN0aW9uLiBUaGUgdXNlciBoYXMgdG8gZW5zdXJlIG9uIFJ1YnkgbGV2 ZWwgdGhhdCB0aGUgc3RyaW5nIGlzbid0IEdDJ2VkIC0gYXMgbG9uZyBhcyBpdCBpcyB1c2VkIG9u IEMgbGV2ZWwuIFRoYXQncyB0aGUgY29udHJhY3QgYW5kIHRoaXMgd29ya2VkIHdpdGggYWxsIHBh c3QgcnVieSB2ZXJzaW9ucywgYnV0IHJ1YnktMi43IGludHJvZHVjZWQgYEdDLmNvbXBhY3RgLCB3 aGljaCBjYW4gcmVsb2NhdGUgc3RyaW5ncyB0byBhbm90aGVyIG1lbW9yeSBsb2NhdGlvbi4NCg0K VGhpcyBleGFtcGxlIHNob3dzIHRoZSBzaXR1YXRpb24gYW5kIHRoYXQgdGhlIHN0cmluZyBpcyBy ZWxvY2F0ZWQgYWx0aG91Z2ggaXQgaXMgc3RpbGwgcmVmZXJlbmNlZCBpbiBydWJ5IGNvZGU6DQpg YGBydWJ5DQpGaWxlLndyaXRlICJzdHJpbmctcmVsb2NhdGUuYyIsIDw8LUVPQw0KICBzdGF0aWMg Y2hhciAqZ19zdHI7DQoNCiAgdm9pZCBzZXQoY2hhciogc3RyKSB7DQogICAgZ19zdHIgPSBzdHI7 DQogIH0NCg0KICBjaGFyKiBnZXQoKSB7DQogICAgcmV0dXJuIGdfc3RyOw0KICB9DQpFT0MNCnN5 c3RlbSAiZ2NjIC1zaGFyZWQgLWZQSUMgc3RyaW5nLXJlbG9jYXRlLmMgLW8gc3RyaW5nLXJlbG9j YXRlLnNvIg0KDQpyZXF1aXJlICdmZmknDQoNCmNsYXNzIEZvbw0KICBleHRlbmQgRkZJOjpMaWJy YXJ5DQogIGZmaV9saWIgRmlsZS5leHBhbmRfcGF0aCgnc3RyaW5nLXJlbG9jYXRlLnNvJykNCg0K ICBhdHRhY2hfZnVuY3Rpb24gOnNldCwgWzpzdHJpbmddLCA6dm9pZA0KICBhdHRhY2hfZnVuY3Rp b24gOmdldCwgW10sIDpzdHJpbmcNCg0KICBkZWYgaW5pdGlhbGl6ZShjb3VudCkNCiAgICBwcm9j IHt9ICMgbmVjZXNzYXJ5IHRvIHRyaWdnZXIgcmVsb2NhdGlvbg0KICAgIGEgPSAiYSIgKiBjb3Vu dA0KICAgIHNldChhKQ0KDQogICAgR0MudmVyaWZ5X2NvbXBhY3Rpb25fcmVmZXJlbmNlcyh0b3dh cmQ6IDplbXB0eSwgZG91YmxlX2hlYXA6IHRydWUpDQoNCiAgICBwdXRzICJnZXQoI3tjb3VudH0p OiAje2dldH0gKHNob3VsZCBiZTogI3thfSkiDQogIGVuZA0KZW5kDQoNCkZvby5uZXcoMjMpDQpG b28ubmV3KDI0KQ0KYGBgDQoNClRoZSBvdXRwdXQgbG9va3MgbGlrZSBzbyBvbiBydWJ5LTIuNy4x Og0KYGBgDQpnZXQoMjMpOiAgKHNob3VsZCBiZTogYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEpDQpn ZXQoMjQpOiBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEgKHNob3VsZCBiZTogYWFhYWFhYWFhYWFh YWFhYWFhYWFhYWFhKQ0KYGBgDQoNClNvIHVzaW5nIGBHQy5jb21wYWN0YCB3aGlsZSBhIHN0cmlu ZyBwYXJhbWV0ZXIgaXMgaW4gdXNlLCBib3RoIG9uIFJ1YnkgYW5kIG9uIEMgbGV2ZWwsIGNhbiBj YXVzZSBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MuIEhvdyBjYW4gdGhpcyBwcmV2ZW50ZWQ/DQoNCkEg QyBleHRlbnNpb24gaXMgZXhwZWN0ZWQgdG8gdXNlIGByYl9nY19tYXJrKClgIGluIG9yZGVyIHRv IHBpbiB0aGUgVkFMVUUgdG8gYSBtZW1vcnkgbG9jYXRpb24uIEJ1dCBJIGNvdWxkbid0IGZpbmQg YSB3YXkgdG8gcGluIGEgYFZBTFVFYCBhdCB0aGUgdGltZSB0aGUgYXJndW1lbnQgaXMgcGFzc2Vk IHRvIHRoZSBDIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGUgb25seSBwb2ludCBpbiB0aW1lIHJ1Ynkt ZmZpIGhhcyBhY2Nlc3MgdG8gaXQuDQoNCg0KLS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0Kc3RyaW5nLXJlbG9jYXRlLnJiICg2NTMgQnl0ZXMpDQowMDAxLU9ubHktbWFy a2VkLW9iamVjdHMtc2hvdWxkLWJlLWNvbnNpZGVyZWQtbW92YWJsZS5wYXRjaCAoMS4yMyBLQikN Cg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0K