6 Commits

Author SHA1 Message Date
David Spickett
4e49ee55c5 [lldb][Test] Disable ConcurrentVFork tests on Arm/AArch64 Linux
They are either flaky, or not cleaning up after themselves.
See https://github.com/llvm/llvm-project/issues/85084.
2024-03-13 14:30:40 +00:00
jeffreytan81
36f866c6ec
Fix vfork test strcmp buildbot failure (#84224)
The buildbot seems to complain about `strcmp` function not available in
the vfork patch (https://github.com/llvm/llvm-project/pull/81564):

https://lab.llvm.org/buildbot/#/builders/68/builds/70093/steps/6/logs/stdio

Unfortunately, I can't reproduce the failure on my linux machine so this
is a guessing fix. If anyone has a way to reproduce and very this fix,
please feel free to merge this change.

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2024-03-07 09:37:27 -08:00
Jordan Rupprecht
ec72909b62 [lldb][test] iwyu for vfork test 2024-03-06 18:41:18 -08:00
jeffreytan81
8bdddcf0bb
Fix lldb crash while handling concurrent vfork() (#81564)
We got user reporting lldb crash while the debuggee is calling vfork()
concurrently from multiple threads.
The crash happens because the current implementation can only handle
single vfork, vforkdone protocol transaction.

This diff fixes the crash by lldb-server storing forked debuggee's <pid,
tid> pair in jstopinfo which will be decoded by lldb client to create
StopInfoVFork for follow parent/child policy. Each StopInfoVFork will
later have a corresponding vforkdone packet. So the patch also changes
the `m_vfork_in_progress` to be reference counting based.

Two new test cases are added which crash/assert without the changes in
this patch.

---------

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2024-03-06 10:50:32 -08:00
Jonas Devlieghere
2238dcc393
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00
Pavel Labath
af9e1fa178 [lldb] Detach the child process when stepping over a fork
Step over thread plans were claiming to explain the fork stop reasons,
which prevented the default fork logic (detaching from the child
process) from kicking in. This patch changes that.

Differential Revision: https://reviews.llvm.org/D141605
2023-04-05 13:25:43 +02:00