Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1495: fix Alpine build #1657

Merged
merged 16 commits into from
Feb 15, 2022
Merged

1495: fix Alpine build #1657

merged 16 commits into from
Feb 15, 2022

Conversation

cz4rs
Copy link
Contributor

@cz4rs cz4rs commented Jan 13, 2022

fixes #1495

Fixes the stack dumping issues with Alpine build by replacing libexecinfo with libunwind.
Does a minor cleanup of our backtrace-generating code as well.


cc52339 is the simplest workaround to the failing test - it just disables stack printing. I will try to come up with an actual fix.
Confirmed that it works with:

ctest --output-on-failure --repeat-until-fail 100 -R TestMpiAccessGuardDeathTest.test_mpi_access_prevented_proc_2

(unfixed version crashes every couple of runs).

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (gcc-6, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (clang-3.9, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (gcc-5, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (gcc-9, ubuntu, mpich, zoltan)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (clang-5.0, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (gcc-10, ubuntu, openmpi, no LB)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (gcc-8, ubuntu, mpich, address sanitizer)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (nvidia cuda 10.1, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (clang-9, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (clang-10, alpine, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (nvidia cuda 11.0, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (clang-10, ubuntu, mpich)

Build for e09fc43

Compilation - successful

Testing - passed

Build log

@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR tests (gcc-7, ubuntu, mpich, trace runtime, LB)

Build for 1cf2b68

FAILED: tests/CMakeFiles/configs_basic.dir/Unity/unity_0_cxx.cxx.o 
/usr/bin/ccache /usr/bin/g++ -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DVT_NO_COLOR_ENABLED -I/vt/tests/unit -I/vt/lib/CLI -I/vt/lib/json/include -I/vt/lib/brotli/c/include -I/vt/lib/libfort/lib -Irelease -I/vt/src -isystem /vt/tests/extern/googletest/googletest/include -isystem /vt/tests/extern/googletest/googletest -isystem /vt/lib/fmt/include -isystem /vt/lib/EngFormat-Cpp/include -isystem /build/checkpoint/install/include -isystem /build/detector/install/include -O3 -DNDEBUG -fdiagnostics-color=always -Wall -pedantic -Wshadow -Wno-unknown-pragmas -Wsign-compare -ftemplate-backtrace-limit=100 -Werror -O0 -g --coverage -fPIC -std=c++14 -MD -MT tests/CMakeFiles/configs_basic.dir/Unity/unity_0_cxx.cxx.o -MF tests/CMakeFiles/configs_basic.dir/Unity/unity_0_cxx.cxx.o.d -o tests/CMakeFiles/configs_basic.dir/Unity/unity_0_cxx.cxx.o -c tests/CMakeFiles/configs_basic.dir/Unity/unity_0_cxx.cxx
In file included from tests/CMakeFiles/configs_basic.dir/Unity/unity_0_cxx.cxx:4:0:
/vt/tests/unit/configs/test_stack_dumping.cc:48:10: fatal error: vt/configs/error/pretty_print_stack.h: No such file or directory
 #include "vt/configs/error/pretty_print_stack.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.


Build log

@codecov
Copy link

codecov bot commented Jan 13, 2022

Codecov Report

Merging #1657 (467bc11) into develop (46b2db0) will increase coverage by 0.00%.
The diff coverage is n/a.

❗ Current head 467bc11 differs from pull request most recent head e09fc43. Consider uploading reports for the commit e09fc43 to get more accurate results

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #1657   +/-   ##
========================================
  Coverage    83.44%   83.44%           
========================================
  Files          800      800           
  Lines        30922    30923    +1     
========================================
+ Hits         25803    25805    +2     
+ Misses        5119     5118    -1     
Impacted Files Coverage Δ
src/vt/sequence/seq_node.cc 85.71% <0.00%> (+0.47%) ⬆️
src/vt/configs/error/stack_out.cc 70.00% <0.00%> (+1.03%) ⬆️

@cz4rs cz4rs force-pushed the 1495-fix-alpine-build branch from cc52339 to 2553b02 Compare January 14, 2022 18:23
@cz4rs
Copy link
Contributor Author

cz4rs commented Jan 14, 2022

Related bug report in Alpine's GitLab:
https://gitlab.alpinelinux.org/alpine/aports/-/issues/10896

@cz4rs cz4rs force-pushed the 1495-fix-alpine-build branch from 2553b02 to bd500e5 Compare January 14, 2022 20:21
@cz4rs cz4rs force-pushed the 1495-fix-alpine-build branch from 081da5c to 5a33c27 Compare January 18, 2022 21:49
@cz4rs
Copy link
Contributor Author

cz4rs commented Jan 24, 2022

TODO:

  • expand 5a33c27 to handle errors correctly (mostly early returns)
  • handle introduced FIXMEs
    • use find_package to locate libunwind (?) - only if deemed necessary, note that there is no official CMake module for this
  • investigate the errors in TestPreconfig.test_vt_assert and TestCliArguments.test_vt_assert
    • some of the clang/ubuntu builds were segfaulting
    • just linking libunwind was enough for the segfaults to occur (even without calling any functions)
    • the solution was to build libunwind on our own instead of using default Ubuntu package

@cz4rs cz4rs force-pushed the 1495-fix-alpine-build branch 4 times, most recently from b1c5681 to 0e65e5c Compare February 4, 2022 18:37
@cz4rs cz4rs force-pushed the 1495-fix-alpine-build branch 2 times, most recently from 9227798 to f83e498 Compare February 14, 2022 10:28
@cz4rs cz4rs marked this pull request as ready for review February 14, 2022 10:46
@cz4rs cz4rs requested review from nlslatt, nmm0 and PhilMiller February 14, 2022 23:19
@cz4rs cz4rs force-pushed the 1495-fix-alpine-build branch from 50582ae to 1cf2b68 Compare February 15, 2022 17:20
@PhilMiller
Copy link
Member

It looks like this is going to cause trouble for EMPIRE, at least as is - I just imported current vt to test #1683, and found that the build failed to find libunwind.h. Should we be vendoring it into our lib/ directory?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace Alpine CI testing with Red Hat/CentOS
3 participants