[Lldb-commits] [lldb] 2abcf44 - [Reproducer] Add test case for expression evaluation

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 6 06:56:54 PST 2019


Thanks Pavel, I’ll investigate today.

On Wed, Nov 6, 2019 at 06:54 Pavel Labath <pavel at labath.sk> wrote:

> 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 at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> >
>
> --
Sent from my iPhone
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191106/f4299cf0/attachment.html>


More information about the lldb-commits mailing list