Ericsson / clang

Cross Translation Unit analysis capability for Clang Static Analyzer. (Fork of official clang at http://llvm.org/git/clang)
http://clang.llvm.org/
Other
15 stars 10 forks source link

Broken lldb test RecursiveTypes.py on ctu-clang6 #418

Closed martong closed 6 years ago

martong commented 6 years ago

Anonymous recursive type somehow triggers an already imported assertion. The crux of the problem is that LLDB uses multiple threads, this makes debugging much harder.

egbomrt@elxajwqyp12|~/WORK/llvm2/git/llvm/tools/lldb/test on remotes/origin/release_60
± python dotest.py --executable ~/WORK/llvm2/build/release_assert/bin/lldb -p TestRecursiveTypes.py ../packages/Python/lldbsuite/test/ -v
['dotest.py', '--executable', '/home/egbomrt/WORK/llvm2/build/release_assert/bin/lldb', '-p', 'TestRecursiveTypes.py', '../packages/Python/lldbsuite/test/', '-v']
LLDB library dir: /home/egbomrt/WORK/llvm2/build/release_assert/bin
LLDB import library dir: /home/egbomrt/WORK/llvm2/build/release_assert/bin
lldb version 6.0.0 (git@github.com:llvm-mirror/lldb.git revision 50b0daa322b7e77c6064e0327cb0824d8f2bbba1)
  clang revision 9dfc1095a34258acf8dbc38b1978cc2671b4e2c0
  llvm revision 089d4c0c490687db6c75f1d074e99c4d42936a50
Libc++ tests will not be run because: Unable to find libc++ installation

Session logs for test failures/errors/unexpected successes will go into directory '2018-06-29-18_04_04'
Command invoked: dotest.py --executable /home/egbomrt/WORK/llvm2/build/release_assert/bin/lldb -p TestRecursiveTypes.py ../packages/Python/lldbsuite/test/ -v
compiler=clang

Configuration: arch=x86_64 compiler=clang
----------------------------------------------------------------------
Collected 6 tests

1: test_recursive_type_1_dwarf (TestRecursiveTypes.RecursiveTypesTestCase)
   Test that recursive structs are displayed correctly. ... ok
2: test_recursive_type_1_dwo (TestRecursiveTypes.RecursiveTypesTestCase)
   Test that recursive structs are displayed correctly. ... ok
3: test_recursive_type_1_gmodules (TestRecursiveTypes.RecursiveTypesTestCase)
   Test that recursive structs are displayed correctly. ... ok
4: test_recursive_type_2_dwarf (TestRecursiveTypes.RecursiveTypesTestCase)
   Test that recursive structs are displayed correctly. ... python: ../../git/llvm/tools/clang/lib/AST/ASTImporter.cpp:7766: clang::Decl *clang::ASTImporter::MapImported(clang::Decl *, clang::Decl *): Assertion `(Pos == ImportedDecls.end() || Pos->second == To) && "Try to import an already imported Decl"' failed.
Stack dump:
0.      HandleCommand(command = "print tpi")
[1]    30622 abort      python dotest.py --executable ~/WORK/llvm2/build/release_assert/bin/lldb -p
-> [134]
dkrupp commented 6 years ago

please comment on which phabricator patch this issue is depending on

martong commented 6 years ago

https://reviews.llvm.org/D47632