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