This is an archive of the discontinued LLVM Phabricator instance.

Fix TestDataFormatter.test uninitialized variable
ClosedPublic

Authored by jankratochvil on Mar 7 2019, 3:48 AM.

Details

Summary

After D55626 I see a failure in my Fedora buildbot:

FAIL: LLDB :: Reproducer/Functionalities/TestDataFormatter.test (76 of 1540)
******************** TEST 'LLDB :: Reproducer/Functionalities/TestDataFormatter.test' FAILED ********************
Script:
--
: 'RUN: at line 5';   rm -rf /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.repro
: 'RUN: at line 6';   /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/bin/clang -pthread /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/Reproducer/Functionalities/Inputs/foo.cpp -g -o /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.out
: 'RUN: at line 8';   /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/bin/lldb --no-lldbinit -S /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/lit-lldb-init -x -b -s /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/Reproducer/Functionalities/Inputs/DataFormatter.in --capture /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.repro /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.out | /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/bin/FileCheck /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/Reproducer/Functionalities/TestDataFormatter.test
: 'RUN: at line 9';   /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/bin/lldb --no-lldbinit -S /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/lit-lldb-init --replay /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.repro | /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/build/bin/FileCheck /home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/Reproducer/Functionalities/TestDataFormatter.test
--
Exit Code: 1

Command Output (stderr):
--
/home/jkratoch/slave-lldb-x86_64-fedora/lldb-x86_64-fedora/llvm/tools/lldb/lit/Reproducer/Functionalities/TestDataFormatter.test:12:10: error: CHECK: expected string not found in input
# CHECK: (Foo) foo = (m_i = 0, m_d = 0)
         ^
<stdin>:15:2: note: scanning from here
 frame #0: 0x000000000040112e TestDataFormatter.test.tmp.out`main(argc=1, argv=0x00007fffffffea08) at foo.cpp:11:7
 ^
<stdin>:43:1: note: possible intended match here
(Foo) foo = (m_i = 1, m_d = 2)
^

There is uninitialized variable as the Foo constructor has not been run and foo is an autovariable:

(lldb) breakpoint set -f foo.cpp -l 11
Breakpoint 1: where = TestDataFormatter.test.tmp.out`main + 30 at foo.cpp:11:7, address = 0x000000000040112e
(lldb) run
Process 801065 stopped
* thread #1, name = 'TestDataFormatt', stop reason = breakpoint 1.1
    frame #0: 0x000000000040112e TestDataFormatter.test.tmp.out`main(argc=1, argv=0x00007fffffffcc48) at foo.cpp:11:7
   8   	};
   9   	
   10  	int main(int argc, char **argv) {
-> 11  	  Foo foo(1, 2.22);
   12  	  return 0;
   13  	}

Process 801065 launched: '/home/jkratoch/redhat/llvm-monorepo-clangassert/tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.out' (x86_64)
(lldb) frame var
(int) argc = 1
(char **) argv = 0x00007fffffffcc48
(Foo) foo = (m_i = 4198432, m_d = 0)

While the testcase expects m_i will be 0.

Diff Detail

Repository
rLLDB LLDB

Event Timeline

jankratochvil created this revision.Mar 7 2019, 3:48 AM
JDevlieghere accepted this revision.Mar 7 2019, 9:28 AM

Thank you!

This revision is now accepted and ready to land.Mar 7 2019, 9:28 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMar 7 2019, 9:38 AM