From patchwork Tue Apr 10 20:52:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 26678 Received: (qmail 104159 invoked by alias); 10 Apr 2018 20:52:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 104147 invoked by uid 89); 10 Apr 2018 20:52:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 10 Apr 2018 20:52:37 +0000 Received: from ESESSHC021.ericsson.se (Unknown_Domain [153.88.183.81]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id D8.D1.24098.3142DCA5; Tue, 10 Apr 2018 22:52:35 +0200 (CEST) Received: from ESESSMB501.ericsson.se (153.88.183.162) by ESESSHC021.ericsson.se (153.88.183.81) with Microsoft SMTP Server (TLS) id 14.3.382.0; Tue, 10 Apr 2018 22:52:34 +0200 Received: from ESESSMB504.ericsson.se (153.88.183.165) by ESESSMB501.ericsson.se (153.88.183.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Tue, 10 Apr 2018 22:52:34 +0200 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB504.ericsson.se (153.88.183.165) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26 via Frontend Transport; Tue, 10 Apr 2018 22:52:34 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.61.222] (192.75.88.130) by DM5PR1501MB2008.namprd15.prod.outlook.com (2603:10b6:4:a1::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.653.12; Tue, 10 Apr 2018 20:52:28 +0000 Subject: Re: Regression with -D_GLIBCXX_DEBUG [Re: [PATCH 1/5] Make delim_string_to_char_ptr_vec return an std::vector] To: Jan Kratochvil CC: Simon Marchi , References: <20180225163247.20157-1-simon.marchi@polymtl.ca> <20180410195811.GA16998@host1.jankratochvil.net> <3c9ea505-10a0-766f-a152-c206c500868e@ericsson.com> <20180410203942.GA4613@host1.jankratochvil.net> From: Simon Marchi Message-ID: <521d0a15-f9de-82ee-5261-867050ce8fde@ericsson.com> Date: Tue, 10 Apr 2018 16:52:19 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180410203942.GA4613@host1.jankratochvil.net> X-ClientProxiedBy: BN6PR03CA0059.namprd03.prod.outlook.com (2603:10b6:404:4c::21) To DM5PR1501MB2008.namprd15.prod.outlook.com (2603:10b6:4:a1::38) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM5PR1501MB2008; X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2008; 3:Q06jrlt/+69ardtcxsoOcgMHzGDLL1B+Ifi06y4WjIMKPJu+neaNROapTEMfHATv5/1MgUZmrHbFELTFoG6456dFQcyULqllc9yTXEnB3ml3adgT53GwTbHskd+KArV77yiXU3P+AmRHChZtNRnWjs/FApEvsUun7alK6gFij8m4QK8tI86YcWVuPJJWCP0ymakCLEorzmr5mOjzh7BApzZXUZdRDn2NcqW4YgymWYCOnDOTXGboRvoY1C0ujZXk; 25:PxOOm5AgWEa/WWokarSWLeKay108KKkoVOdcE30ZX6zYmw9pFPJgoX7PEY/0QVhtQv8O72lZ+BHT60hjfuWPu7t1BUAr/IjXOPWCHsWtQXcbcd3jkeEHuX5WDD69HKmvSArfpnLlMlLRU1jnAziDM+gbRdSW18xRUXR8HgDwmv04Q0kzzMNHteWMbzQyq3KEQ4rieJDksX7s/2EyCgeAlcxUIkzweAaQOoIeL3gJQn78XZUeh+MxAbFRTQbIIawsO3ZLui877dJizJIQ6HUCc9b/gNrlaDohWJJvwtmWwPpYkee4gcZZiD9A232pzvZhxxdWc39pZD6iD/GAa/NVMg==; 31:dAmVQ+4QerQ+pj/hrOyL2eZZiGzCfSZw57a9WFZleiHimt+yQShvX4wfR8Ju18zZSrysllbUmfbiDxkQbvjVZAgUZHR9iD9cw/4q5Rw6k8GTsaJoQyFfQQ4d9FJKX9BineUA+Pe/OuQGDQHunCGFzYFuew+2MRzwJQfnZlr70rjgPG8/aRxpFyTbgj/GOur/PlKtKnJYIi2+M2Rttjwx0RJOkck01LD+UEpxNv72s4M= X-MS-TrafficTypeDiagnostic: DM5PR1501MB2008: X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2008; 20:VdFnVV/P6abDzvVkxFA/6IaJ4208f9w27160m6Ouv2YUVGyY2yKQomtp8KmILIh1PqKxSzGn43S6a08HlL2an8def57++8c2YTQMpzzWkxiAf8X6VrADseyH9hMF8bo66syx92jKPxnR67NmA2xCCIxg/dwAY6XA6s4XGjO91Fe2+kHhke4L0lSYm/4nUdG80y+Av9sJKbfnvZGBKEEOvLsBo3hD+gaxl2wUJQdEUBraIOqf/rL7UmAlSqfEu4GMkqiwHZmlgurnJQTAUZ82DzLyRmHbf88EcrT0KDQfWZFAP8klmBhJEbAsohD7ADK5PEBNNatCHg/JTZfBfYVFHpdV8NIPJ9FNGMzD+50sQpYyej8OLlYIvYelQk/Qsw7UZxZ4UG0QcUbdQIqO81lQngs2iZ0lA+pgyQ83s/T9/eIyVUOPVgaVhHk4EYbfReHKShcY5Da0M2BnCf/UtwqujXP/tfF7LgHMqQlfS9YXXT77oeKoFYZnjuGXzI9Q2zIo; 4:uiSItMZcuhjQw9+oSNmWkpjnu6h1YL+KBNGQTRYaYJKGz5dmnznlNZHQQsaFEtpRl9brI8pTr/i0Znv/hUmGY16A/9lAIYBj8OH6nWI1ITt3y58dbpozSag6M0TsYgUiqsClURxijJKtLiY/QB8V20KdM41o+1pfao4EFyccMeQ/jaqxNaqEY96Zj/2lBu4MVYw5xL3Ub/WOsZWb51OrFrhLQICvD5MiDlmy1aK9iCiGMSyJ5zBHnRHg9C3JQc54PGU76ESe0VIhizBueMM7ECAS1eEMS6OvKZK+qCNc7yUJh4LHh3M4w5hM3brN4rh0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231221)(944501327)(52105095)(10201501046)(3002001)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DM5PR1501MB2008; BCL:0; PCL:0; RULEID:; SRVR:DM5PR1501MB2008; X-Forefront-PRVS: 0638FD5066 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39830400003)(376002)(366004)(396003)(39380400002)(346002)(54534003)(199004)(189003)(377424004)(65956001)(105586002)(47776003)(66066001)(6486002)(486006)(478600001)(476003)(6916009)(6666003)(97736004)(25786009)(7736002)(305945005)(229853002)(53546011)(68736007)(52116002)(6116002)(5660300001)(3846002)(2616005)(6246003)(956004)(575784001)(81156014)(106356001)(81166006)(52146003)(186003)(65806001)(64126003)(8676002)(16576012)(58126008)(50466002)(86362001)(4326008)(11346002)(446003)(2486003)(31686004)(386003)(93886005)(76176011)(23676004)(26005)(36756003)(53936002)(2906002)(31696002)(49976009)(230700001)(316002)(8936002)(59450400001)(65826007)(16526019)(78286006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR1501MB2008; H:[142.133.61.222]; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjE1MDFNQjIwMDg7MjM6YVZaMml4aVptVjBxK3UzQTcySFdpdFRk?= =?utf-8?B?bDJxaDlzSzRNQW43SGZqY0JOM3ZwcmFHRjJ3LzJNTmhPcERpL0tXYlQ2cTVq?= =?utf-8?B?dkRwQ3FJamRtT1ZUY0Q4RlFlUEFwanozb25XbkR6YkJrZVk5ak45M1FMaFMy?= =?utf-8?B?UmpWdE5Ea2NmSXBSR0R4ZnlZWFluZXpHK3JKNnVzTGpwMmNqMmJmN1pwVEFy?= =?utf-8?B?VWlCVDF6RGhPUXlYN2hBdWtVUy9jd0Fob3pFaXg1TkhxNHFJZDhTK0Z2UFRL?= =?utf-8?B?eEJqUTVNSnFFVTJ3bThiYW9NUVdldjJxS2JwU05JQi9Za2NxWEVESnZwMWpS?= =?utf-8?B?Sm9ER0xCUVVYbDVBb3lTUXQvMGZwQTg5YUNWd3BOZkZQTmVWQnh1VkVYNHdk?= =?utf-8?B?RUdHUFVuU0ljbmRIb3ZXUER1a3pnUStjSm9pYXN4bXhpeEQvYjh2dlA0WDhI?= =?utf-8?B?eGwrNVdoenBaOXEzR1cvbmpDYjJXTUZSL1RoYjJDdUJxRU92b0k4UkF5bGFV?= =?utf-8?B?aE9ibEVHZWJyeXZ5VzRkUUJLbThYaFQ5WE5IcXhLT2RPdm9od1dBanZGcGNu?= =?utf-8?B?UU56SzFreWt4TXlrVFRZOUJMcTRYWXNJVnA1L2p2ZDZwdXkwdW9yR1BBTHVM?= =?utf-8?B?WkxBdmJSbVd0dWNoWEZ5REFiTk1qK3pjRHgvK25XRCtXeG4zWml5VVBiRWlH?= =?utf-8?B?RWxva3RJOWpsNFFBMGFsRmZ4akZnZnErR3Z3MklXMklmSkgyOHNOcDF6UTdr?= =?utf-8?B?aXVJNEhRMm55RXdtM1pyRjdra3NEbG84dFI3YlB5L211dk1xZDU0Zmh3YTcy?= =?utf-8?B?cFlTeUd4WjdrcURTTXk4eXpyZ21DRlNldzFhWDNqbURxdGVCQldCbTJiSVMx?= =?utf-8?B?WiszTGsxUU5EdHZGMHNEZFVUMHdodndjVTdKRisvSGFJa2hVeGwvVkllUk1E?= =?utf-8?B?cnFDRmJWTEtWaDc1cVNUSTY4bnRnSnk1ZUQyZWVrQ1E3ZWNqSXNDMmlJUDBp?= =?utf-8?B?K3N0WVltVWN4aVQ2TGcyTUREbGxvQS9oUHJ2UTRTTTBCa2VSVlpBUWY5a2hy?= =?utf-8?B?ZURMZERiUjUwQkF1OVd5YmZXcStqZDRjSXg1Rm1PODE4aEJsalVwWkVUeHhj?= =?utf-8?B?NVpleVNNOWpJSUJwWklMQ0NReitpVlFyamNuSVBPdkt4OVRoOGZjcmRJQVlR?= =?utf-8?B?V2FCazQ0OVRWTmJUQXNiUnZPSS8yeXR4LzJJTVAzR1ZzOTZnTDR4MXU0Mm9T?= =?utf-8?B?eWs5Z253YVA0K01FNVJ4cmVZWDZ1K2VYeFArK2htc0U2Ry82aHM5OUNoNUpx?= =?utf-8?B?RDM1bW1ZNkFSRk1lWW9INWVPWEUyTmtpdTFCMkdWSWVmb3FncVJVVU1vRUZV?= =?utf-8?B?Y1JqV0NONE1IYWtacWtoWkMwOUJ0dEcyOVgxYTlobFQ4V0FiRmJnR0Z3MUJh?= =?utf-8?B?anhwbUlERUEweHJiTzQ1emdON05UUW12c1lyQmJhWjVUTFdvTDVpTGZyTlZ3?= =?utf-8?B?MkU0bmpEYlk0ZTkyZlRKc2FQdm5hRVFTRGJnaXhiWEJzaXdFRDdRNS9ReVU1?= =?utf-8?B?eWxQOW5nRTJ0RGk1Q01ZQTB5dHR3SGRHUm9TZWs4eldmTFlhcjMwbTlqR2RD?= =?utf-8?B?OFpkRmFYbFpJTVRIZ1pYeGNqV3AxQ1VONTFQa1dJVjhveVpEODVWTjNhenQ0?= =?utf-8?B?cjYxRGd6SDUwcUt0TStWM3MxZmlZZ1RHZmpJNVFuano3bGlCMVd1bVVheGVU?= =?utf-8?B?SVJJNnlZc2xBR2dhNjUvNGhCTmp2bVRTeSs3d2h5TWxubWpaUDNoOFJidjUy?= =?utf-8?B?TmJCbVlHK3Qwc0U5MklaMUpod3hvckd0T2VQOWtyODZ2Z3ZSajg3aGR1a2RW?= =?utf-8?B?U1QyMFhjRmNRRXpCTGJ5T0MwWEtKTXZ4cGxaVEI0ZDU2NnUzbkN2cmpFM2tL?= =?utf-8?B?cEs2dFJ1ZkdSUUZtTWlyenBRL3AyT2xjK1hmRjhhamFLekExdVlYKzlNbGRE?= =?utf-8?B?MmdreVJROWVlM202YWluTGplTVFIdkxRdUtoZ01iaGNXNHBnaTBsZUhsQVF6?= =?utf-8?B?WG9heE5zcW9Md1NhdVlDQzk3SHlXeDVjT0JJejNaUC9XNSs4WkVHZlJoMVNM?= =?utf-8?B?MnVKZz09?= X-Microsoft-Antispam-Message-Info: pzHg08bYDSztCnv6c3Q16ZM1thliWZtLBlHVt2evaXDcUr0fA7ZKrVo4wt7SpHgSvcicII1SIjIfiKw7dwdyuchXB8TBZuomME7fY9tdlKBGjwfUaqPpIsGXZBlOF7tNwWmKMgu1tluuPZHZzCLt3vVg+AKON28sqcIyHrG0LRA+tsZ9Ax2cxxj9s/7m0VPN X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2008; 6:YBsRO2+W5tDDNnmV36RP56207aTAk17W87LuMKz9U7ftImphuyFmnK8ukcVu4m0zko8xVriKyyxlL4Z9ub2adaTBV14MAazuj4XmS5S6pHeZ18g2E4FhqX55OaUYtN6BxU3Ng4Mje7vtX+6aiCHE2v+wE5vvEhPeaRDsx5ahR/is2eXpNIlkXk+i1AMr76AJD05osMbVLXg/9hAw7yZnVyPz45aqaCB2Mgl7lG1a3TNUxIH9A3KG1fJQv/9btcwPE0PzCOM5de9V3IblKggCbyVeN70/d4Hs5zaNN86AzD86rBW46YpYqC3dnWz8j83TBTPfiPU7nbQZiN4GTmzj4tkLHa5h63CiTnstDwOov2tZTgsiuU2hYvQuJXKXdo6itmfytXEXZOeP9l2B+Ch6vF44Esr93uKE8cYIGH0ZVfKkcYoLi8+KD8AD4PEUyG6dm8lzg1y1gfat8MYRNHYFQA==; 5:g8OcC2FahUwQQv9x9Ew4La2VsGabrbk4FqMICPcGmnson+5UhB6nJDkDFDWrqPpFR5qLq8tJv5KYT1E53bnzSPA/tgC98QKYTA+ktV8XAXVeVjT0Ljhn9nvb7WsQcykWHDQPqOAX4V8BHb/VLaSNEqer5S/oD4uB6c/YkgJ/8aQ=; 24:inZuQ4quMbTncSn7JxcfPopCKri7LKZJ5q22bG5WHYyOKN8MbUr1mTkVGNDAiCb1xUlVS8v1iY2Bnw77qd5IORd769EHB6xe7KdEWwT/jjU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2008; 7:gSNH8nqmhTwzM5ohdKuoKFeJpAlAXCzqjURJsLvVS+IDsx1VabTx9FtqTplPvny6QQ6aehAXtUCdINSVN9WbCpJmh/DiEdOD8J+EC80EWn7DK5ahwj+4pEvJRvAA5Pw06i4IScA/URg7qfANH9cwJaX7aDyN2APyFCJX5HztDFNBl8yLigFOW25DXj2vBQa5fn1tZUvTKvxhaUwh/NurVKz0iCkHBVipklRYjsQ2ZRX+YM8ecVYZY0cy9k611xVB X-MS-Office365-Filtering-Correlation-Id: 06e540c0-a942-4985-9de4-08d59f24f8e8 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2018 20:52:28.3301 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 06e540c0-a942-4985-9de4-08d59f24f8e8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1501MB2008 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes On 2018-04-10 04:39 PM, Jan Kratochvil wrote: > On Tue, 10 Apr 2018 22:32:46 +0200, Simon Marchi wrote: >> Of course, thanks for reporting. Does this fix it? >> >> >From fddee555819b2631920bf4a86854bb0d76ac121f Mon Sep 17 00:00:00 2001 >> From: Simon Marchi >> Date: Tue, 10 Apr 2018 16:31:52 -0400 >> Subject: [PATCH] Iterate by index > > Yes. Thanks, here's what I pushed: From 6e22e10d63addd60f39114cef81ade290b15b2c8 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 10 Apr 2018 16:50:59 -0400 Subject: [PATCH] Iterate by index in auto_load_safe_path_vec_update As reported by Jan, we get this error when building with -D_GLIBCXX_DEBUG: /usr/include/c++/7/debug/safe_iterator.h:297: Error: attempt to increment a singular iterator. Objects involved in the operation: iterator "this" @ 0x0x7fffffffd140 { type = __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator >*, std::__cxx1998::vector >, std::allocator > > > >, std::__debug::vector >, std::allocator > > > > (mutable iterator); state = singular; references sequence with type 'std::__debug::vector >, std::allocator > > >' @ 0x0x265db40 } The bug was introduced by commit commit e80aaf6183c6692ecc167bf26cbdc53f8f1a55f0 Author: Simon Marchi Date: Fri Mar 2 23:22:06 2018 -0500 Make delim_string_to_char_ptr_vec return an std::vector The problem is that we iterate using a range-based for on a vector to which we push in the loop. Pushing to the vector invalidates the iterator used in the loop. Instead, change the code to iterate by index as was done in the previous code. gdb/ChangeLog: * auto-load.c (auto_load_safe_path_vec_update): Iterate by index. --- gdb/ChangeLog | 5 +++++ gdb/auto-load.c | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d46ecdd..6ed9d6c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-04-10 Simon Marchi + + * auto-load.c (auto_load_safe_path_vec_update): Iterate by + index. + 2018-04-10 Pedro Alves * gdbthread.h (finish_thread_state_cleanup): Delete declaration. diff --git a/gdb/auto-load.c b/gdb/auto-load.c index e426468..33d282a 100644 --- a/gdb/auto-load.c +++ b/gdb/auto-load.c @@ -197,20 +197,19 @@ auto_load_expand_dir_vars (const char *string) static void auto_load_safe_path_vec_update (void) { - unsigned len; - int ix; - if (debug_auto_load) fprintf_unfiltered (gdb_stdlog, _("auto-load: Updating directories of \"%s\".\n"), auto_load_safe_path); auto_load_safe_path_vec = auto_load_expand_dir_vars (auto_load_safe_path); + size_t len = auto_load_safe_path_vec.size (); /* Apply tilde_expand and gdb_realpath to each AUTO_LOAD_SAFE_PATH_VEC element. */ - for (gdb::unique_xmalloc_ptr &in_vec : auto_load_safe_path_vec) + for (size_t i = 0; i < len; i++) { + gdb::unique_xmalloc_ptr &in_vec = auto_load_safe_path_vec[i]; gdb::unique_xmalloc_ptr expanded (tilde_expand (in_vec.get ())); gdb::unique_xmalloc_ptr real_path = gdb_realpath (expanded.get ());