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 <jmole...@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 <jmole...@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 >>> <revi...@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 >>> >>> >>> >> > _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits