From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22829 invoked by alias); 10 Feb 2017 19:26:44 -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 22816 invoked by uid 89); 10 Feb 2017 19:26:43 -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,SPF_PASS autolearn=ham version=3.3.2 spammy=H*i:sk:9751aea, H*MI:sk:9751aea, H*f:sk:9751aea X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Feb 2017 19:26:33 +0000 Received: from ESESSHC018.ericsson.se (Unknown_Domain [153.88.183.72]) by (Symantec Mail Security) with SMTP id FE.72.24099.7E31E985; Fri, 10 Feb 2017 20:26:31 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.72) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 10 Feb 2017 20:26:30 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.48.238] (192.75.88.130) by DB4PR07MB396.eurprd07.prod.outlook.com (10.141.236.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.5; Fri, 10 Feb 2017 19:26:29 +0000 Subject: Re: [PATCH] Don't send queries to the MI interpreter To: Pedro Alves , Simon Marchi References: <20170210163650.10334-1-simon.marchi@ericsson.com> <89904751-7015-b272-98c1-33e786f7c356@redhat.com> <85ae4ad9-acdc-c9ba-6606-a7ac2abc7e2e@redhat.com> <0d8bd42f-5964-1ac7-414a-754540db2e95@redhat.com> <71cf7c59-8b3c-595d-b4ec-69f44ae3d6fc@ericsson.com> <9751aea3-0481-4c4b-52e5-3dcccbf89bad@redhat.com> CC: From: Simon Marchi Message-ID: <03fc7380-fa10-f013-927d-d8b2cbda6f1c@ericsson.com> Date: Fri, 10 Feb 2017 19:26:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <9751aea3-0481-4c4b-52e5-3dcccbf89bad@redhat.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN6PR1001CA0031.namprd10.prod.outlook.com (10.174.84.44) To DB4PR07MB396.eurprd07.prod.outlook.com (10.141.236.19) X-MS-Office365-Filtering-Correlation-Id: 64727456-c2e0-40c7-c0c3-08d451eab6eb X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DB4PR07MB396; X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB396;3:U9nV53S2Qau7EWvr8zHqaSn+vegMD5JC+W45LzzvXnVlnQTJfXNALVh/a98o9hkNNv+0bA4zIa4a1HMLPwp50cSUKHQZkH4oh2na4T7f5vfaZSpkWv9gjmzVLJWYDElknBVhY/6b1b7CleOYftqHTC/pMtpVBaSpYNqwIn5Wvm5c6Ozt+EiQpNLxB36Mex4VVqguW0y52CBZyJHA+iIQBiIDgmJcAxvVKrZK0nyPs6cfcm4Jr6fI7Djq8XcrfdreBZZLF1sDaP0qgXwHuqklLw==;25:GqpD+8ue75r7hUp5LLZ6Wb+UHTgfMYPwslDFfw8BF/LjZYjv91Bbeoft5hr0/4+pzaEk36N6iLu3EXA4TedspRPBugZBveN3ov3IKQm6Bz6VdLIE1B61npefYXExWMGBIMZG5eDervAL/yspeX9HCZZb0gzzvQiVFdeNpOD+cy0Sd8P8+FoMAXPGxhjK7Hd0Zo1g85v/xNPSkKz9NAE2PZmKv4ecziYzwTnDH9YFpzcwAeCfrEaWcjH4Zdj0cmtzN0VYQfbLmavKDbC3LdJe79Bf45rHfVoC7Bbk4ou14ldflNk0tskVvwpLsBUlt8F5cgV8+CYOXfdmOkVr1sZLavZL5ZCw43A17rTgQo8NF/spX1sENOnsjqF9lt+8YdOMt/Lyljnqz1Edclq6ICvwk3JfPB4IzbBDxFiLpwT5FfrV9sgEjyO0nQuJb5yfQ05n+ypVTzNjKcDvUEC1W8KUWg== X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB396;31:rA8jjGSvR66pb9fglb+tXMgdnMlcdwIAT239PmXsdi6O2fnAdd8HwMFWlR+WOhOnAWyuOHcT6uie8dWbs7VwGPDHaPtSfuwBR+vUxjwzXGpG/ugA5z51UAL5hoBztJfUUoSgWTRfW2xmoZ0RV9cZSwHnDf9VlTxQFd/ceqJwJNjevYcMF1kz4GchQHi5jP1vEGrB5iAjtnNuU9Ra6MgSSLYwj9qoo4VzMh3YyfoL8PyE6+O1ee0ArY9Cg8RYwhXJ6gAIk0s+2ZrfB3YKg87qNd6Y1bUrOv8wh0P75lagrOs=;20:BE3U5Hly6itQQi+Y4dLqs/Cgp82l7bHof1eXP1CDU58/p3EBWLPMYQ1uAo7zFReqI0aitt/t60TlRPwogjbbKFIHf/+s3QrGV9j69LZAq8soETW668CKosypj7HQ8qSi+/QkUIMeiICRU7ypp2c/dClDBrrXtV+sQ3p7Ks09QO/HkO7tTp4BDNfG7v8LEJ9mBch5qYc6c42AHv5zPkUEurh7kywB84Y+PUNPULFyZSegLNSShtoRJqUvRN5K2lzKqUHrJSmM2OJRtPLiJERrtDfFi/Ai/xkoHivkOosbql1xxsVFjJ8KQ6vvRUhCJjJrEfXsbLJoStP3nL/lUTO3gTkDppz9fn+JwEynVBNWzh06ufQW7puf6IKDg6GAswF/7kDtX+UDuak19iJt+Yrl7QAY++4FRXSE4qUE4Gam5bBNMbONxdCJK1KwrWEtZWcllW/B0g2OH5JLjXnJ8WcVvl2Px1KP/zQzC+ma39xGOt+2VTgWJorL34ppVsKf9KPV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123560025)(20161123558025)(20161123564025)(6072148);SRVR:DB4PR07MB396;BCL:0;PCL:0;RULEID:;SRVR:DB4PR07MB396; X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB396;4:rj04JLhKK9JwXQ+CGm4UiAmCMqdsK72RJ15UjUSywlE0Omk2XQeK8h/cvBWoSEHkWzNt3MihhjpvRvav+oPVqqnIdMkqFjD+fUrXIYpydwcSoUvQ38IBdCA8P2aduSYldFJl7aGNgNNYMiTdfw9/4Wvumes1zYMKEpIfqmqPVbL1YIhve7Hnz+EdwT81bW1x23ZSTvfHPpgFNAVF8K3ZXkF/q5XdhbEwcbtM5v63pxfcpG5xhEv5xlOSxKmliBM12Ow69rXcmwLg/gYLEmu1SDCNM1euHUMesj6tZJzMDgCAMIjoBwaSvnmcsqhBNuuOprPFjH/XNhtsY22IFmuRfH67GDy4EyH4Jx6oNuSCJa37rioXJ21Q7c1Kr8vc8bgcUbVdqSDQovad25v5vDZtSrZsHWzRKKakS3gBkHldffQaK3buztwXhM8SOi20ZF/V0tkkLZzd3wZTZXkVUtJo2tEWyZINRYCfLlMRnRCYo95LGDyOLaVuRtyFjg+nKlgYdmb4xM4JFJlZggI56yewAU7Vmg8ma31vaLGOHyABl5gVnW5jI6P5cKj2TkMB/LwVU+5oIUXc5bDYabf0mv/AD+ZJ713wtN8QLK1Kb8NInJuYDUZUfebz/C6QxVE6tM+S/RNDO8KIuKfaIbBN0fMBzg== X-Forefront-PRVS: 0214EB3F68 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(39450400003)(51444003)(377454003)(189002)(24454002)(377424004)(199003)(76176999)(5660300001)(81156014)(54356999)(50986999)(305945005)(7736002)(42186005)(90366009)(2906002)(50466002)(65826007)(3846002)(106356001)(53546003)(23746002)(68736007)(33646002)(230700001)(97736004)(93886004)(38730400002)(105586002)(2950100002)(6246003)(92566002)(101416001)(4001350100001)(31686004)(53936002)(6306002)(47776003)(64126003)(25786008)(4326007)(189998001)(6116002)(65806001)(36756003)(86362001)(6486002)(5890100001)(83506001)(81166006)(6666003)(8676002)(65956001)(229853002)(31696002)(66066001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR07MB396;H:[142.133.48.238];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: =?Windows-1252?Q?1;DB4PR07MB396;23:EPOcu2INFOMYjA2Uj74D/8npenPFtlWXWMyLpw?= =?Windows-1252?Q?aj1qyha7Rc3Mumsm2hQkwh1rahc1vSCgtaayoOh9M51LZF2b4uJZR5da?= =?Windows-1252?Q?i8uKGzsTJgX38Aef5WVRsui8vG4c985fZ/o0cDz+lm7wzagZ992nQDWu?= =?Windows-1252?Q?PQ1uijjX0bZ7oPhm4cZFKUa2YNkJBQh6v7TzE08l2vrufzGIPW6Q5VMS?= =?Windows-1252?Q?/r8B01J8/RBA0toYI0B479IVI9JlAPmQX7JUg5l9GO5M56JEW1KesqCm?= =?Windows-1252?Q?QJq5caL29aAjIkUstWARR8eqUTCf1dTUecKX7P6HEI/qlOMU+jEuSKjC?= =?Windows-1252?Q?vQWGEfAZzeV/bNeNnQAzEw4pg86VMkHmxppQP/oXaVcvFOKtFJyqcvzN?= =?Windows-1252?Q?1Pu6hBsDCKTzHf7807mOIG+vP1llxlIYktqr+4JCU98D/U/2vuhd/BA+?= =?Windows-1252?Q?x61qN/9sBRwiVG8jIxGCko3b+cOoANsNRTq6lbeIs+Nwt55teAFbLu/A?= =?Windows-1252?Q?P34yOuGTzeJ9HCKUh7F7ckyr/fYLJ7FmxxH0f2xjeW7b5w8JFvqPt6sW?= =?Windows-1252?Q?eMcLbH4RPvze/uquPEl+ym/+VzVDxL/nkZVNqS/Z/MURYDWAzcW3W/vF?= =?Windows-1252?Q?8KC20LqE7l5oE8P1E7UDvW68IhE7y+z4HSVoF0/i+/ypWUAw++qh+t6C?= =?Windows-1252?Q?VhEezvA9C6RfPcXgtM0KPhV0XYWDnkNsf/RZNIhrRyCk6f+RNhEIYJX5?= =?Windows-1252?Q?stJvIUcvxsLSZo9k+51HeBdH+S7V3P/mynibvtya7iTPnU/47jfABeC8?= =?Windows-1252?Q?t+/8+I5zMv67p7R4tRUgsxTiFzRD7TpSwKS/7WXWFTfq+a/1sWrNzE5r?= =?Windows-1252?Q?+ZJBKlnCTgV3ajEkhwibzhKBgCVirdZja9a8WnSYFqoktaNnbdpFpEfz?= =?Windows-1252?Q?ty3Y9vVrK1Pd36TYAShU11HomqFXbFd13Q2YByBdJlqqhqCtbAi4ZDxZ?= =?Windows-1252?Q?RHCT47nyDc/U3mviB4pce7vY1HwSf1QXvlcV0cbHgk3t3KgjeHiT6Yr1?= =?Windows-1252?Q?9fMvAs3L1WklV+qv1z+u2EUDoxdi3YG+QuXGiANbCqcI4IgUn8bsigNz?= =?Windows-1252?Q?5PeKFniYVKR46Zz+G2IrYGTEkeuERlq6kLU0IVfVcA0omCWTOHxwzoj5?= =?Windows-1252?Q?Hx//3Jflmnvct5WsJ++mgbUq4yl+KR7u+XdCR3gLAQDwE109ukeOjXCi?= =?Windows-1252?Q?4AoOhvNUf6EIZf6iEwAyHNKLq2wg4bUr4lHtTb9YngS2TOy/VyQTgpdD?= =?Windows-1252?Q?RzSXW8Rd036VLQytoRA4ALfm46XeH9sAXmh7P0XUuGBBK2UuJ8b329ZU?= =?Windows-1252?Q?r2CcaSxc4qW2e+kFLklRtX7zmR8xUbzGS+9olAUtkf6TSnbqosfjJU2g?= =?Windows-1252?Q?3rjpxqs2mjAGdzBd88y/df/tHW+LNtBijxMoyn4goSSIpYihSZzfWswN?= =?Windows-1252?Q?67yWz21wRftzh6g6mjiZphSh+nDZnXVSaDIGYEwcp5mvCFph1ewwyDWB?= =?Windows-1252?Q?5Z48KM1knpNq75CxRR1/M/vSxgpduNCOWA?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB396;6:D30x/W3jIzXbbnUf2o3t6TC9Z3Gwdh7vGidPQLPs+4lrLw7ee9WuAA1HSE9NCSLXuCHcByLYwtUzbCi+nIq7vX0VbRa5uEhc81mf5U4gS6K3EBDuws2heq0hEmBCcPkJ8R3e8jVXIF2F7atigjMu6ZD5Hb6Id7U4ulhVHiX7TeD5M51S6be6bXiYsxKAi53TixWB8bYpz+AfYCTcAdiaP88o9gDZtAC+LOQh6s3QFdpNL7IHivlwZ35I//r5EWSiUXe1zbpHuL6vDVSZjkNNdvzkjvqH/drVpSyXcnGhZ/rK8bWsnrtUatdF0VuA+6zekF3jWcjttftHeFtllWJFDYxM5y+o+OBx0ArLi0/UHsbh2LkP7b7byJio8izBbKWbH7fq5P/BgpoUG9voK/H55A==;5:9oxBvIJ2KN9laWK056zNG+mIjxSpayW1qGOCkGQ9lXfQpqh/2bjVccHrz22Bcqg1Qt5pklB6+7KATEj8hAsUHxMmuqV63912FuxYg30ii4wS0ZG/6xhbKPNL4yBSh6/CLERrVDXcfguKFAuBMmYfQw==;24:2TSqkNAaDyDFJYvYnuROd0drF/tBqjC5642UcjFkNH/R7FglPYic9C/0Oo/ar4aKj4/CswiSonb4amUWRIFAx0UZJKFK5hVlL2JA9nO2AMs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB396;7:cxftE/AqzyY0ix/u3x62NCoRLFZp9vQEe2N2iUJ/Roubo3UzNm9rg07FoLTMgONpY336KLcfTtgx3ByJe3A6sbqKvNiUTBPba7/seeb3hbaj/BaPLCBLtVMbQXpTtI8Y7I59NWWY6ycAgB1ej64SS1N1sNeP4w4gDVVcs83i2vgOWF/oBSCls0Pag7f1Pe9WEQD47xjFUKDDz2k6H9G2unyu0cfdiwuPmFGF9xGXjD2MYDb+/N8IzHhp6WGyD8nSKvv12GiWfIPO+K+JaDqbARc+8jVzWDwJ7vpROoeFFNhrPm54J8s97r5oEvmICbOc2b9C4TVG4aP8SVVlAXSHzQejL0EaNGJ+R6TtXEF8qIGVJUSQPsXfdd7Eq8M34NgvcriBUFYz6umdwwZ94BShyq1a4ONVyw7kBKpPLMWjiwnl0ug5U64WWnElm31FhyZBWON5jQtQ59aj6F6sYY+ukandG7J/FeYR9aux+Z6CC65tosweJocU92P/L6leEEtb1ghIC2pXQjk+PUFJ3aMX5Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2017 19:26:29.3401 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB396 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00279.txt.bz2 On 17-02-10 02:19 PM, Pedro Alves wrote: > On 02/10/2017 07:05 PM, Simon Marchi wrote: >> On 17-02-10 01:07 PM, Pedro Alves wrote: > >>> So I think that to support multiple queries like that >>> the simplest / most natural would be to make each >>> UI above run on its own thread, so that each would have >>> its own independent stack/frames. >> >> Indeed. That represents a tremendous amount of work I imagine, >> putting the proper locking mechanisms in place... And if you >> are holding a lock while the query is issued, it would still >> block some other things. > > I had it working with a GIL/BKL-style lock, in the original > "new-console" prototype that was later rewritten into what > is "new-ui" today. I.e,. even though we'd have multiple > threads, only one thread really runs at a time. The idea > was that we'd start with a big lock, and then over time break > down the lock into more finer-grained locks. > > Here: > > https://github.com/palves/gdb/commits/palves/console-extra > > - A thread per UI. See the "Start a thread for each UI" patch. > - Per-UI readline (with a giant readline hack) > - Per-UI nurses/TUI instance (it really works!) :-) And which thread handles inferior events? > The trouble is that this then trips on another nasty problem: > > All ptrace calls targeting a process must be issued > from the thread that first attached to that inferior process. > The kernel rejects the ptrace call otherwise eith EIO/EINVAL > or some such, I don't recall which. So on that branch, with > native debugging, if you start the inferior on UI #1, and then > try to read memory from UI #2, it fails... If you instead > try the same against gdbserver, it all works, because in that > case gdbserver handles the ptrace calls, not gdb, so all > ptrace calls come from the same thread in that case. > So for native debugging, we'd need to marshall all ptrace > requests through the same thread... A PtraceService... it starts to look just like CDT! :)