dblaikie added a comment.

In D111981#3071378 <https://reviews.llvm.org/D111981#3071378>, @teemperor wrote:

> In D111981#3071349 <https://reviews.llvm.org/D111981#3071349>, @dblaikie 
> wrote:
>
>> So this'll add the right test dependency, if the libcxx project is enabled 
>> in the build? (& if the build hasn't enabled libcxx, the tests will run, but 
>> against the system compiler - and if that system compiler happens to default 
>> to libc++ ( 
>> https://github.com/llvm/llvm-project/blob/e9e4fc0fd3e0780207c731a1f2b8f6aacd24e8f8/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py#L49
>>  )) that should remove the "different results if you run `ninja check-lldb` 
>> before or after `ninja check-libcxx`" issue? Great, thanks!
>>
>> Hmm, it doesn't appear to be working for me, running this (in a clean build 
>> directly, synced to 74c4d44d47b282769f6584153e9b433e8e5fa671 
>> <https://reviews.llvm.org/rG74c4d44d47b282769f6584153e9b433e8e5fa671> which 
>> includes 366fb539485a9753e4a8167fe5140bf4fb00a098 
>> <https://reviews.llvm.org/rG366fb539485a9753e4a8167fe5140bf4fb00a098> (& 
>> validated by inspecting `lldb/test/CMakeLists.txt`) still shows the tests as 
>> unsupported:
>>
>>   CC=clang CXX=clang++ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release 
>> -DLLVM_ENABLE_WERROR=true 
>> -DLLVM_ENABLE_PROJECTS='llvm;clang;clang-tools-extra;lld;lldb;cross-project-tests'
>>  -DLLVM_ENABLE_RUNTIMES='compiler-rt;libcxx;libcxxabi;libunwind' 
>> -DCMAKE_INSTALL_PREFIX=$HOME/install ~/dev/llvm/src/llvm
>>   ninja 
>> check-lldb-api-functionalities-data-formatter-data-formatter-stl-libcxx
>>
>> And then running `ninja cxx` and the same check again:
>>
>>   ********************
>>   FAIL: lldb-api :: 
>> functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
>>  (23 of 23)
>>   ******************** TEST 'lldb-api :: 
>> functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py'
>>  FAILED ********************
>>   Script:
>>   --
>>   /usr/bin/python3.9 
>> /usr/local/google/home/blaikie/dev/llvm/src/lldb/test/API/dotest.py -u 
>> CXXFLAGS -u CFLAGS --env ARCHIVER=/usr/bin/ar --env OBJCOPY=/usr/bin/objcopy 
>> --env 
>> LLVM_LIBS_DIR=/usr/local/google/home/blaikie/dev/llvm/build/release/./lib 
>> --arch x86_64 --build-dir 
>> /usr/local/google/home/blaikie/dev/llvm/build/release/lldb-test-build.noindex
>>  --lldb-module-cache-dir 
>> /usr/local/google/home/blaikie/dev/llvm/build/release/lldb-test-build.noindex/module-cache-lldb/lldb-api
>>  --clang-module-cache-dir 
>> /usr/local/google/home/blaikie/dev/llvm/build/release/lldb-test-build.noindex/module-cache-clang/lldb-api
>>  --executable 
>> /usr/local/google/home/blaikie/dev/llvm/build/release/./bin/lldb --compiler 
>> /usr/local/google/home/blaikie/dev/llvm/build/release/./bin/clang --dsymutil 
>> /usr/local/google/home/blaikie/dev/llvm/build/release/./bin/dsymutil 
>> --llvm-tools-dir /usr/local/google/home/blaikie/dev/llvm/build/release/./bin 
>> --lldb-libs-dir /usr/local/google/home/blaikie/dev/llvm/build/release/./lib 
>> /usr/local/google/home/blaikie/dev/llvm/src/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set
>>  -p TestDataFormatterLibcxxSet.py
>>   --
>>   Exit Code: 1
>>   
>>   Command Output (stdout):
>>   --
>>   lldb version 14.0.0 (g...@github.com:llvm/llvm-project.git revision 
>> 74c4d44d47b282769f6584153e9b433e8e5fa671)
>>     clang revision 74c4d44d47b282769f6584153e9b433e8e5fa671
>>     llvm revision 74c4d44d47b282769f6584153e9b433e8e5fa671
>>   Skipping the following test categories: ['dsym', 'gmodules', 
>> 'debugserver', 'objc']
>>   
>>   --
>>   Command Output (stderr):
>>   --
>>   UNSUPPORTED: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_ref_and_ptr_dsym 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase) (test case does 
>> not fall in any category of interest for this run) 
>>   FAIL: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_ref_and_ptr_dwarf 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>   FAIL: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_ref_and_ptr_dwo 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>   UNSUPPORTED: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_ref_and_ptr_gmodules 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase) (test case does 
>> not fall in any category of interest for this run) 
>>   UNSUPPORTED: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_with_run_command_dsym 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase) (test case does 
>> not fall in any category of interest for this run) 
>>   FAIL: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_with_run_command_dwarf 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>   FAIL: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_with_run_command_dwo 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>   UNSUPPORTED: LLDB 
>> (/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang-x86_64) :: 
>> test_with_run_command_gmodules 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase) (test case does 
>> not fall in any category of interest for this run) 
>>   ======================================================================
>>   FAIL: test_ref_and_ptr_dwarf 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>      Test that the data formatters work on ref and ptr.
>>   ----------------------------------------------------------------------
>>   Traceback (most recent call last):
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbtest.py",
>>  line 1823, in test_method
>>       return attrvalue(self)
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py",
>>  line 128, in test_ref_and_ptr
>>       (self.target, process, _, bkpt) = lldbutil.run_to_source_breakpoint(
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 970, in run_to_source_breakpoint
>>       return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 892, in run_to_breakpoint_do_run
>>       test.assertEqual(process.GetState(), lldb.eStateStopped)
>>   AssertionError: 10 != 5
>>   
>> Config=x86_64-/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang
>>   ======================================================================
>>   FAIL: test_ref_and_ptr_dwo 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>      Test that the data formatters work on ref and ptr.
>>   ----------------------------------------------------------------------
>>   Traceback (most recent call last):
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbtest.py",
>>  line 1823, in test_method
>>       return attrvalue(self)
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py",
>>  line 128, in test_ref_and_ptr
>>       (self.target, process, _, bkpt) = lldbutil.run_to_source_breakpoint(
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 970, in run_to_source_breakpoint
>>       return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 892, in run_to_breakpoint_do_run
>>       test.assertEqual(process.GetState(), lldb.eStateStopped)
>>   AssertionError: 10 != 5
>>   
>> Config=x86_64-/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang
>>   ======================================================================
>>   FAIL: test_with_run_command_dwarf 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>      Test that that file and class static variables display correctly.
>>   ----------------------------------------------------------------------
>>   Traceback (most recent call last):
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbtest.py",
>>  line 1823, in test_method
>>       return attrvalue(self)
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py",
>>  line 49, in test_with_run_command
>>       (self.target, process, _, bkpt) = lldbutil.run_to_source_breakpoint(
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 970, in run_to_source_breakpoint
>>       return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 892, in run_to_breakpoint_do_run
>>       test.assertEqual(process.GetState(), lldb.eStateStopped)
>>   AssertionError: 10 != 5
>>   
>> Config=x86_64-/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang
>>   ======================================================================
>>   FAIL: test_with_run_command_dwo 
>> (TestDataFormatterLibcxxSet.LibcxxSetDataFormatterTestCase)
>>      Test that that file and class static variables display correctly.
>>   ----------------------------------------------------------------------
>>   Traceback (most recent call last):
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbtest.py",
>>  line 1823, in test_method
>>       return attrvalue(self)
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py",
>>  line 49, in test_with_run_command
>>       (self.target, process, _, bkpt) = lldbutil.run_to_source_breakpoint(
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 970, in run_to_source_breakpoint
>>       return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
>>     File 
>> "/usr/local/google/home/blaikie/dev/llvm/src/lldb/packages/Python/lldbsuite/test/lldbutil.py",
>>  line 892, in run_to_breakpoint_do_run
>>       test.assertEqual(process.GetState(), lldb.eStateStopped)
>>   AssertionError: 10 != 5
>>   
>> Config=x86_64-/usr/local/google/home/blaikie/dev/llvm/build/release/bin/clang
>>   ----------------------------------------------------------------------
>>   Ran 8 tests in 3.109s
>>   
>>   RESULT: FAILED (0 passes, 4 failures, 0 errors, 4 skipped, 0 expected 
>> failures, 0 unexpected successes)
>>   
>>   --
>>
>> Any ideas?
>
> I think this is more of a speculative fix (the assert message doesn't have 
> that much information beside that the process crashes).

Oh, mostly my point was "the output changes after I explicitly run `ninja cxx`" 
so it looks like the dependency didn't fully address the build consistency 
issue, regardless of what the failure actually is?

> Can you apply https://reviews.llvm.org/D111978 and see what the error output 
> with that patch is? It should give you exit status/description and stderr.

Sure, I'll give that a go (was going to test it once it was submitted), but 
emulating something similar to the test, by debugging the binary directly:

  $ ./bin/lldb 
./lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.test_with_run_command_dwarf/a.out
  (lldb) target create 
"./lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.test_with_run_command_dwarf/a.out"
  Current executable set to 
'/usr/local/google/home/blaikie/dev/llvm/build/release/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.test_with_run_command_dwarf/a.out'
 (x86_64).
  (lldb) start
  error: 'start' is not a valid command.
  (lldb) r
  warning: (x86_64) /lib/x86_64-linux-gnu/ld-2.32.so Unable to initialize 
decompressor for section '.debug_abbrev': zlib is not available
  warning: (x86_64) /lib/x86_64-linux-gnu/ld-2.32.so Unable to initialize 
decompressor for section '.debug_info': zlib is not available
  Process 3723631 launched: 
'/usr/local/google/home/blaikie/dev/llvm/build/release/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.test_with_run_command_dwarf/a.out'
 (x86_64)
  warning: (x86_64) /lib/x86_64-linux-gnu/ld-2.32.so Unable to initialize 
decompressor for section '.debug_aranges': zlib is not available
  warning: (x86_64) /lib64/ld-linux-x86-64.so.2 Unable to initialize 
decompressor for section '.debug_abbrev': zlib is not available
  warning: (x86_64) /lib64/ld-linux-x86-64.so.2 Unable to initialize 
decompressor for section '.debug_info': zlib is not available
  
/usr/local/google/home/blaikie/dev/llvm/build/release/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.test_with_run_command_dwarf/a.out:
 error while loading shared libraries: libc++.so.1: cannot open shared object 
file: No such file or directory

I don't /think/ there's any reason (given the current Cmake 
configuration/code/etc) that the binary should be able to find libc++.so.1? In 
the libc++ tests (not the lldb libc++ tests, but the libc++ libc++ tests) they 
specify -rpath when compiling libc++ binaries against the just-built libc++ so 
they'll find the just-built libc++.so. I don't see anything like that in the 
lldb libc++ tests/build.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111981/new/

https://reviews.llvm.org/D111981

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

Reply via email to