You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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?
The test suite (which is run at packaging time) is run in a containerized environment where this is no networking other than the loopback interface. There is no HOME by default and no root user either.
I've fixed the Clang headers not being found (a custom patch needed updating; the clang headers are now installed to lib/clang/16/, not lib/clang/16.0.0/). The tests summary is now:
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 tag1.1
. Every component get built separately (different packages) as a shared library, the same LLVM gets built in Guix: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.
guix pull
guix time-machine -q --url=https://gitlab.com/apteryks/guix --branch=cling-bug534-repro -- build cling
Setup
Additional context
If I disable the test suite, cling builds and runs fine, but there's a problem locating headers:
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:
Other thoughts or tips to debug this would be much appreciated. Thank you!
m025m5jii2gbg4byqqp29yriw4m2rxz3-cling-1.1.drv.txt
The text was updated successfully, but these errors were encountered: