Fix core files creation

Ubuntu configured to use apport by default, which intercepts core files
creation and creates them in a different directory.

Force creating core files in the current directory by overwriting the
corresponding kernel option. Note that this requires using --privileged
docker option as otherwise /proc/sys is mounted read-only inside the
contains and cannot be modified.

See #23189.
This commit is contained in:
Vadim Zeitlin 2023-01-29 20:52:07 +01:00
parent 0130282987
commit 4918df7261

View file

@ -63,7 +63,11 @@ jobs:
build: build:
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.runner }}
name: ${{ matrix.name }} name: ${{ matrix.name }}
container: ${{ matrix.container }} container:
image: ${{ matrix.container }}
# We need to make container privileged just to allow writing to
# /proc/sys/kernel/core* files below.
options: --privileged
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -329,7 +333,15 @@ jobs:
# RichTextCtrlTestCase whose Table sub-test seems to be problematic. # RichTextCtrlTestCase whose Table sub-test seems to be problematic.
wx_tests_selection='~[.] ~RichTextCtrlTestCase' wx_tests_selection='~[.] ~RichTextCtrlTestCase'
fi fi
# Configure the system to create core files and create them in the
# current directory instead of using apport to handle them, as
# Ubuntu does by default (even in a container where apport is not
# only not running but not even installed). Also turn off appending
# PID to the core files names which is on by default.
ulimit -c unlimited ulimit -c unlimited
echo core | sudo tee /proc/sys/kernel/core_pattern
echo 0 | sudo tee /proc/sys/kernel/core_uses_pid
# This is exceedingly weird, but for some reason the first test using # This is exceedingly weird, but for some reason the first test using
# wxWebView in the build using clang under Ubuntu 20.04 fails (even # wxWebView in the build using clang under Ubuntu 20.04 fails (even