From patchwork Tue Apr 10 20:32:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 26677 Received: (qmail 69361 invoked by alias); 10 Apr 2018 20:33:08 -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 69348 invoked by uid 89); 10 Apr 2018 20:33:07 -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: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 10 Apr 2018 20:33:04 +0000 Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.183.69]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 49.B9.21035.D7F1DCA5; Tue, 10 Apr 2018 22:33:01 +0200 (CEST) Received: from ESESSMB503.ericsson.se (153.88.183.164) by ESESSHC017.ericsson.se (153.88.183.69) with Microsoft SMTP Server (TLS) id 14.3.382.0; Tue, 10 Apr 2018 22:33:00 +0200 Received: from ESESSMB503.ericsson.se (153.88.183.164) by ESESSMB503.ericsson.se (153.88.183.164) 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:33:00 +0200 Received: from NAM03-DM3-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB503.ericsson.se (153.88.183.164) 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:33:00 +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 DM5PR1501MB2006.namprd15.prod.outlook.com (2603:10b6:4:a1::36) 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:32:57 +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 , Simon Marchi CC: References: <20180225163247.20157-1-simon.marchi@polymtl.ca> <20180410195811.GA16998@host1.jankratochvil.net> From: Simon Marchi Message-ID: <3c9ea505-10a0-766f-a152-c206c500868e@ericsson.com> Date: Tue, 10 Apr 2018 16:32:46 -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: <20180410195811.GA16998@host1.jankratochvil.net> X-ClientProxiedBy: BN6PR03CA0072.namprd03.prod.outlook.com (2603:10b6:404:4c::34) To DM5PR1501MB2006.namprd15.prod.outlook.com (2603:10b6:4:a1::36) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM5PR1501MB2006; X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2006; 3:/rEFZbiLZzX/WH3GyJi7SF6s0FOD//IJGgSrmzN91zQRI9vPEsg8iyTrRhgwKfdDF+BeOJdMTF8T7ILwc6fYpMFNVOjG727Ef92yhVDH5hng87Ud38nlIUWfqPUw5cyFzfqx4gTWrG4CwQljpU3PUB/KngrBl+HOT1OgLEzpA7mDErYJwGJX+rRKqkwC9Lz6X4FH+K47oiyPyMYSNmjK3/6Q98DA8evHao/f/vlUuvfTte+E1XAxDW85djglX6+m; 25:/br/dCVZhHWL+2Tg/yyByJG26ZEC713sbEuhaVHyGoRjNrPzdTBOsrCl+yeSK1pRwV8enWgRR8FyQ7rX+9pfyY3MOLGRMRJyeZF4e/vz7pqlup7oTtaukouJqBEeOVl8ih2V7WwDldfj5uuwSyxdF7j8Y7MnIltPhQHMoeOZ0J02pHszuhaUYFBVqr8ox07BiKFyRz+Z7gNojpImsZ6J/wioRinwUrzZvxc98lFVmkQkjzeEEar5ycMDDXdXfrPYh/NuBax1RirkshSMdjl7yYv78wiARgDVbYMGpWSMdG0CIvcVSuAujbIhNTwGz8gyK0Hu8tjClpaA/B5zorRYhQ==; 31:ebUeMXZkyxAKz3DqoDtysxJtIJG7PWts3tFT1C376/cSeHFyBuFiwY5eLmiLhWjBDgLKR1/n0NQAR3gb/4J8Ee71ym5vNCspSEcO147WEXNe1dnq9ia4L8GW6cZE95CwiyMAwqTVfhqbqzBIFJxt8MyLfqSgzB1qmp5Rl9l9dTkus5QNls/AU1i5GAIZO+MPsGePUdezs2U68Lvpb8fOzSl3NZlAa7y+GkwYqu4DGeE= X-MS-TrafficTypeDiagnostic: DM5PR1501MB2006: X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2006; 20:L3aue7mTYDeK/mh5o8jgAjXn2c7OhgeWVKmBVQ/eiFratfvB95fP0P1WjTpGgnfuf7CdGupjedUMzVj+8r1iMRXpew3zjAY2E2ApsE5YRR2yzF4T3PdFgrGgmlgQVfIFvYj1Y46tysTIfYz+a2xf5UYmly3R2JLhXOWmxKfdtFCi6uO6seeOlAp7gyiYL0FA0znyIh/hP1XkSzYLMOSkEgCZ8J18aVzfqyEqGthl8nbRESGURm71uY6R9fNyVREaRGR/y9aq9LIr+vGXiRvGLv/ejVz6iUUqm45iQzbUm2TiyscK7jlFyIW963BRkqYuC8tjMgNUyJpPvdPoGdFLN47igurWDvzeJodahCRhF3veiRZg5KXr8mSs6URr/7uRv9/NXdgZNnvhXtCTOxDk7voWModpP3c3KGTL4zj4Ogf+hGtA+hOP7AB+PzQcIDrX5+Atn7ZMcfvqpW4Xd4YKl41Sk6up9idEF2wVQaRcl8Qa4Du2Nd5CC3tPAT49rufe; 4:VYlUoI6/4Wm9GyJlsTuiqsCae+uRmVc5nwqG8Q6Zr4OTjmLuYYvKJsur+6yNl6fNzZBDI8wXirEeUWNvieKyvHjm1wuixocIPZQyJlSiaMRw0a+jCZ7Ks2CY21y0wOrpi10/B58ZwdY/w5/3HPvWCKNuKcnmabxI08rrBYswV7V+9zs5Ov8k/ruq9LOx+pG9N7s9GeYkV9bj/IBg0IjPeRzCLpolayFgeW0cY0vGP8R98a5A0eTTDiktaugCBNuqryjo+8arN3fYqc4DIrpsDlB6IPF0evxVXDLzWrJWz5gO3UAOBZjrQAQmg6FpSOX5 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)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231221)(944501327)(52105095)(6041310)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:DM5PR1501MB2006; BCL:0; PCL:0; RULEID:; SRVR:DM5PR1501MB2006; X-Forefront-PRVS: 0638FD5066 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(366004)(39380400002)(39860400002)(346002)(376002)(396003)(377424004)(199004)(189003)(47776003)(31696002)(6246003)(52146003)(6486002)(186003)(229853002)(2906002)(26005)(230700001)(16526019)(106356001)(6116002)(49976009)(5660300001)(97736004)(23676004)(52116002)(76176011)(2486003)(6666003)(36756003)(65826007)(3846002)(50466002)(65956001)(476003)(110136005)(58126008)(68736007)(478600001)(486006)(66066001)(65806001)(53546011)(105586002)(956004)(305945005)(59450400001)(386003)(4326008)(16576012)(8936002)(64126003)(316002)(575784001)(11346002)(25786009)(31686004)(446003)(8676002)(2616005)(81156014)(81166006)(86362001)(7736002)(53936002)(78286006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR1501MB2006; 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?MTtETTVQUjE1MDFNQjIwMDY7MjM6OHN5eWxsTE5CMDZFRk5WWFFHWlJRUXJI?= =?utf-8?B?cy9PTnhaZHA3R1F0aldxVUhXYmh0aXR4cllXRkFzM05IMkFQcnlMK3VJbGZR?= =?utf-8?B?RXR2QWRFQWszVnoxV2ZUU0VQRzZmeVdYaW1YclV5U2dibm9FbTdKRXI1eHJH?= =?utf-8?B?Q2JRcTFLY0RMUUN1TCtBYmZXRUl0bmZiM05NSkIwSnRxb3ZxbWpUQ1l2Tzdm?= =?utf-8?B?MDFjK3FCR0R6cnlFSmQ3TFdjVzEvd1NlTzhNeTZxYUpZTDJXWjkxeHE2Z0xo?= =?utf-8?B?THpocERnTVNpblVhUjlzT0NmQlZyVm45R1NmU3VZUGdJZXRhZE1IRzN6am1Q?= =?utf-8?B?M2tUalJSSU1JY2tWaExHZ0p3Q1IxNWNWbmdqVGZ4OFB1elU3MDdnM0F4RCtp?= =?utf-8?B?TE9La2tiYjJIQXZFUUJoT1E1UFVlZWhoMGhYL1Q4b2txUFh6T3VPUi93ODZm?= =?utf-8?B?c1dTVWZVbko3YzFTY3c5SWJ4TElSKytTeTJPQm1nTXNwZ3QwU0ZDZ2UrK0xQ?= =?utf-8?B?VTdGY0hTMDN6SDJ5WGNnYVRNYWxubXdyakRMamIyK04zd0tkUDBqcEJZSGFN?= =?utf-8?B?MXJJUytMTFBjOGordUl0ZmdNVFZqMUNJTU4zeS92b0pJRExyNm04UGlWMzdS?= =?utf-8?B?dk0rU24xeTQvSjlsa3p2NWFMWm9JOFdSb2hqVDVMZnV6Mk1IYTZPdEdGLzBs?= =?utf-8?B?SFZmN2w0VUtQK29lY0wrTmxhNCt6Z3g1MUNNaGxkV0dQS2FwNEVBNFZ4cklT?= =?utf-8?B?WmdQRWtQY3BFL0VKTm5jNU5YRk8rWUo0Z3ltOGpueVk3VnBSbEl3UGdqTUcw?= =?utf-8?B?b2R1cVhWSEtTbFBMNzI4VlQ1NEdzQXkxRFp0eVJaaEJrTUlRREpVT0htT053?= =?utf-8?B?K0dLMGx3Y2tyWktwM3pxVmhHSjdYcGk4bjRxVCtNUUptQlVqZG92NlI1QUdI?= =?utf-8?B?cFJKM0JiQml4SnNENmowRlV6c0p2SzhPeml1N0tHTzBCWmw3WHo3NE9LYk5J?= =?utf-8?B?cEI5MDNTemt4NnRNTERlN1N6RGl1VEhIalY4R2hNdWo2SzZRd2R2UkFDUjlo?= =?utf-8?B?YmpsTitlWVhJMzBmOVBDZVJlK2szZS9TSWEvYXNyNUduK0c1YysvMThDVzVB?= =?utf-8?B?UU5PTVZDakxabE9lRFFnZWN4NTNQY21jS1Z5elM0aStTVUFqcHR1NjhwdGJH?= =?utf-8?B?UHJzbGhQeER1QlByKzNFLzBiM3N6YWFjZHJMN3V2ZE1oS0k5VUFlVk4xcUlk?= =?utf-8?B?WmJBZCtqZVVYM05RUHRmNDQ5NnVpOTVCRk9zeUZPcFpiQ3RPWUR1dmhmd0Qz?= =?utf-8?B?amN0eGxOczVqMjBBTjlBYXhlNzcvR1NtZzhSanRyaG9iYmpnQjkvVEUraFpU?= =?utf-8?B?MXJEaE05cUxCVytiYWY4VU9LQ3ZZQ01rY3h1aUJUZ2Z6b3ZXSHljMmxyR3Y4?= =?utf-8?B?MUlnRjh3ZVJDV1FkbHlNaXhxNFp3NHA4UEhXdGRmUURJUk5SNmhaSjA4Kzgw?= =?utf-8?B?SldiV082RndMVTdsWXRPanlwNjBVZ2N6d3o5dlhqZlFUNWQrc0hneUZLcTlz?= =?utf-8?B?dWhUVTNjQ3o2VE5ETnl5dWpJRUkxamttNWhTMWp1M29odGRCeTlyOXNHak9W?= =?utf-8?B?YjlUbmZ6bXo5dkFxbFJGU3dlb292bFpPdlMrMDhYV1lrUmQyYnp2dm4yMHZ3?= =?utf-8?B?d3FyVFA0NGNUYWtZWGVuSXhMeW5uYWl6bkdYeS9pMmJhcFRQdzR5dVk2THhY?= =?utf-8?B?eG9jaUpxSFZwNWR5UVlNSEgrUFdpYmVxb1A0WjRvYTZSb0tiVTBRUkdtOW14?= =?utf-8?B?aERmQ3RWUEQrN1pqVWtxMWNGL3RjdFhHZTNDWktRN0pidEMwRzNsZHUwUUVE?= =?utf-8?B?UGppZnNRQUJBRjRzK0J6RE95L1JXUjgrVGhCRFZBTVdYdzRKQ09LVmtjZGdW?= =?utf-8?B?SUdYUEZJNEVFbllMQ3RJd1hrM0Y4K2FxMVdPRHBlUnlQZ2VtTFJTNzdFSHJa?= =?utf-8?B?d0U5aVUvN045c2NlT244MkNJYUdNVXozQTBUZ3owQ0p1WHFPMk5pcEJyWWsr?= =?utf-8?Q?f/9iUI=3D?= X-Microsoft-Antispam-Message-Info: qsGS8OEjWNesRc3arIf1ls5RpeA/w7PjdNbXccgXpGoQ/HFu29WWoXKsfvK8Ss+OXgVcqTCrujLseIHuRZQe57LdxFdt5jQsjvBcLrIvHZspsdMMKXXzBMKx0toenRcTmH6DqrET7dSAA72YDWFVLSuAV9q5wsGgIR5pfjTVVCmUpURv83ndBKY2d3Tno5Fi X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2006; 6:a1n5b694+lB/ZRIFMCJIwO0fPzeNXBqwYjMr1CcWd3tyvuqXs3VUVr+GWdqblqp7pPgpkf3upMihYZtUdfpf6iRBIHHmnB/rU7Bky7vUyeu/ReC3X1We5IPFyN7vpQEAuJPKEhy60jgx4NEFDTrWQTVA0ckmySgIX1UXiR1/LICCKuySrXLtzR64RXWmeYzZArqi7mTvcN0VfEvGZwdRChJTA3X6suBoRETJBSt0DKLgWNy+SZ2v0EMKHnQ/iYSls5Tya+4kgLLLsAcO4PQY4WNEHonuAbm9eq9wej88VMpjfSPfgYbjliu7vK3FqzyJ9Mp4hNCndb6lY1ekrjlf50VV+dsjH9O6876A1bJVu+bEqlzQeK+rM00M1uPESjKT6W50ZMSI0E/Yc+gXXJuV8UEaD2HL2i2iEKKvRcsCzAGnL0IRKm6w53uIzAdhE1b8KOLj3Lp6ETm7mllF8mHvcw==; 5:sZxyG+XuyMqo5lRy82rmUe/i8I6QxSr8097ZDfYj7eHUkdZfMEVaFp1KOIpgIFY1kDrexC4yNT+ax7s1G9jCQF1+24aNuXTrEeCozpFN+TqAftuq1kZQGB5TU2OOdZWvd9Vm6YxjCdIxWhqyaHvuhH3UsnPuiKOjGJs5JoXWeD4=; 24:MbesOEnm2DynWiFISOkGqcnOY2nsl1XyPDuvRjKQ6jG2aTAhTJak2NU4ITku+o9pIwEFf/RYovbU1VYWx744Ty5VR6KCCwBpROI3yMZl8dk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR1501MB2006; 7:iU2r5Rcecy6PeJeZUyUrgiuZPhm7s6whSmJseaPKKjpAja1+nfW3mUD8vxKiB9jKtWHwyajU2rMBmCobmIjba/KDL0ZXhmi/AfF8Q16WYg3mpUHiHgxq8eX1AcyS0jkwxqCdROq/sbV18bY3nkkcVxW/WqHTcd4JUTUPotHUxj1JMp7ClQdJYkZdQfj+pXOYdlAvJ/MmRYZNAtpB5Z2X/4P1IXtOZp05gm3SDokIe/aBYQRIVp1HIdYxclQP+swI X-MS-Office365-Filtering-Correlation-Id: 5b484104-5801-4270-6197-08d59f223efc X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2018 20:32:57.3943 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b484104-5801-4270-6197-08d59f223efc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1501MB2006 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes On 2018-04-10 03:58 PM, Jan Kratochvil wrote: > Hi, > > commit e80aaf6183c6692ecc167bf26cbdc53f8f1a55f0 (HEAD) > Author: Simon Marchi > Date: Fri Mar 2 23:22:06 2018 -0500 > Make delim_string_to_char_ptr_vec return an std::vector > > /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 > } > #4 0x000000000078f893 in auto_load_safe_path_vec_update () at auto-load.c:212 > > > On Sun, 25 Feb 2018 17:32:43 +0100, Simon Marchi wrote: >> /* Apply tilde_expand and gdb_realpath to each AUTO_LOAD_SAFE_PATH_VEC >> element. */ >> - for (ix = 0; ix < len; ix++) >> + for (gdb::unique_xmalloc_ptr &in_vec : auto_load_safe_path_vec) >> { > ... >> - VEC_safe_push (char_ptr, auto_load_safe_path_vec, >> - real_path.release ()); >> + auto_load_safe_path_vec.push_back (std::move (real_path)); >> } >> } >> } > > The iterator breaks when moving its std::vector data underneath it. > This is why the original C code did not use a pointer there. > > > Jan > 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 --- gdb/auto-load.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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 ());