New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FreeBSD test test_step_single_thread_with_dwarf (TestThreadStepOut.ThreadStepOutTestCase) fails as process does not exit #18440
Comments
Extremely sorry, The attachment 'LLDB stdout - pthread_kill() bug ' was attached to the wrong PR. |
As of today |
Well, the test is broken at the moment, apparently due to API change: ERROR: test_step_single_thread_dwarf (TestThreadStepOut.ThreadStepOutTestCase)
|
Extended Description
This test fails on the assertion
# At this point, the inferior process should have exited.
self.assertTrue(self.inferior_process.GetState() == lldb.eStateExited, PROCESS_EXITED)
output:
runCmd: thread list
output: Process 84775 stopped
thread_func(input=0x0000000000000000) + 323 at main.cpp:43, stop reason = step out thread #​3: tid = 101935, 0x0000000000400744 a.out
step_out_of_here() + 4 at main.cpp:33, stop reason = breakpoint 1.1thread #1: tid = 103003, 0x000000080082a4dc libthr.so.3 at _umtx_op_err.S:37
Expecting sub string: * thread #2
Matched
runCmd: thread backtrace all
output: * thread #2: tid = 102403, 0x00000000004008a3 a.out`thread_func(input=0x0000000000000000) + 323 at main.cpp:43, stop reason = step out
thread_func(input=0x0000000000000000) + 323 at main.cpp:43 frame #​1: 0x0000000800822d34 libthr.so.3
thread_start(curthread=0x0000000801807c00) + 260 at thr_create.c:284thread #3: tid = 101935, 0x0000000000400744 a.out
step_out_of_here() + 4 at main.cpp:33, stop reason = breakpoint 1.1 frame #​0: 0x0000000000400744 a.out
step_out_of_here() + 4 at main.cpp:33frame #1: 0x00000000004008a3 a.out
thread_func(input=0x0000000000000000) + 323 at main.cpp:43 frame #​2: 0x0000000800822d34 libthr.so.3
thread_start(curthread=0x0000000801807800) + 260 at thr_create.c:284thread #1: tid = 103003, 0x000000080082a4dc libthr.so.3 at _umtx_op_err.S:37
frame #0: 0x000000080082a4dc libthr.so.3 at _umtx_op_err.S:37
Expecting sub string: main.cpp:43
Matched
Expecting sub string: main.cpp:33
Matched
runCmd: continue
output: Process 84775 resuming
Process 84775 stopped
FAILURE
Running the commands manually shows that the inferior stops again with stop reason = trace, rather then exiting.
(lldb) thread step-out -m this-thread
Process 84825 stopped
thread_func(input=0x0000000000000000) + 323 at main.cpp:43, stop reason = step out frame #​0: 0x00000000004008a3 a.out
thread_func(input=0x0000000000000000) + 323 at main.cpp:4340 pseudo_barrier_wait(g_barrier);
41
42 // Do something
-> 43 step_out_of_here(); // Expect to stop here after step-out (clang)
44
45 // Return
46 return NULL; // Expect to stop here after step-out (icc and gcc)
thread #3: tid = 103013, 0x0000000000400744 a.out
step_out_of_here() + 4 at main.cpp:33, stop reason = breakpoint 1.1 frame #​0: 0x0000000000400744 a.out
step_out_of_here() + 4 at main.cpp:3330 volatile int g_test = 0;
31
32 void step_out_of_here() {
-> 33 g_test += 5; // Set breakpoint here
34 }
35
36 void *
(lldb) c
Process 84825 resuming
Process 84825 stopped
thread_func(input=0x0000000000000000) + 333 at main.cpp:46, stop reason = trace frame #​0: 0x00000000004008ad a.out
thread_func(input=0x0000000000000000) + 333 at main.cpp:4643 step_out_of_here(); // Expect to stop here after step-out (clang)
44
45 // Return
-> 46 return NULL; // Expect to stop here after step-out (icc and gcc)
47 }
48
49 int main ()
The text was updated successfully, but these errors were encountered: