GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — ci: resolve failures by kmr-srbh · Pull Request #5983 · lfortran/lfortran Conversation
kmr-srbh
force-pushed
the
add-libunwind
branch
2 times, most recently
from
b3e08aa to
1797978
Compare
libunwind to conda environment file for Linuxlibunwind on Linux when using LLVM > 11
kmr-srbh
force-pushed
the
add-libunwind
branch
from
1797978 to
00b92b9
Compare
Member
Author
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
kmr-srbh
force-pushed
the
add-libunwind
branch
from
00b92b9 to
662140d
Compare
|
There was an error while loading. Please reload this page.
|
The LLVM 16 failure is: Errors while running CTest 1041 - template_sort_01_FAST (SEGFAULT) 1042 - template_sort_02_FAST (SEGFAULT) Release build failure is: [86/120] Building CXX object src/libasr/CMakeFiles/asr.dir/codegen/asr_to_llvm.cpp.o FAILED: src/libasr/CMakeFiles/asr.dir/codegen/asr_to_llvm.cpp.o sccache /usr/bin/c++ -DHAVE_TARGET_X86=1 -DHAVE_WHEREAMI=1 -DHAVE_ZLIB=1 -DLCOMPILERS_FAST_ALLOC=1 -I/home/runner/work/lfortran/lfortran/src/libasr/.. -isystem /home/runner/micromamba/envs/lf/include -Werror -Wall -Wextra -O3 -funroll-loops -DNDEBUG -std=gnu++17 -fPIC -fno-rtti -Wno-deprecated-declarations -MD -MT src/libasr/CMakeFiles/asr.dir/codegen/asr_to_llvm.cpp.o -MF src/libasr/CMakeFiles/asr.dir/codegen/asr_to_llvm.cpp.o.d -o src/libasr/CMakeFiles/asr.dir/codegen/asr_to_llvm.cpp.o -c /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp: In member function ‘void LCompilers::ASRToLLVMVisitor::compute_fmt_specifier_and_arg(std::vector<std::__cxx11::basic_string<char> >&, std::vector<llvm::Value*, std::allocator<llvm::Value*> >&, LCompilers::ASR::expr_t*, const LCompilers::Location&, bool)’: /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp:8479:31: error: ‘d’ may be used uninitialized [-Werror=maybe-uninitialized] 8479 | args.push_back(d); | ~~~~~~~~~~~~~~^~~ In file included from /usr/include/c++/13/vector:66, from /usr/include/c++/13/functional:64, from /home/runner/micromamba/envs/lf/include/llvm/ADT/STLExtras.h:29, from /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp:6: /usr/include/c++/13/bits/stl_vector.h:1281:7: note: by argument 2 of type ‘llvm::Value* const&’ to ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = llvm::Value*; _Alloc = std::allocator<llvm::Value*>]’ declared here 1281 | push_back(const value_type& __x) | ^~~~~~~~~ /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp:8439:26: note: ‘d’ declared here 8439 | llvm::Value *d; | ^ /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp:8479:31: error: ‘d’ may be used uninitialized [-Werror=maybe-uninitialized] 8479 | args.push_back(d); | ~~~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/stl_vector.h:1281:7: note: by argument 2 of type ‘llvm::Value* const&’ to ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = llvm::Value*; _Alloc = std::allocator<llvm::Value*>]’ declared here 1281 | push_back(const value_type& __x) | ^~~~~~~~~ /home/runner/work/lfortran/lfortran/src/libasr/codegen/asr_to_llvm.cpp:8439:26: note: ‘d’ declared here 8439 | llvm::Value *d; | ^ cc1plus: all warnings being treated as errors [87/120] Building CXX object src/libasr/CMakeFiles/asr.dir/pickle.cpp.o [88/120] Building CXX object src/lfortran/CMakeFiles/lfortran_lib.dir/semantics/ast_to_asr.cpp.o [89/120] Building CXX object src/lfortran/tests/CMakeFiles/test_stacktrace.dir/test_stacktrace.cpp.o [90/120] Building CXX object src/lfortran/tests/CMakeFiles/test_lfortran.dir/test_parse.cpp.o [91/120] Building CXX object src/lfortran/tests/CMakeFiles/test_lfortran.dir/test_ast.cpp.o [92/120] Building CXX object src/lfortran/tests/CMakeFiles/test_lfortran.dir/test_stacktrace2.cpp.o [93/120] Building CXX object src/lfortran/tests/CMakeFiles/test_lfortran.dir/test_asm.cpp.o [94/120] Building CXX object src/lfortran/CMakeFiles/lfortran_lib.dir/ast_to_openmp.cpp.o FAILED: src/lfortran/CMakeFiles/lfortran_lib.dir/ast_to_openmp.cpp.o sccache /usr/bin/c++ -DHAVE_TARGET_X86=1 -DHAVE_WHEREAMI=1 -DHAVE_ZLIB=1 -DLCOMPILERS_FAST_ALLOC=1 -I/home/runner/work/lfortran/lfortran/src -I/home/runner/work/lfortran/lfortran/src/lfortran -I/home/runner/work/lfortran/lfortran/src/libasr/.. -isystem /home/runner/micromamba/envs/lf/include -Werror -Wall -Wextra -O3 -funroll-loops -DNDEBUG -std=gnu++17 -fPIC -fno-rtti -MD -MT src/lfortran/CMakeFiles/lfortran_lib.dir/ast_to_openmp.cpp.o -MF src/lfortran/CMakeFiles/lfortran_lib.dir/ast_to_openmp.cpp.o.d -o src/lfortran/CMakeFiles/lfortran_lib.dir/ast_to_openmp.cpp.o -c /home/runner/work/lfortran/lfortran/src/lfortran/ast_to_openmp.cpp /home/runner/work/lfortran/lfortran/src/lfortran/ast_to_openmp.cpp: In member function ‘void LCompilers::LFortran::AST::ASTToOPENMPVisitor::visit_AttrType(const LCompilers::LFortran::AST::AttrType_t&)’: /home/runner/work/lfortran/lfortran/src/lfortran/ast_to_openmp.cpp:336:22: error: ‘k[0].LCompilers::LFortran::AST::kind_item_t::m_id’ may be used uninitialized [-Werror=maybe-uninitialized] 336 | k[0].m_id == nullptr) { | ~~~~~^~~~ /home/runner/work/lfortran/lfortran/src/lfortran/ast_to_openmp.cpp:308:25: note: ‘k’ declared here 308 | kind_item_t k[2]; | ^ cc1plus: all warnings being treated as errors [95/120] Building CXX object src/lfortran/tests/CMakeFiles/test_lfortran.dir/test_serialization.cpp.o GFortran failure is fixed in #5984. Why did the above errors not come up before? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I don't know what made all this mess. but maybe github CI updated CMake which in turn started to use new versions of the packages we use. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I think this is trying to fix #5988. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Maybe also compilers got updated. Let's create issues for all the unrelated bugs here, and we'll fix it one by one. First let's get the CI green one way or the other, and create issues for everything that you had to disable. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Ok, this PR almost gets there. To finish it:
I think that will do it. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
662140d to
9e7486e
Compare
|
Attempting the fix in a single PR. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
9e7486e to
1d923a2
Compare
|
Is this ready to be reviewed? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
The changes are fine to unblock us. If CI passes, go ahead and merge it, then we can investigate the individual failures and see what is going on.
I am guessing the compiler version was updated?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
We have a hard dependency on `libunwind` for LLVM > 11.
f21ba11 to
47846d2
Compare
Yes. It was updated from 11.4.0 to 13.3.0 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Maybe fix the C compiler version for now, to let the "Release build" CI job to pass, as it current blocks merging the other PR's, and we slowly fix the issues with GCC 13.3.0? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
The current failure is: /usr/bin/ld: cannot find /lib64/libc.so.6: No such file or directory /usr/bin/ld: cannot find /usr/lib64/libc_nonshared.a: No such file or directory clang: error: linker command failed with exit code 1 (use -v to see invocation) The command 'clang -o modules_15 CMakeFiles/modules_15.dir/modules_15.f90.o CMakeFiles/modules_15.dir/modules_15b.f90.o CMakeFiles/modules_15.dir/modules_15c.c.o -L/home/runner/micromamba/envs/lf/lib -L/home/runner/micromamba/envs/lf/lib -L/home/runner/micromamba/envs/lf/lib/gcc/x86_64-conda-linux-gnu/11.4.0 -L/home/runner/micromamba/envs/lf/lib/gcc -L/home/runner/micromamba/envs/lf/x86_64-conda-linux-gnu/lib -L/home/runner/micromamba/envs/lf/x86_64-conda-linux-gnu/sysroot/lib -L/home/runner/micromamba/envs/lf/x86_64-conda-linux-gnu/sysroot/usr/lib -lgcc -lgcc_s -lc -lgcc -lgcc_s -L"/home/runner/work/lfortran/lfortran/src/bin/../runtime" -Wl,-rpath,"/home/runner/work/lfortran/lfortran/src/bin/../runtime" -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/home/runner/micromamba/envs/lf/lib -Wl,-rpath-link,/home/runner/micromamba/envs/lf/lib -llfortran_runtime -lm' failed. Tip: If there is a linker issue, switch the linker using --linker=<CC> option or create an environment variable `export LFORTRAN_LINKER=<CC>`, where CC is clang or gcc Also, if required use --linker-path=<PATH>, where PATH has location to look for the linker execuatable make[2]: *** [CMakeFiles/modules_15.dir/build.make:127: modules_15] Error 10 make[1]: *** [CMakeFiles/Makefile2:20759: CMakeFiles/modules_15.dir/all] Error 2 When I faced this issue locally before, it was an issue with my |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
libunwind on Linux when using LLVM > 11|
I pushed a commit, just to print the values of |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| environment-file: ci/environment_linux.yml | ||
| create-args: >- | ||
| python=3.10 | ||
| gcc=11 |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
maybe instead of getting gcc this way, we can try installing it via apt-get, I'm not sure why the current approach doesn't work though the version of gcc installed by this is exactly 11.4.0, the one we used to use earlier.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Yes, it may be conflicting with the version present on the workflow runner.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
The job |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
8a80703 to
aef7d87
Compare
| sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 | ||
| sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 | ||
| gcc --version | ||
| g++ --version |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I'm not really sure for why specifying this via apt-get worked but specifying this as a part of create_args as:
gcc=11
in this commit: ec0bc56 didn't work. Maybe with apt-get the linker is installed but with create-args it isn't (not sure).
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Now the question is, since CI by default uses GCC version 13.3.0, which version should be preferred for devs now version 11.4.0 or 13.3.0?
We would need a separate issue to resolve the failing tests with version 13.3.0 of GCC, (some) of the failing tests with GCC version 13.3.0 can be seen here: https://github.com/lfortran/lfortran/actions/runs/12742005151/job/35513044996 (one of the CI run from this PR)
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I just read this page here: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md, seems like the versions for GNU C++ supported with ubuntu 24.04 image on github CI runner are:
GNU C++: 12.3.0, 13.3.0, 14.2.0
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
@certik your help on this comment especially would be helpful.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
which version should be preferred for devs now version 11.4.0 or 13.3.0
I have been using GCC 14.2.0 for very long and never encountered this issue. I think the issue occurs with Release build only.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I have been using GCC 14.2.0 for very long and never encountered this issue. I think the issue occurs with Release build only.
I think that's true, since the other CI jobs use GCC version 13.3.0
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Ah, I see, seems like the current failure on this PR isn't related to our changes at all actually, see: #5724 We encountered the flaky test failure. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
I'm merging this PR following the above comment. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
There are some open conversations in this PR, which would need to be discussed/addressed. I've merged this PR to unblock merging other PR's. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Thanks for merging this. I think CI is now green, so we are unblocked. There are some smaller issues to resolve, which we will do over time. But please open up issues for all those, so that we don't forget. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Opening issues for them. 👍 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.