[Lldb-commits] [PATCH] D62931: [lldb-server] Add setting to force 'g' packet use

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Fri Nov 8 18:25:51 PST 2019


I'm switching the default for at least the weekend via 60ab30ebce833c87bd4776f67cd9a82fe162ef9c / https://reviews.llvm.org/rG60ab30ebce83 so the bots aren't failing because of this, we can all look into this next week.  I think the best solution is to get lldb to fall back to p/P if g/G are not supported (which we need to talk to some targets), and disable debugserver's g/G packet support until I can debug where the bug is over there.

I'm still concerned about some of the macos CI bots which use the installed debugservers, which will continue to have this g/G bug for a while, we'll figure all that out next week.



> On Nov 8, 2019, at 5:41 PM, Jason Molenda <jmolenda at apple.com> wrote:
> 
> Hm, a follow-on problem is that there's some bug between debugserver and lldb with the g/G packets which is causing bot failures on macos systems. lldb has never used g/G before (if p/P was available) because debugserver seeds all of the GPR values with the stop packet (? aka Tnn) or with the jThreadsInfo packet when we have a public stop and want the GPRs for all the threads, so there was no driving perf need.  
> 
> g/G would be a perf benefit if you were fetching the floating point registers on every step, which could definitely happen in an IDE, but it's not common, so we stuck with the simpler p/P.
> 
> Given that TestRegisters.py and some filecheck tests are failing on macos the bots, I think it might be best to change the default value for plugin.process.gdb-remote.use-g-packet-for-reading to false until next week when we can get to the bottom of the debugserver g/G issue.  
> 
> I'm not sure of the configuration of the bots; I think some of them use the installed debugserver binaries (which are code signed by apple etc) instead of the just-built one.  I'm not sure how we'll structure TestRegisters.py and the filecheck tests to handle the difference correctly.  We can figure that out next week.
> 
> 
> J
> 
>> On Nov 8, 2019, at 4:15 PM, Jason Molenda <jmolenda at apple.com> wrote:
>> 
>> A heads-up - lldb is failing to detect the case where the remote gdb RSP stub does not support the 'g' packet.  I found this while doing some bare board debugging; g fails and doesn't fall back to fetching register values individually.  
>> 
>> I wrote a test TestNoGPacketSupported.py to show this behavior - it's currently marked as @expectedFailureAll.  If I add the plugin.process.gdb-remote.use-g-packet-for-reading = false setting, the test case passes, but of course we can't require people to use that.  lldb has to be adaptive to the packets that the remote stub supports.
>> 
>> 
>> I'll try to look at the updating the changes to work correctly in this environment, but I wanted to raise the issue more widely in case anyone has a chance before me. 
>> 
>> 
>> J
>> 
>> 
>>> On Oct 30, 2019, at 9:30 AM, Guilherme Andrade via Phabricator <reviews at reviews.llvm.org> wrote:
>>> 
>>> guiandrade added a comment.
>>> 
>>> In D62931#1726865 <https://reviews.llvm.org/D62931#1726865>, @labath wrote:
>>> 
>>>> This looks fine to me. Thanks for your patience. Do you still need someone to commit this for you?
>>> 
>>> 
>>> Np. Yes, I do. Could you please do it for me?
>>> 
>>> Thanks!
>>> 
>>> 
>>> Repository:
>>> rG LLVM Github Monorepo
>>> 
>>> CHANGES SINCE LAST ACTION
>>> https://reviews.llvm.org/D62931/new/
>>> 
>>> https://reviews.llvm.org/D62931
>>> 
>>> 
>>> 
>> 
> 



More information about the lldb-commits mailing list