From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 119960 invoked by alias); 17 Feb 2017 03:39: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 112835 invoked by uid 89); 17 Feb 2017 03:35:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 spammy=picks 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; Fri, 17 Feb 2017 03:35:18 +0000 Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.183.78]) by (Symantec Mail Security) with SMTP id 98.50.11383.47F66A85; Fri, 17 Feb 2017 04:35:16 +0100 (CET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.78) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 17 Feb 2017 04:35:12 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=antoine.tremblay@ericsson.com; Received: from elxa4wqvvz1 (67.71.111.110) by VI1PR0701MB1885.eurprd07.prod.outlook.com (10.167.197.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.919.10; Fri, 17 Feb 2017 03:35:10 +0000 References: <20161129120702.9490-1-antoine.tremblay@ericsson.com> <20161129120702.9490-2-antoine.tremblay@ericsson.com> <353b676b-5f13-6983-d25e-d07e49f89182@redhat.com> User-agent: mu4e 0.9.19; emacs 25.1.1 From: Antoine Tremblay To: Pedro Alves CC: Antoine Tremblay , Subject: Re: [PATCH 2/2] Avoid step-over infinite loop in GDBServer In-Reply-To: <353b676b-5f13-6983-d25e-d07e49f89182@redhat.com> Date: Fri, 17 Feb 2017 03:39:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: BN3PR09CA0063.namprd09.prod.outlook.com (10.174.65.159) To VI1PR0701MB1885.eurprd07.prod.outlook.com (10.167.197.21) X-MS-Office365-Filtering-Correlation-Id: c31f9f34-c051-412e-1242-08d456e5fa47 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:VI1PR0701MB1885; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0701MB1885;3:j+4eTHYImSxZuAo/q9xD95OVKsWfanE1si38E2dGNI6wEa/qldn+oVN6rCe8dSdVN/vjCQ04vK3LyUDe6E4B1n4GG0+dqyg8lI7Zkg9tZM4AZryN6iXDBuT6PtLX1JLjAl4opHjaaARwtf16EsEgx9uCEQ3YUaA/QG4P3H6V+j9ncReNPW+9PnYLR6/jTEt5gb56XeyMEi6F6r10H4qXTPTbYUS21y0fEqNI1z/31a/4yvV6wiiUAJqwrS0FG1B0w5e3H9YNdtAyP0TKT0boPQ==;25:rAz+wYtWSycjmSDxR8b6iKRsZE9xXbI17N9V/69HM2stGvJPwA2/Z6B13c7HnaGHmlksVyFTYlFxny8SqT12+m9unFMZcxY9IV4PZRrWVoldOXAyXIrHRgkzgMyJpTwOY68y3Fk8wTtDahCiD0zUtbb17e28K3brcZKOjPUGGN4ikfd3VPDjG/bsYhnniuR9+mXRleychKY5LwXvDVQ9POHj977Xma21c1R2Wr50invbGiuv6w9/zR4+3fopB2Z1qWktE6zNG41vhJRIwZWXY6uXMnkiwnhnGWnkRdCcWqwNA98/rq6izX9I7Dec2u/OdsRyw7meNB/yeoZSAU3RpkQW9UQ9GauvzlqWWsOaWKtVmWoShyozT9hZXZNJ7i7REDP4kxPX/YcKVOI2x6+C2jHhZkBsrbB7apM96Dl681//IdAQcNbhKk/nnsDLX0116h65dc7EkaCq3pYRa9o/YA== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0701MB1885;31:1p3LMDCAFQ6AMTzJA7hOpK2atToElPpSW+wIDkH4dbE9nlwGOKI3qgDyNWBcE+WviAInuYuU2+RuFVSGivAgJPlsLloo3YIqSh8nrASB660jEG3pL+LOguvgYeq5lwYvII325/zKmO7vIZkfGryWm32oqiK73vYK22hpXUjBqIFQ/8gGBjMQ8ssK9YVkpEgK4CPt8mIIdNOTvazz4omJGTdbumcz9AVf2UiSe10Q81M=;20:lfNUiPuKUG2ReG4DUreVQKutXU5pJSKnd4a3kRcikByQ6Gn/uNaPiZL+JvAd2kjM8w7hCetaaeR2NjG/a9RhVBbvQW6OOVelr2VGHQ+Ep/rqxcqycKlx1Voei3HS5oxjWs0DzE2w3ipxFMFCJmHDjmie8i0SL1yMW/3HRk5S/nweI58W1B3CW4UXWLCaDCbGwgWy3eOYXnjuWn3EmnJxmed+gQVlRwLyO9BC1eqJ+LYl2iH+zMFFwxqPEHAvRD4S6Q6wOpg7IrnZ+IM2Hf+wcSurUmLTnZ/HhrYkm+8Hbl/KRJeI/Ry9lNn1WJgA7A95x5IMkWMbeyU6RScE+7ZCaaI39UY5V8IRKRdQp5mos/aNZKDxvqeJ/V8o0wxaObxf5vEtulkcgBsjEe6Xf8SCh0qsJsb2HnxFu6tic1urkK13iBTW9hI3RXt7XA9FA38IpvITLFgDRDxdQ/oc6Nkl4ydI8TXUezoz726QNBitRpR2RVqcGC4IGMtaoxMxviY0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123558025)(20161123564025)(20161123560025)(20161123562025)(6072148);SRVR:VI1PR0701MB1885;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0701MB1885; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0701MB1885;4:lqanGAZi1yFs6Nhb6pa6Y62+CquzQ8P1W36QQ9BDeHEimqrYPRksCLHLQaJD3I+covqphdZvHGL/kN4KyKKazvIc93HnduZNFvaHWvyfr8iNvke4vqc70lIBYshELIEJQ8cO0YABtlbXccD/6Rydsob+VaA+C1OYk1fFqCWEeDcg+q5oRUHihASuFv1RAt2VdJObW16PSdCi3dHfLKh7FCLsU2lREA2bJgmL7wdQTTxRx0ZDjAaCHUAqOtChxRVRkasdojGYwDmCHdi9NrXsm4rGsqBKFkXgTxH4Rf0vdf3MQiFdAa8GvLx/fPkTzv3KgQuGTIDbNFsdXk2WLA61CR0hq70ADIy7ur5+J1SK1F6casu/o1Xu4sfYsDf9kPtmqiLEtVRJ+g0qTRapmVUL6mgSOn77O2OH7tsl4C8HAErxxEW2WB7GPl+sLXfxDmfLyJn/xPyfDIPwKd1F79MEEalFzVs861JMUMdV/VVi/PQOAvW5SIrT4xECAKcbyNV29zD0d18txn/vuOncKLp6KhCvNhP4eEplmqMXDjr++131FQk11iwmXv9OJy4adN0J2jRkcDIiyW3K3cd4ThgES4jSdM124XY3weZRWjg/L2M= X-Forefront-PRVS: 02213C82F8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(189002)(199003)(377454003)(24454002)(42186005)(5003940100001)(5660300001)(6496005)(4326007)(38730400002)(110136004)(6246003)(50986999)(54356999)(229853002)(47776003)(25786008)(53546006)(6486002)(76176999)(83506001)(2950100002)(6916009)(6666003)(106356001)(105586002)(68736007)(86362001)(36756003)(66066001)(189998001)(48376002)(81166006)(50466002)(101416001)(2906002)(53936002)(3846002)(6116002)(7736002)(33646002)(97736004)(305945005)(8676002)(92566002)(81156014)(54906002)(4001350100001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0701MB1885;H:elxa4wqvvz1;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0701MB1885;23:rplCyxi5XY7AuofnCylEfWb1G4lXYUGwpziOP+M?= =?us-ascii?Q?BY0sIh5+wY2xLqNEPtfAi/fEpq8PibbQZP1zMY3SS40yB4TtG/Vw8O0DcuWm?= =?us-ascii?Q?rhF3vey9JmcmDBuxcju8e+RDuvgKaTQArgnjf9xo87sFQRSBd480pRi5vPDg?= =?us-ascii?Q?rUef5S6Gcd5l4rE4CgJOQNY+MVPS6rChNjf2QLtXnBCLUf4I+UrWl6F0iO1W?= =?us-ascii?Q?KlwXs6deRwELT83MPu1WohqW7sPd0roubAmUHUmOTCfWLjibKu0EqzYqmX9M?= =?us-ascii?Q?w48r12Xru0/peFeWZBAU8AxcZfuC0/bfM7Qhe7uXzFgPjN8z+I7YBqUb7ypF?= =?us-ascii?Q?QF0xG+hh72HVBR+b3udvh9SVXK/pluAzy6Ww8OloXcHk/9LKoABFyrjt+s4w?= =?us-ascii?Q?bL8bbvDq7+Y+gaZNMpX97VjmyaH+cqHSKLaaKgoFkzBtpTsOTGSQq6IAuXw1?= =?us-ascii?Q?lJ46kZG3Qy7H/gBnRqXJcWtJJJ4uiVeAlTN44mPs9WEAfUEyJLSEgFOOxWc6?= =?us-ascii?Q?sm/eRXo6XFqlrAmTgvAtur4PWBTjIm95JqfrnubENDkz85G4zCLMd9iiDkbe?= =?us-ascii?Q?FI7Hs9OAmTSo6UB39FSsXtJ2EXZJ03fI5DcGf6H4WRWVTYhTdaDIHIkCcLdj?= =?us-ascii?Q?bpyyRDsLKOW8RHLQyaC0OCsqsOSb63oczrIDdbCWBAI+vRLuv9j4jyLz6Cyq?= =?us-ascii?Q?NLmH8crTH4kfR3Cj3RVC7hLbv4uVGwEQvxWopsPE9jwP8Jvc6SsjO5E2d0Mb?= =?us-ascii?Q?ihiCV7HH6fn3+eLMLFTNyyjBvw5pUdlkYkc2MM0OASslv+d5qrRdtqoNpP5v?= =?us-ascii?Q?XfKGvz5/A7TtllbrTKQ4Wk7a3169+hL8vcKRFTH9LRxP3gObz0K5KW13EeqJ?= =?us-ascii?Q?NWVq98NLNFE6MJPend7H3t2JFx22uHeDXzSoh4kV+3pm57nCz2I2Ekt+MUof?= =?us-ascii?Q?iu4A+XNt9ZujmFtu3WJFirF5XI3MmP9RVAM+VMU2oHQ/kux7kS9FbCPkpbiT?= =?us-ascii?Q?TzAmfhpuzlcjpWD5/NBWLhKhm3DmW9XEF0E/6Xej9xcxErYipz/45lIM3lp1?= =?us-ascii?Q?DLdEStdxLflGOTHdZ+Vbrz9qD2brFMzub3AOVNUt4tYjDtdQ2bLWKYqOZiM6?= =?us-ascii?Q?RUSLND38Sw/Az/7BerUGkaJCODSFmyAlFlLjEQafPlkUl/A+WHU6sXzPdI0o?= =?us-ascii?Q?l218BqoigF2wOZlerUpFM0icwN566HsMkjzo+J8V4XHp7G81Zuq/6reTL+qK?= =?us-ascii?Q?ymjintIIKIWh9qySD7qIpG9ZgMX8Ea41B71trHFS+?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0701MB1885;6:VkEmr98Cjq/ssLtFqYX8BXSispcKlO57NxIoWg6jO2hb+i+S5VGO9C+1QhG68hvIRGsWEd1R4kXkH8zcomYJNYUa6f11Lzn57l02d1C82dLVWPZFYvLKQrw6HSlXZUjXuYMdV+4y0F5QPbe4ZxjBrM5iUNDQhlcYDL4aiTcUEXb5F0DN7gl3gL+jbNNnVUwBUIkqt+0BaAyopE64nUdImNNrOS5bR4rUURxRUuNmW53hKK8MBLZqspeCHhvx78YQYquFWWAQMMgCXKaFv9+BVAufPjUTsj1kIYqZW05ywW8GBMDnQ5PbncF5xDp6wjLZYNPM/r5jXCHwCaYavMH/FXJ+qBnmX4d0IiI2/lM4GxU+j5fExycT4gZ2+guixcoUMtQ66Drcswofi1LyGLPt6g==;5:akw/gBzFzGWwJoYctYNw1qn31mykzkKLp0TVcWJGt7YxOhKQeS5egKIR8j+JY/emdleZTiQnLomYLsCY9ds0l2j9ruOgBw83sSMiuNdLIXx5S+csfFOfY6Yp9jDgs3nuUmUxZOmVxtzRA9Dqyz3zgw==;24:d/fjAUwxWGGpfWk5SMlRHBqs9LTz7GyUwWzdK78Ib9NRYOZoudlSD22oVEopgcb2XVoTzJH1GvGQahcxcFCHiWcrzpDSkKREGqZEysOKF7M= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0701MB1885;7:yalzaGwMZaeq3n/hfZuI/zRkNwAwqRiEIcYWNjmDyrb7FjyGb/XlnP4IxmH8lb4oWpb0XcYsN4zi5oWtpG15lC6p1Y+IT3QbzZTcDIZyXfxMVSDsXx2lhT0ccJhDPjiWrHabzqgqk2/YfhSflhzIK1odXlEVnFlmiOoYtKWj0YKrD+H/LikFxteiZycVp0qqqz3TMZgS83Ba/2AmPPr+4FPJmEI5S47AUCVrLIcZ7Pr02LxGqR4EYqa4PztQPWc4x3+mGZd/B+gMyfzACLiydOY/bPa1roH4UGw5JkpDvr5pNnun82mPzz3sr5+ufO9EXFDCUoLbTQFqcXeS5YyUfQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2017 03:35:10.5618 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0701MB1885 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00466.txt.bz2 Pedro Alves writes: > On 11/29/2016 12:07 PM, Antoine Tremblay wrote: >> - GDBServer stops on instruction A in thread 1. >> - Deletes thread 1 single-step breakpoint. >> - Starts a step-over of thread 1 to step-over the thread 2 breakpoint. >> - GDBServer finishes a step-over and is at instruction B. >> - GDBserver starts a step-over of thread 1 to step-over the thread 3 >> breakpoint at instruction B. >> - GDBServer stops on instuction A in thread 1. >> - GDBServer is now in an infinite loop. > > This sounds to me very much like a fairness issue. There were > three threads stopped that needed to move past a breakpoint, but > gdbserver always picks thread 1. Why? It is a fairness issue but not between the stepping over threads, gdbserver could pick any thread rather than thread 1 and still get into the same loop. The problem is one of fairness between stepping over threads and non-stepping-over threads. For example if all the instructions in the thread's execution path have a breakpoint on it such that this thread always needs to step-over and that the only way to break that loop is to let a thread that doesn't need a step-over run then we're in an infinite loop since GDBServer always gives precedence to the threads needing a step-over. Thus this patch created more fairness by giving non-stepping over threads a chance to run. But it doesn't work... I'm not sure this can be fixed it might be more a problem like putting a breakpoint on a mutex and wanting a thread that depends on that mutex to continue... so more a user problem... but non-stop-fair-events is done in a way that this can happen... Ideas are welcome :)