[Lldb-commits] [PATCH] D105180: [lldb][AArch64] Add memory tag writing to lldb-server

David Spickett via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 7 03:23:30 PDT 2021


DavidSpickett added inline comments.


================
Comment at: lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py:56
         # Run the packet stream
         context = self.expect_gdbremote_sequence()
         self.assertIsNotNone(context)
----------------
omjavaid wrote:
> This test is still not stable given we wait for stop notification while process may have exited. This causes test to hang till timeout expiry.
Sure, but I don't think there's a better way to do it. Short of reading from a process that's already exited. (which seems to sort of work for memory but tags have weird results so I don't think it's meant to work)

Note that the test file does pause after the print: https://github.com/llvm/llvm-project/blob/main/lldb/test/API/tools/lldb-server/memory-tagging/main.c#L16

We've got a few scenarios:
* All goes well, we get the print. The test program is in it's delay and we stop it.
* The test crashes at some point before sending the stop. The test program waits 60s then exits.
* The test program crashes before printing. The test waits on the print until it times out.
* The test picks up the print just as the test program is exiting, or has already exited. The test times out waiting for the stop response.

It's not free of timing issues but it means that you won't have either test or test program hanging around if either fails.

What do you think?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105180/new/

https://reviews.llvm.org/D105180



More information about the lldb-commits mailing list