From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 85858 invoked by alias); 7 Dec 2017 21:34:07 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 85849 invoked by uid 89); 7 Dec 2017 21:34:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.8 required=5.0 tests=AWL,BAYES_00,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; Thu, 07 Dec 2017 21:34:06 +0000 Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 8E.CC.10723.BC3B92A5; Thu, 7 Dec 2017 22:34:03 +0100 (CET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.33) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 7 Dec 2017 22:33:24 +0100 Received: from [100.94.229.189] (129.192.64.65) by DB4PR07MB315.eurprd07.prod.outlook.com (2a01:111:e400:982f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.3; Thu, 7 Dec 2017 21:33:22 +0000 Subject: Re: [PATCH] Validate explicit locations with early termination To: Keith Seitz , References: <20171207212046.13452-1-keiths@redhat.com> From: Simon Marchi Message-ID: <003824fa-c538-3f02-729f-8bf8192d51a5@ericsson.com> Date: Thu, 07 Dec 2017 21:34:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20171207212046.13452-1-keiths@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DM5PR1301CA0032.namprd13.prod.outlook.com (2603:10b6:4:2a::45) To DB4PR07MB315.eurprd07.prod.outlook.com (2a01:111:e400:982f::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57487a5f-956d-4f1a-a000-08d53dba24f3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603304);SRVR:DB4PR07MB315; X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB315;3:cYM8OYnXAsKi2JH6lRSGFlCRm1ZoZNgv+Pb/fUGMWjdMD11zJvgeVDVic2hIH5RRQSw+eN5e+YYRM3zI+95pfzpMdxuNyt0MSt9JLZnM/GPyD77HB9vGKsMW8GVTIKj2AOeSOMJI0HdPhnN0QRz/iL6gXiuaIOa9IYOS1VkFmzeFuoWTQeyhg6Fw0yBwBwzwVrXa3o9q4LmZ9Tz55N7O7sTJi1wFbun5R88SIDNaN/ahtX2FPWl/nKfUQaknAzrg;25:9BuFP7YPI6LR/WBVcfQkyxNYjmOnNOex9jymxIQSDdKKQlqvLouDdN3sJQ073U39b5h7cqUR2cV71CDAF1BLk13yR/j1mnA226quVugtWkO87sHOHrTPwBma77miZVvaSXHjxRy5Xb6tCdZqNQ+VblMc2VSrXWrzESfm1H5VXJb7TI0m2ou/JJ5QSpGH1v2nRVGyTlrsngCewuDgVMBha8fvv6n20dMvrPGKDVjALm/NJwOmC0hJlDkUxIIDRH3cjCFuUgp2z4iJj8wV76RncbC81PFOIc+7EORT311aSYrjb/2G3BkwsjvMLsJAGT8NmJLoI6kylB0krCHSMU+pYw==;31:HMKD1KAtI9s9TOs6biONDeD/kttoM8oIMrprYZeFSJhif48jqVegiHc5cGo2RfphykcAY+RUGnaI133Zct38ZV8RY9d95mCNDsxtGV+slASkzhYAV4DPfXlttxbEANusSjsfJhzbxZeezMzxVgixJCB0BNslP0cuTyQTNgX1EJUDtSXpZyLmBF7gPURJKYUzhrkREoGvNti9A3AksRDNsif/1V9g8VZAyki1sevyVXc= X-MS-TrafficTypeDiagnostic: DB4PR07MB315: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB315;20:x3J/sE7u8RsZecupxv16vWUI4D5g6CYoHVdUtEZKJCbmWh+d23w3E70ZI5aB6ud9F++P8L/T8qrimmmkt+EGXn8FQKt7W5tdDj5PNhqkfYXyUvV+RD1ApXA6cvk9UhdQ6HG3N/ARykVGNb3HCWLm2UkGTPuOsniNY2+KNr4jCDWxxO1kfIbmOFahyZjD9NOPYWvX7x22sNCsFgkw9J/pap5Zy5fdIu5cMYgXRjh8rhwZuNllVZuWwfXk1do6rsgvVtX99WZ8P8nW8xqeWh570zcUO+jA64rZ73FOyZLJBPggGfhoNOAThu6TKSyN06KPjC4n9JflqxmFQYen5TqckoE+rbb3t6sAEv0a27AYHk9UaqWPbFmpy/HUZVdGQU5x7dkwHaBWBY7i9cL20GrGPpwtpemzcZM8R+6FHEBn8iLpXJOHjp4XtoUiGB4FPTizvSbjdlYHZQ+oIt4EWU9Yjxk9lxi0f7yxvSULLZ1zNVG/5aXae7DzX5wmK6vMSRkM;4:CMjBc6VM//d02/q+CCFDSFbcsmKGNflGdQlnBhUFP1t4VnIs1TgQvuLkprbu6JskodrRUE7iFPhCmTdfk+oK9phADZfaD9hajucBug7IGqaGNrmNtsCYY4ZiL3soK2XM/f5G4flZNoZZQ9KH3Dsnm8szdhLCIEAhKMi3DPgNHBlHHgF/QQh5EfgND0NU3Y1YSXZLhp00lP3dNjDCgpLgGvqDX+ArWnS/DtGlJ879kjuaAATbTm1uBWFUQYHFACTsDfi319rO9/BU5IZJgGTeeQusiQwFHKxCIBmmLJh6+mHYTCcmX3nEnfnAJFep/3ly X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211171220733660); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(8121501046)(5005006)(10201501046)(3231022)(93006095)(93001095)(3002001)(6041248)(20161123564025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(6072148)(201708071742011);SRVR:DB4PR07MB315;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DB4PR07MB315; X-Forefront-PRVS: 05143A8241 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(346002)(39860400002)(366004)(376002)(24454002)(199004)(189003)(377424004)(54534003)(6116002)(2486003)(23676004)(53936002)(52146003)(3846002)(52116002)(76176011)(16526018)(68736007)(478600001)(6246003)(97736004)(49976008)(106356001)(58126008)(16576012)(316002)(230700001)(36756003)(50466002)(53546010)(6486002)(5660300001)(305945005)(7736002)(2906002)(25786009)(15650500001)(65956001)(66066001)(33646002)(2950100002)(47776003)(83506002)(6666003)(229853002)(81156014)(64126003)(81166006)(8936002)(8676002)(65826007)(105586002)(31686004)(65806001)(31696002)(86362001)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR07MB315;H:[100.94.229.189];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjRQUjA3TUIzMTU7MjM6MXFBYjRiSkJIUGhtbzBYVzNPWXFmbHNQQnNq?= =?utf-8?B?aVE5WkFLd2MxOXRDa3VjWEYwUjlBVkdjNWZRbmZ5ZFVyUEREZkFYQ2RlNnRu?= =?utf-8?B?cDQzdUVtMXRyYThHMlFPQlplY2I4VUphTFgzcnZhMUNpVVRENy9VY0QvZTRS?= =?utf-8?B?cHFsaU9QT3RhS2RmOW9iRlFaZHAxNkFQYzJXSmE2RENnMnVoVGdLOTEyellZ?= =?utf-8?B?SXVQOXRoNDBYWkVDZDByY1lBdDFuZi82dTBmRk1Zc0V6YTVkWllpcGhleGdt?= =?utf-8?B?c2M3dTlSOE1VUUdtUVVaWDFxSUIwcExoZ1NqRy8vaVVFamk5NWM0NHpydTha?= =?utf-8?B?N0dpTXgwYUloam9TQTBhTmdrN01YdngwcWFHY1VheXNjb1dsMHBkZGxLNHNm?= =?utf-8?B?YmpQK3doQzlVT1BPTTNFMUY5c05taG0yVm5HZHVNSXpyWGNNdDRUL2hPUXZP?= =?utf-8?B?WVhTTDh6ZnRMaHFlSkRWckE1cmNZSjVSMzZlRHdKQ0VWMzE1MXVWb0M1Tk1h?= =?utf-8?B?Q1pSRndZZzZHbTZOTStIRHlTOXk0dTEzbGlWaUI2dUEwTGI3ZTNhVkNueHdX?= =?utf-8?B?dDVXbEdmcnFKVW9Ic0JoUDhoYnRTVzlhVHJZOFlDOUxSZUhCQmNmR29uZHpl?= =?utf-8?B?R2xLTUxYN3NIbVJRd0toYlg5Qi9sMnZBeXlhZUk2Tmw1cUdaZ1JDaU5lQzJC?= =?utf-8?B?dlE1L1JGVmlPQW95OXpqajROUkdCN21ycWdEalBxTE5YcHJ1NGxRcC84N3RI?= =?utf-8?B?aFlOODQ3MUdCWXNOa1B1WEJucVJqamtDb05iVkRCUjdyKytzWDJaK29venhM?= =?utf-8?B?QnVTREVOWXVhcjhnMmVyN3RKOE1YcWIwOEo2Q2JJRXd0V3NuR2tmRTJaM2pH?= =?utf-8?B?OVh2SGprS3dobVNMK0t6MmMrSENpWi9ZSGhXbnI4TGkycFdQdTJDVkZiOWhk?= =?utf-8?B?bGdpVkNId2Zid0ZjanVVUDNweDg1N2xNbUlWdi9TN3hJK25NN0dEUVRRaUxm?= =?utf-8?B?SHZzOWdWbkd6RFU1TThrWG9IYUJveldUZ2crUllpNjJCd051aUI0UDBxd2Jl?= =?utf-8?B?S1loaWFlYUtmM1B0VzhySGdqVWh3YXprUmduQlZ0b244ZmtzaGR6Y3lPOUF3?= =?utf-8?B?M1pIUnZpN2ZMUXdidGhoNDN2ZzMyNUlnTm9IM1hDQVgrTS85UU44UEhycENB?= =?utf-8?B?OHhTTXhTN1VTd3JvMWJORmI5OWRtWmNJODBIcERXMVoxM25NTk9PQjByRDNL?= =?utf-8?B?bTRYL1JocFNYVzlKdjZPOU1wcWtIajA0c0JqRUN4NTYrZ1AwNEhrNW5KT1Ba?= =?utf-8?B?cFg5My9GaHMwbDBGeHZtVXY5MXI4SHF4UkhWQmtta0hzaTZRazJNN3Y0MFE4?= =?utf-8?B?R2p1YkJ3b2Q2aHAxRFBRNlZ1bHRpaTcyNDh3Q25Zd2hRZHdOSUdjaTF0clM1?= =?utf-8?B?NUkwSGg5Rkx6bk1YaFd3ZjBlMTg2NURLNlJ5emx1S2ZTMVVFN0FwTDJvT2hE?= =?utf-8?B?Ukh0ZG95elE3NHFVSjFINmFDYldQcDZLYm5FOUpUcDFXYnFhVytieU1FaDNp?= =?utf-8?B?ZXhNbEVYVENoZGFSbXYrSjFmSHhCWUVZSy9FMHJ1VTF4UDVYTDlGZEszS055?= =?utf-8?B?Wmlwc055Nlk2eFFEV3VmVjZITkNYNjhHYUxndVVhejZwbEtLNnM1K3pMa2Nx?= =?utf-8?B?MnpLYzF3WDdkbFdlSDBUSW1SOXhldkhRRm56cmdiYVpFWGNIbWxtdXBOQ1Y4?= =?utf-8?B?ZjJSY0U0czA0eUs4SU9KbWxyeWdGMC96Q0txcVZ1WGYyOUpLeWJsLyt3Umt4?= =?utf-8?B?Y2U2M0Z2bnNaNlc4amgwcFNZRGFwbW9yakIxSzVudXNqMDlJZ3lXdW5CWWpy?= =?utf-8?Q?jvbzTRNRUo=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB315;6:NURRUrZpsNxmfWx7zj3yhfSpmNpzlFkU13BXJkahyU8B+6/MaQz4K2ojt4DzSmlwZZ36VmaUzQzWXc4+cEaiO8B+4vdcf7ed9JB6TvLY3E3UMOOlxELhybhmu/UDZNz5UbiIesySGUiQ6hmijHWuw7a8kLdzMSSwJRK+keTbMtawDD7PUIrb6K7bIiNdmPQXhVhisopKqzBc9q9R61A4gn8LHfNpY1nysRFxLjc5w/lQXu3xVmQfNYCLXvIKvkoDvIOnMKd//KlS+2QhMYynt7rrjXrUdedtOWL4XKaBDA76jVqg32R07JlV51uwXxIXhgXv7tWKfCxDNTjCC/QMtSArQ/qmOrZnjugP6cQxlhc=;5:sg+fCLNLI7uB5U1cx22lvlqKnfsGRIWacu4JGOKm+eQhtvjdcpKy62wC6V5zKmJxPmlbILZkZsXTuHx8HUtqvEVJbMmlTyc5BCpelHyvgjJSEoX5+ZzX9NUbS9skb/p2sF2RkawfxWp4whb1CUYgIOh4vOYTAKopyiLHytuANz8=;24:66hLq0rqDE+EfTSzGhDJIczK8dYnb+tKwIOnKaTVvSjpcunsTqaElJ388DldvtV9cTRBIZ4NlTIXILZyB9fmJC+Q9o3ShwBoQm/Rv1EbNFk=;7:wvlpt8ZLSVvLVSi0fWa1SX4BqnyQ8iTXAsNv5dt3K5k0sAWRyNfrRAG6bG4SaR1pPT0x/Qp+D2/JJ2VA7e4WtPqb/8Kn1wYT+l6S4X+Zgeh/LU452kO1JQhgSJqzzPgXIf4MUcLOEus9jwAAWC2vfV1mzdr5DB4pVS+ZMIKl+ax2FFFzvKSTMcG7vcg5pIP+OacvpNQoDZmqqtOga4s4MLzjCM0Pq/0sCKY0B0p5KHhPuUwfdjtXT9IcVGwedzn2 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2017 21:33:22.8294 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57487a5f-956d-4f1a-a000-08d53dba24f3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB315 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-12/txt/msg00149.txt.bz2 On 2017-12-07 04:20 PM, Keith Seitz wrote: > breakpoints/22569 involves an internal error generated by the rather > innocent looking command: > > (gdb) break -source test.cpp main > .../linespec.c:3302: internal-error: void decode_line_full(...): > Assertion `result.size () == 1 || canonical->pre_expanded' failed. > A problem internal to GDB has been detected, > further debugging may prove unreliable. > Quit this debugging session? (y or n) > > The input string is tokenized into "-source", "test.cpp", and "main" > (input parsing breaks on whitespace). create_breakpoint is then called with > the explicit location (containing only the source file name) and "main" as > the extra_string argument. > > No SaLs are created for this underspecified explicit location, and the > "result.size () == 1" evaluates false (as does the pre_expanded condition). > This triggers the assertion. > > Normally string_to_explicit_location validates the input string. However, > the presence of the string "main" causes the parser to exit early: > > 802 else > 803 { > 804 /* End of the explicit location specification. > 805 Stop parsing and return whatever explicit location was > 806 parsed. */ > 807 *argp = start; > 808 return location; > 809 } > > This bypasses the validation that is done a few lines down in this function > which would have emitted the expected error. This patch fixes that. > > Additionally, this patch also fixes an inconsistency with error reporting > in this use case: > > (gdb) b -source foo > Source filename requires function, label, or line offset. > (gdb) b -source foo main > No source file named foo. > > These two commands should have elicited the same error message. > > gdb/ChangeLog: > > PR breakpoints/22569 > * location.c (string_to_explicit_location): When terminating > parsing early, break out of enclosing loop instead of returning. > > gdb/testsuite/ChangeLog: > > PR breakpoints/22569 > * gdb.linespec/ls-errs.exp: Change expected result of "break > -source this file has spaces.c -line 3". > Check that an explicit source file followed by whitespace is > identified as an invalid explicit location. This is quick customer support! This patch fixes the reported issue and LGTM. Thanks! Simon