[lldb-dev] [Bug 18066] New: FreeBSD test test_step_single_thread_with_dwarf (TestThreadStepOut.ThreadStepOutTestCase) fails as process does not exit

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Nov 26 07:21:55 PST 2013


http://llvm.org/bugs/show_bug.cgi?id=18066

            Bug ID: 18066
           Summary: FreeBSD test test_step_single_thread_with_dwarf
                    (TestThreadStepOut.ThreadStepOutTestCase) fails as
                    process does not exit
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at cs.uiuc.edu
          Reporter: emaste at freebsd.org
    Classification: Unclassified

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 #2: tid = 102403, 0x00000000004008a3
a.out`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.1
  thread #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
  * frame #0: 0x00000000004008a3 a.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:284

  thread #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:33
    frame #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:284

  thread #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 #2: tid = 103032, 0x00000000004008a3
a.out`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:43
   40       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:33
   30   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 #2: tid = 103032, 0x00000000004008ad
a.out`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:46
   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)
   47   }
   48  
   49   int main ()

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131126/9e7e9425/attachment.html>


More information about the lldb-dev mailing list