It seems that this test is very flaky (fails ~10% of time) on linux. E.g: <http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/211/steps/test/logs/stdio>.

It always fails on the same assertion: "Encountered unexpected packet during replay". I've done a bit of digging, and the problems seems to be down to a nondeterministic $M packet being sent while evaluating one of the expressions:
recording:
$M7ffff7fcc140,108:06000000000000000a0000000600000000000000000000000c000000000000000a00000005000000000000000000000012000000000000000a00000005000000650000000000000016000000000000000a0000000900000000000000000000001a000000000000000a000000050000007b000000000000001e00000000000000010000000400000000000000000000002b000000000000000100000004000000000000000000000039000000000000000a00000005000000950000000000000043000000000000000a00000005000000b20000000000000051000000000000000a00000005000000d00000000000000062000000000000000a00000005000000c200000000000000#f7
replay:
$M7ffff7fcc140,108:06000000000000000a0000000600000000000000000000000c000000000000000a00000005000000000000000000000012000000000000000a00000005000000650000000000000016000000000000000a0000000900000000000000000000001a000000000000000a000000050000007c000000000000001e00000000000000010000000400000000000000000000002b000000000000000100000004000000000000000000000039000000000000000a00000005000000960000000000000043000000000000000a00000005000000b30000000000000051000000000000000a00000005000000d10000000000000062000000000000000a00000005000000c300000000000000#fc

It's possible that this is specific to linux, as this particular failure happened while evaluating the mmap() helper expression (which we don't do on mac), but it's also possible (and more likely, I think) that this is a more general problem. Nonetheless, I haven't seen it fail on green dragon, so I've disabled in only on linux for now.

pl


On 05/11/2019 21:33, Jonas Devlieghere via lldb-commits wrote:

Author: Jonas Devlieghere
Date: 2019-11-05T12:33:21-08:00
New Revision: 2abcf44f4c91a326d1f4513fb5c25fec51c6ca66

URL: 
https://github.com/llvm/llvm-project/commit/2abcf44f4c91a326d1f4513fb5c25fec51c6ca66
DIFF: 
https://github.com/llvm/llvm-project/commit/2abcf44f4c91a326d1f4513fb5c25fec51c6ca66.diff

LOG: [Reproducer] Add test case for expression evaluation

Added:
     lldb/test/Shell/Reproducer/Functionalities/Inputs/ExpressionEvaluation.in
     lldb/test/Shell/Reproducer/Functionalities/TestExpressionEvaluation.test

Modified:
Removed:

################################################################################
diff  --git 
a/lldb/test/Shell/Reproducer/Functionalities/Inputs/ExpressionEvaluation.in 
b/lldb/test/Shell/Reproducer/Functionalities/Inputs/ExpressionEvaluation.in
new file mode 100644
index 000000000000..8887c201d92e
--- /dev/null
+++ b/lldb/test/Shell/Reproducer/Functionalities/Inputs/ExpressionEvaluation.in
@@ -0,0 +1,10 @@
+breakpoint set -f foo.cpp -l 11
+run
+p foo
+next
+p Foo(2, 3.33);
+p $1
+p foo = Foo(3, 4.44);
+p foo
+cont
+reproducer generate

diff  --git 
a/lldb/test/Shell/Reproducer/Functionalities/TestExpressionEvaluation.test 
b/lldb/test/Shell/Reproducer/Functionalities/TestExpressionEvaluation.test
new file mode 100644
index 000000000000..d826a47cb245
--- /dev/null
+++ b/lldb/test/Shell/Reproducer/Functionalities/TestExpressionEvaluation.test
@@ -0,0 +1,18 @@
+# UNSUPPORTED: system-windows, system-freebsd
+
+# This tests that expression evaluation continues to work when replaying a
+# reproducer.
+
+# RUN: rm -rf %t.repro
+# RUN: %clangxx_host %S/Inputs/foo.cpp -g -o %t.out
+
+# RUN: %lldb -x -b -s %S/Inputs/ExpressionEvaluation.in --capture 
--capture-path %t.repro %t.out | FileCheck %s
+# RUN: %lldb --replay %t.repro | FileCheck %s
+
+# CHECK: stop reason = breakpoint 1.1
+# CHECK: (Foo) $0 = (m_i = 0, m_d = 0)
+# CHECK: stop reason = step over
+# CHECK: (Foo) $1 = (m_i = 2, m_d = 3)
+# CHECK: (Foo) $1 = (m_i = 2, m_d = 3)
+# CHECK: (Foo) $2 = (m_i = 3, m_d = 4)
+# CHECK: (Foo) $3 = (m_i = 3, m_d = 4)


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


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

Reply via email to