labath added a comment.

Sorry for not keeping track of this patch -- I'm not very active these days.

Nevertheless, I did notice that this patch introduced some kind of 
nondeterminism/raciness/flakyness to the "finish" command. Specifically, it 
causes the command (as used in TestGuiBasicDebug.py) to fail occasionally (~20% 
of the time). Since this patch landed (in build 3660 
<http://lab.llvm.org:8011/#/builders/68/builds/3660>, there has been a constant 
stream of builds (build 3667 
<http://lab.llvm.org:8011/#/builders/68/builds/3667>, build 3674 
<http://lab.llvm.org:8011/#/builders/68/builds/3674>, build 3678 
<http://lab.llvm.org:8011/#/builders/68/builds/3678>, ...) where this test is 
failing. The test has been stable up to that point.

The breakage can be also by running the test commands without the gui mode:

  $ bin/lldb 
lldb-test-build.noindex/commands/gui/basicdebug/TestGuiBasicDebug.test_gui/a.out
 -o 'br set -f main.c -p "// Break here"' -o r
  (lldb) target create 
"lldb-test-build.noindex/commands/gui/basicdebug/TestGuiBasicDebug.test_gui/a.out"
  Current executable set to 
'/home/pavelo/ll/build/opt/lldb-test-build.noindex/commands/gui/basicdebug/TestGuiBasicDebug.test_gui/a.out'
 (x86_64).
  (lldb) br set -f main.c -p "// Break here"
  Breakpoint 1: where = a.out`main + 22 at main.c:4:3, address = 
0x0000000000401116
  (lldb) r
  Process 32346 stopped
  * thread #1, name = 'a.out', stop reason = breakpoint 1.1
      frame #0: 0x0000000000401116 a.out`main(argc=1, argv=0x00007fffffffdb58) 
at main.c:4:3
     1          extern int func();
     2          
     3          int main(int argc, char **argv) {
  -> 4            func(); // Break here
     5            func(); // Second
     6            return 0;
     7          }
  
  Process 32346 launched: 
'/home/pavelo/ll/build/opt/lldb-test-build.noindex/commands/gui/basicdebug/TestGuiBasicDebug.test_gui/a.out'
 (x86_64)
  (lldb) s
  Process 32346 stopped
  * thread #1, name = 'a.out', stop reason = step in
      frame #0: 0x0000000000401134 a.out`func at func.c:2:3
     1          int func() {
  -> 2            return 1; // In function
     3          }
  (lldb) fin
  Process 32346 exited with status = 0 (0x00000000) 

I've reverted this patch to get the build green. I think it should be fairly 
easy to reproduce this problem (the command line approach fails 100% 
consistently for me), but if you're having trouble reproducing it, let me know, 
and I can send some logs or something. (The logs seem to indicate that the 
"step out" thread plan does not dequeue itself after steping out, but I guess 
the root cause is somewhere else.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D92164

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to