Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4 |
|
#
bcb8a945 |
| 24-Feb-2023 |
Fangrui Song <i@maskray.me> |
[lldb][test] Fix vCont-threads/main.cp for -std=c++11
|
#
1c417da0 |
| 24-Feb-2023 |
Fangrui Song <i@maskray.me> |
Remove uses of ATOMIC_VAR_INIT
ATOMIC_VAR_INIT has a trivial definition `#define ATOMIC_VAR_INIT(value) (value)`, is deprecated in C17/C++20, and will be removed in newer standards.
|
Revision tags: llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
9790406a |
| 01-Jul-2022 |
Michał Górny <mgorny@moritz.systems> |
Reland "[lldb] [test] Improve stability of llgs vCont-threads tests"
Perform a major refactoring of vCont-threads tests in order to attempt to improve their stability and performance.
Split test_vC
Reland "[lldb] [test] Improve stability of llgs vCont-threads tests"
Perform a major refactoring of vCont-threads tests in order to attempt to improve their stability and performance.
Split test_vCont_run_subset_of_threads() into smaller test cases, and split the whole suite into two files: one for signal-related tests, the running-subset-of tests.
Eliminate output_match checks entirely, as they are fragile to fragmentation of output. Instead, for the initial thread list capture raise an explicit SIGINT from inside the test program, and for the remaining output let the test program run until exit, and check all the captured output afterwards.
For resume tests, capture the LLDB's thread view before and after starting new threads in order to determine the IDs corresponding to subthreads rather than relying on program output for that.
Add a mutex for output to guarantee serialization. A barrier is used to guarantee that all threads start before SIGINT, and an atomic bool is used to delay prints from happening until after SIGINT.
Call std::this_thread::yield() to reduce the risk of one of the threads not being run.
This fixes the test hangs on FreeBSD. Hopefully, it will also fix all the flakiness on buildbots.
Thanks to Pavel Labath for figuring out why the original version did not work on Debian.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D129012
show more ...
|
#
fad93cd6 |
| 07-Jul-2022 |
Michał Górny <mgorny@moritz.systems> |
Revert "[lldb] [test] Improve stability of llgs vCont-threads tests"
This reverts commit 86e472317c8fd9309b76c32ca55fcdeaf63f853b. It breaks Debian buildbot, for some reason.
|
#
86e47231 |
| 01-Jul-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [test] Improve stability of llgs vCont-threads tests
Perform a major refactoring of vCont-threads tests in order to attempt to improve their stability and performance.
Split test_vCont_run_s
[lldb] [test] Improve stability of llgs vCont-threads tests
Perform a major refactoring of vCont-threads tests in order to attempt to improve their stability and performance.
Split test_vCont_run_subset_of_threads() into smaller test cases, and split the whole suite into two files: one for signal-related tests, the running-subset-of tests.
Eliminate output_match checks entirely, as they are fragile to fragmentation of output. Instead, for the initial thread list capture raise an explicit SIGSTOP from inside the test program, and for the remaining output let the test program run until exit, and check all the captured output afterwards.
For resume tests, capture the LLDB's thread view before and after starting new threads in order to determine the IDs corresponding to subthreads rather than relying on program output for that.
Add a mutex for output to guarantee serialization. A barrier is used to guarantee that all threads start before SIGSTOP, and an atomic bool is used to delay prints from happening until after SIGSTOP.
Call std::this_thread::yield() to reduce the risk of one of the threads not being run.
This fixes the test hangs on FreeBSD. Hopefully, it will also fix all the flakiness on buildbots.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D129012
show more ...
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
#
b4f2d7cd |
| 03-Jun-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs] Support "t" vCont action
Implement support for the "t" action that is used to stop a thread. Normally this action is used only in non-stop mode. However, there's no technical reason w
[lldb] [llgs] Support "t" vCont action
Implement support for the "t" action that is used to stop a thread. Normally this action is used only in non-stop mode. However, there's no technical reason why it couldn't be also used in all-stop mode, e.g. to express "resume all threads except ..." (`t:...;c`).
While at it, add a more complete test for vCont correctly resuming a subset of program's threads.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D126983
show more ...
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
0bbe2a3c |
| 30-Mar-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb] More missing includes in TestGdbRemote_vContThreads
|
#
97091866 |
| 30-Mar-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb] Add missing include in TestGdbRemote_vContThreads test
should fix the arm builtbots.
|
#
04b766da |
| 30-Mar-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Deflake TestGdbRemote_vContThreads even more
This patch fixes an issue, where if the thread has a signal blocked when we try to inject it into the process (via vCont), then instead of ex
[lldb/test] Deflake TestGdbRemote_vContThreads even more
This patch fixes an issue, where if the thread has a signal blocked when we try to inject it into the process (via vCont), then instead of executing straight away, the injected signal will trigger another stop when the thread unblocks the signal.
As (linux) threads start their life with SIGUSR1 (among others) disabled, and only enable it during initialization, injecting the signal during this window did not behave as expected. The fix is to change the test to ensure the signal gets injected with the signal unblocked.
The simplest way to do this was to write a dedicated inferior for this test. I also created a new header to factor out the function retrieving the (os-specific) thread id.
show more ...
|