-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Labels
libc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++abilibc++abi C++ Runtime Library. Not libc++.libc++abi C++ Runtime Library. Not libc++.libunwindrelease:backportrelease:mergedtest-suite
Milestone
Description
I've been investigating the following test failure with the 15.x branch:
FAIL: llvm-libc++abi-shared.cfg.in :: incomplete_type.sh.cpp (29 of 71)
******************** TEST 'llvm-libc++abi-shared.cfg.in :: incomplete_type.sh.cpp' FAILED ********************
[...]
Command Output (stdout):
--
$ ":" "RUN: at line 22"
$ "/usr/lib/ccache/bin/x86_64-pc-linux-gnu-clang++" "--target=x86_64-pc-linux-gnu" "-nostdinc++" "-I" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/libcxxabi/include" "-I" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/runtimes_build-abi_x86_64.amd64/include/c++/v1" "-I" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/runtimes_build-abi_x86_64.amd64/include/x86_64-pc-linux-gnu/c++/v1" "-I" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/libcxxabi/../libcxx/test/support" "-I" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/libcxxabi/../libcxx/src" "-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS" "-std=c++2b" "-Werror" "-Wall" "-Wextra" "-Wshadow" "-Wundef" "-Wno-unused-command-line-argument" "-Wno-attributes" "-Wno-pessimizing-move" "-Wno-c++11-extensions" "-Wno-noexcept-type" "-Wno-atomic-alignment" "-Wno-user-defined-literals" "-Wno-tautological-compare" "-Wsign-compare" "-Wunused-variable" "-Wunused-parameter" "-Wunreachable-code" "-Wno-unused-local-typedef" "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER" "-D_LIBCPP_ENABLE_ASSERTIONS=1" "-D_LIBCPP_DISABLE_AVAILABILITY" "-fcoroutines-ts" "-Werror=thread-safety" "-Wuser-defined-warnings" "-Wno-unreachable-code" "-c" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/libcxxabi/test/incomplete_type.sh.cpp" "-o" "/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/work/runtimes_build-abi_x86_64.amd64/Output/incomplete_type.sh.cpp.dir/t.tmp.one.o"
# command stderr:
ccache: error: Failed to create temporary file for /var/lib/portage/home/.cache/ccache/tmp/tmp.cpp_stdout.XXXXXX: Permission denied
error: command failed with exit status: 1It seems that the problem is that the new test configs (llvm-libc++abi-shared.cfg.in here) do not set config.environment like the legacy config did. As a result, lit only passes a small subset of envvars to the test commands. In this particular case, it strips HOME, XDG_CACHE_HOME and CCACHE_DIR, and ccache tries to write into the wrong directory as a result. If I add a quick debug, at the point of configuration, config.environment is stripped down to:
{'PATH': '/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/temp/python3.10/bin:/usr/lib/ccache/bin:/usr/lib/portage/python3.11/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/15/bin:/usr/lib/llvm/15/bin:/usr/lib/llvm/14/bin', 'LLVM_DISABLE_CRASH_REPORT': '1', 'TERM': 'tmux-256color', 'LD_PRELOAD': 'libsandbox.so', 'TMPDIR': '/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/temp', 'TMP': '/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/temp', 'TEMP': '/tmp/portage/sys-libs/libcxxabi-15.0.0.9999/temp'}I suspect libc++ may be suffering from the same problem but I haven't gotten that far yet.
CC @ldionne
Metadata
Metadata
Assignees
Labels
libc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++abilibc++abi C++ Runtime Library. Not libc++.libc++abi C++ Runtime Library. Not libc++.libunwindrelease:backportrelease:mergedtest-suite
Type
Projects
Status
Done