summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2021-09-17 08:20:12 +0000
committerNicholas Clark <nick@ccl4.org>2021-09-26 08:51:18 +0000
commitd43f37da28627883b5ed5cbe91039682ddca000e (patch)
tree27046c0d9212b729f531473a3d1fdd9bf8d5b90f /.github
parent64bd355f7b38e7ced3cd072b2bf2288e104f21e4 (diff)
downloadperl-d43f37da28627883b5ed5cbe91039682ddca000e.tar.gz
In the Linux workflows use MALLOC_PERTURB_ and MALLOC_CHECK_
MALLOC_CHECK_=3 causes glibc to abort if it detects malloc errors. Specifically, 3 will be "Print detailed error message, stack trace, and memory mappings, and abort the program." MALLOC_PERTURB_=254 will cause newly allocated memory to be set to non-zero values, and freed memory to be set to the given non-zero value. See `man mallopt` Intentionally only setting these for the build and test steps, but not the Configure step, to see if we can later expose bugs caused by bad probes. If we set it for Configure, the abort this triggers might simply cause a probe to be silently failed, and we could miss problems.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/testsuite.yml8
1 files changed, 4 insertions, 4 deletions
diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml
index 252b99f481..12335c2608 100644
--- a/.github/workflows/testsuite.yml
+++ b/.github/workflows/testsuite.yml
@@ -141,14 +141,14 @@ jobs:
./Configure -des -Dusedevel ${{ matrix.CONFIGURE_ARGS }} -Dprefix="$HOME/perl-blead" -DDEBUGGING
- name: Build
run: |
- make -j2
+ MALLOC_PERTURB_=254 MALLOC_CHECK_=3 make -j2
- name: Show Config
run: |
LD_LIBRARY_PATH=. ./perl -Ilib -V
LD_LIBRARY_PATH=. ./perl -Ilib -e 'use Config; print Config::config_sh'
- name: Run Tests
run: |
- TEST_JOBS=2 make -j2 test_harness
+ MALLOC_PERTURB_=254 MALLOC_CHECK_=3 TEST_JOBS=2 make -j2 test_harness
# _ _ _ _____ ___ __
# | (_)_ __ _ ___ __ (_)___ / ( _ ) / /_
@@ -192,7 +192,7 @@ jobs:
./Configure -des -Dusedevel ${{ matrix.CONFIGURE_ARGS }} -Dprefix="$HOME/perl-blead" -DDEBUGGING
- name: Build
run: |
- make -j2
+ MALLOC_PERTURB_=254 MALLOC_CHECK_=3 make -j2
- name: Show Config
run: |
LD_LIBRARY_PATH=. ./perl -Ilib -V
@@ -202,7 +202,7 @@ jobs:
# linux-i386 is just one job (not a matrix)
- name: Run Tests
run: |
- make -j2 test
+ MALLOC_PERTURB_=254 MALLOC_CHECK_=3 make -j2 test
# ___ ___
# _ __ __ _ __ / _ \/ __|