Description
- Checked for duplicates
Describe the bug
After glibc got upgraded to 2.39, among other core dependencies, I've started having segmentation faults again with cling, for example I now reproduce the segfault from the recipe in #451.
I've tried updating Cling from 1.0 to 1.1, using root-project with tag llvm-cling16-20240621-02
, and the cling source at tag 1.1
. Every component get built separately (different packages) as a shared library, the same LLVM gets built in Guix:
- llvm-cling (the Cling LLVM variant)
- clang-cling-runtime (the clang-runtime cling variant)
- clang-cling (the Cling Clang variant)
- cling
Expected behavior
The test suite should pass.
To Reproduce
This can be reproduced using GNU Guix, a package/environment manager that can be installed on top of any GNU/Linux distribution.
- Install Guix with https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
- Update Guix with
guix pull
- If you use Fedora you'll need to disable the SELinux, as Guix doesn't support it yet.
- Re-login to complete installation.
- Build cling with:
guix time-machine -q --url=https://gitlab.com/apteryks/guix --branch=cling-bug534-repro -- build cling
- Observe the build fail with (see the full log attached).
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: Cling :: Prompt/ValuePrinter/Ptrs.C (187 of 190)
******************** TEST 'Cling :: Prompt/ValuePrinter/Ptrs.C' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 10: cat /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Ptrs.C | /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include | /gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/bin/FileCheck /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Ptrs.C
+ cat /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Ptrs.C
+ /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include
+ /gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/bin/FileCheck /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Ptrs.C
In file included from input_line_12:1:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/memory:77:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/bits/shared_ptr.h:52:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/iosfwd:40:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/bits/postypes.h:40:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/cwchar:44:
/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/include/wchar.h:35:10: fatal error: 'stddef.h' file not found
#include <stddef.h>
^~~~~~~~~~
In file included from input_line_14:1:
In file included from /tmp/guix-build-cling-1.1.drv-0/source/include/cling/Interpreter/RuntimePrintValue.h:20:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/filesystem:44:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/bits/fs_fwd.h:35:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/system_error:39:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/x86_64-unknown-linux-gnu/bits/error_constants.h:34:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/cerrno:42:
In file included from /gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/include/errno.h:28:
/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/include/bits/errno.h:26:11: fatal error: 'linux/errno.h' file not found
# include <linux/errno.h>
^~~~~~~~~~~~~~~
#0 0x00007ffff0c348b1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe348b1)
#1 0x00007ffff0c322de (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe322de)
#2 0x00007fffefc60560 __restore_rt (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x3e560)
#3 0x000000000091246d (anonymous namespace)::printUnpackedClingValue(cling::Value const&) ValuePrinter.cpp:0:0
#4 0x0000000000914a36 cling::valuePrinterInternal::printValueInternal[abi:cxx11](cling::Value const&) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x914a36)
#5 0x000000000090ca9e cling::Value::print(llvm::raw_ostream&, bool) const (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x90ca9e)
#6 0x00007ffff7e5d03d
#7 0x00000000008c3250 cling::IncrementalExecutor::executeWrapper(llvm::StringRef, cling::Value*) const (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x8c3250)
#8 0x00000000008d98fa cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x8d98fa)
#9 0x00000000008d9f97 cling::Interpreter::EvaluateInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x8d9f97)
#10 0x00000000008da306 cling::Interpreter::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, cling::Value*, cling::Transaction**, bool) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x8da306)
#11 0x0000000000924967 cling::MetaProcessor::process(llvm::StringRef, cling::Interpreter::CompilationResult&, cling::Value*, bool) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x924967)
#12 0x000000000093c303 cling::UserInterface::runInteractively(bool) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x93c303)
#13 0x00000000007e360d main (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x7e360d)
#14 0x00007fffefc4bbf7 __libc_start_call_main (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x29bf7)
#15 0x00007fffefc4bcac __libc_start_main@GLIBC_2.2.5 (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x29cac)
#16 0x00000000007f4731 _start (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x7f4731)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include
/tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Ptrs.C:21:10: error: CHECK: expected string not found in input
//CHECK: (int *) [[PTR:0x[0-9a-f]+]]
^
<stdin>:1:16: note: scanning from here
(int *) nullptr
^
Input file: <stdin>
Check file: /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Ptrs.C
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: (int *) nullptr
check:21 X error: no match found
>>>>>>
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: Cling :: Prompt/OutputRedirect.C (188 of 190)
******************** TEST 'Cling :: Prompt/OutputRedirect.C' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: cat /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/OutputRedirect.C | /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include -DCLING_TMP="\"/tmp/guix-build-cling-1.1.drv-0/build/test/Prompt/Output\"" | /gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/bin/FileCheck --check-prefix=CHECKOUT /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/OutputRedirect.C
+ /gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/bin/FileCheck --check-prefix=CHECKOUT /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/OutputRedirect.C
+ cat /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/OutputRedirect.C
+ /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include '-DCLING_TMP="/tmp/guix-build-cling-1.1.drv-0/build/test/Prompt/Output"'
In file included from input_line_11:1:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/iostream:39:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/ostream:38:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/ios:38:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/iosfwd:40:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/bits/postypes.h:40:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/cwchar:44:
/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/include/wchar.h:35:10: fatal error: 'stddef.h' file not found
#include <stddef.h>
^~~~~~~~~~
In file included from input_line_18:1:
In file included from /tmp/guix-build-cling-1.1.drv-0/source/include/cling/Interpreter/RuntimePrintValue.h:20:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/filesystem:44:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/bits/fs_fwd.h:35:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/system_error:39:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/x86_64-unknown-linux-gnu/bits/error_constants.h:34:
In file included from /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/include/c++/cerrno:42:
In file included from /gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/include/errno.h:28:
/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/include/bits/errno.h:26:11: fatal error: 'linux/errno.h' file not found
# include <linux/errno.h>
^~~~~~~~~~~~~~~
/tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/OutputRedirect.C:27:13: error: CHECKOUT: expected string not found in input
//CHECKOUT: Error into stdout.
^
<stdin>:1:18: note: scanning from here
(double) 0.50000000
^
<stdin>:2:65: note: possible intended match here
#0 0x00007ffff0c348b1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe348b1)
^
Input file: <stdin>
Check file: /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/OutputRedirect.C
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: (double) 0.50000000
check:27'0 X~~ error: no match found
2: #0 0x00007ffff0c348b1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe348b1)
check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:27'1 ? possible intended match
3: #1 0x00007ffff0c322de (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe322de)
check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4: #2 0x00007fffefc60560 __restore_rt (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x3e560)
check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: #3 0x000000000288ee71 clang::CXXBasePaths::lookupInBases(clang::ASTContext&, clang::CXXRecordDecl const*, llvm::function_ref<bool (clang::CXXBaseSpecifier const*, clang::CXXBasePath&)>, bool) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x288ee71)
check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6: #4 0x000000000288f32d clang::CXXBasePaths::lookupInBases(clang::ASTContext&, clang::CXXRecordDecl const*, llvm::function_ref<bool (clang::CXXBaseSpecifier const*, clang::CXXBasePath&)>, bool) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x288f32d)
check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7: #5 0x0000000002893d44 clang::CXXRecordDecl::lookupInBases(llvm::function_ref<bool (clang::CXXBaseSpecifier const*, clang::CXXBasePath&)>, clang::CXXBasePaths&, bool) const (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x2893d44)
check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: Cling :: Prompt/ValuePrinter/Collections.C (189 of 190)
******************** TEST 'Cling :: Prompt/ValuePrinter/Collections.C' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 10: cat /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Collections.C | /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include -Xclang -verify 2>&1 | /gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/bin/FileCheck /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Collections.C
+ cat /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Collections.C
+ /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include -Xclang -verify
+ /gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/bin/FileCheck /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Collections.C
/tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Collections.C:19:11: error: CHECK: expected string not found in input
// CHECK: (std::vector<bool> &) { true, true, true, true, true }
^
<stdin>:1:1: note: scanning from here
#0 0x00007ffff0c348b1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe348b1)
^
<stdin>:18:57: note: possible intended match here
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
^
Input file: <stdin>
Check file: /tmp/guix-build-cling-1.1.drv-0/source/test/Prompt/ValuePrinter/Collections.C
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: #0 0x00007ffff0c348b1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe348b1)
check:19'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
2: #1 0x00007ffff0c322de (/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/lib/libLLVM-16.so+0xe322de)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: #2 0x00007fffefc60560 __restore_rt (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x3e560)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4: #3 0x000000000091246d (anonymous namespace)::printUnpackedClingValue(cling::Value const&) ValuePrinter.cpp:0:0
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: #4 0x0000000000914a36 cling::valuePrinterInternal::printValueInternal[abi:cxx11](cling::Value const&) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x914a36)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6: #5 0x000000000090ca9e cling::Value::print(llvm::raw_ostream&, bool) const (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x90ca9e)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
13: #12 0x000000000093c303 cling::UserInterface::runInteractively(bool) (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x93c303)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: #13 0x00000000007e360d main (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x7e360d)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: #14 0x00007fffefc4bbf7 __libc_start_call_main (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x29bf7)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: #15 0x00007fffefc4bcac __libc_start_main@GLIBC_2.2.5 (/gnu/store/zvlp3n8iwa1svxmwv4q22pv1pb1c9pjq-glibc-2.39/lib/libc.so.6+0x29cac)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: #16 0x00000000007f4731 _start (/tmp/guix-build-cling-1.1.drv-0/build/bin/cling+0x7f4731)
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:19'1 ? possible intended match
19: Stack dump:
check:19'0 ~~~~~~~~~~~~
20: 0. Program arguments: /tmp/guix-build-cling-1.1.drv-0/build/bin/cling --nologo -I/gnu/store/i2z67ah1756rrir5zmv0ypdqs7nky8p1-llvm-cling-16-20240621-02/tools/clang/include -Xclang -verify
check:19'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
********************
Failed Tests (79):
Cling :: CodeGeneration/RecursiveInit.C
Cling :: CodeGeneration/Statics.C
Cling :: CodeGeneration/const.C
Cling :: CodeUnloading/AtExit.C
Cling :: CodeUnloading/Classes.C
Cling :: CodeUnloading/DeclShadowing.C
Cling :: CodeUnloading/Macros.C
Cling :: CodeUnloading/PCH/VTables.C
Cling :: Driver/CommandHistory.C
Cling :: Driver/CurrentDirRm.C
Cling :: Driver/Shebang.C
Cling :: Driver/StartupFile.C
Cling :: DynamicLibraryManager/cached_realpath.C
Cling :: DynamicLibraryManager/library_path.C
Cling :: ErrorRecovery/AnonymousDecls.C
Cling :: ErrorRecovery/Diagnostics.C
Cling :: ErrorRecovery/IncompleteType.C
Cling :: ErrorRecovery/Lamda.C
Cling :: ErrorRecovery/MacroExpansion.C
Cling :: ErrorRecovery/Redeclarables.C
Cling :: ErrorRecovery/SubsequentDecls.C
Cling :: Extensions/Lookup/Arrays.C
Cling :: Extensions/Lookup/ControlFlow.C
Cling :: Extensions/Lookup/LifetimeHandler.C
Cling :: Extensions/Lookup/Simple.C
Cling :: Extensions/Lookup/SimpleDynamicExprs.C
Cling :: Extensions/Lookup/StillError.C
Cling :: Interfaces/Macro.C
Cling :: Interfaces/address.C
Cling :: Interfaces/compileFunc.C
Cling :: Interfaces/echo.C
Cling :: Interfaces/evaluate.C
Cling :: Interfaces/execute.C
Cling :: Interfaces/invocationFlags.C
Cling :: Interfaces/paths.C
Cling :: Interfaces/print.C
Cling :: Interfaces/transactionReuse.C
Cling :: LibraryCall/library_path.C
Cling :: Lookup/args.C
Cling :: Lookup/data.C
Cling :: Lookup/func.C
Cling :: Lookup/linkageSpec.C
Cling :: Lookup/named.C
Cling :: Lookup/scope.C
Cling :: Lookup/tag.C
Cling :: Lookup/template.C
Cling :: Lookup/type.C
Cling :: MultipleInterpreters/MultipleInterpreters.C
Cling :: NullDeref/ExecutionTermination.C
Cling :: NullDeref/If.C
Cling :: NullDeref/NonNullArg.C
Cling :: Pragmas/add_env_path.C
Cling :: Pragmas/load.C
Cling :: Pragmas/opt.C
Cling :: Prompt/BlockComments.C
Cling :: Prompt/Continuation.C
Cling :: Prompt/DontWrap.C
Cling :: Prompt/MetaProcessor/DotO.C
Cling :: Prompt/MetaProcessor/InputValidator.C
Cling :: Prompt/MetaProcessor/Regression.C
Cling :: Prompt/OutputRedirect.C
Cling :: Prompt/PreprocessorIf.C
Cling :: Prompt/RecursiveGlobalInits.C
Cling :: Prompt/Regression.C
Cling :: Prompt/ValuePrinter/Assignments.C
Cling :: Prompt/ValuePrinter/Collections.C
Cling :: Prompt/ValuePrinter/Destruction.C
Cling :: Prompt/ValuePrinter/Ptrs.C
Cling :: Prompt/ValuePrinter/Regression.C
Cling :: Prompt/ValuePrinter/SourceLocation.C
Cling :: Prompt/ValuePrinter/Strings.C
Cling :: Prompt/ValuePrinter/TuplesAndPairs.C
Cling :: Prompt/decls.C
Cling :: Prompt/globalinit.C
Cling :: Recursion/Exceptions.C
Cling :: Recursion/RecursiveClingInstances.C
Cling :: SourceCall/ErrorMacro.C
Cling :: SourceCall/decls.C
Cling :: Utils/Transform.C
Testing Time: 1.28s
Total Discovered Tests: 190
Unsupported : 14 (7.37%)
Passed : 84 (44.21%)
Expectedly Failed: 13 (6.84%)
Failed : 79 (41.58%)
make[3]: *** [test/CMakeFiles/check-cling.dir/build.make:74: test/CMakeFiles/check-cling] Error 1
make[3]: Leaving directory '/tmp/guix-build-cling-1.1.drv-0/build'
make[2]: *** [CMakeFiles/Makefile2:763: test/CMakeFiles/check-cling.dir/all] Error 2
make[2]: Leaving directory '/tmp/guix-build-cling-1.1.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:770: test/CMakeFiles/check-cling.dir/rule] Error 2
make[1]: Leaving directory '/tmp/guix-build-cling-1.1.drv-0/build'
make: *** [Makefile:367: check-cling] Error 2
Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("check-cling" "-j" "32") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 1.5 seconds
command "make" "check-cling" "-j" "32" failed with status 2
build process 18 exited with status 256
note: keeping build directory `/tmp/guix-build-cling-1.1.drv-0'
builder for `/gnu/store/m025m5jii2gbg4byqqp29yriw4m2rxz3-cling-1.1.drv' failed with exit code 1
build of /gnu/store/m025m5jii2gbg4byqqp29yriw4m2rxz3-cling-1.1.drv failed
View build log at '/var/log/guix/drvs/m0/25m5jii2gbg4byqqp29yriw4m2rxz3-cling-1.1.drv'.
guix build: error: build of `/gnu/store/m025m5jii2gbg4byqqp29yriw4m2rxz3-cling-1.1.drv' failed
Setup
- Cling version: 1.1
- Operating system: GNU Guix
- How you obtained Cling: Source build using Guix
Additional context
If I disable the test suite, cling builds and runs fine, but there's a problem locating headers:
$ cling '#include <stdio.h>'
In file included from input_line_3:1:
/gnu/store/bs6q65ds38ns2v1m5wf7jgxbz2cx4189-profile/include/stdio.h:34:10: fatal error: 'stddef.h' file not found
#include <stddef.h>
^~~~~~~~~~
It seems this header comes from either the linux-headers (which are already in the gcc-toolchain environment, under the linux/ prefix there) or from clang, where it's directly its include/ directory.
A couple questions I have:
- Which headers is cling expected to be used with? Its matching clang headers, or the headers of the GCC toolchain it was built with?
- Guix being a non-FHS distro, locating the headers is patched in the packaging to find the ones of GCC, along its libstdc++ library. Is this correct?
Other thoughts or tips to debug this would be much appreciated. Thank you!
m025m5jii2gbg4byqqp29yriw4m2rxz3-cling-1.1.drv.txt