Skip to content
Success

Changes

Summary

  1. testenv-coredump-helper: remove (details)
  2. scripts/wrapper_core_bt_on_error: new script (details)
  3. jobs/master,gerrit: use wrapper_core_bt_on_error (details)
  4. jobs/master,gerrit: set CFLAGS=-g (details)
Commit 77eaf6179803cf8c9bd71df39beb375e46205a52 by Oliver Smith
testenv-coredump-helper: remove

After looking at this again, it makes more sense to keep
/proc/sys/kernel/core_pattern as "core" on build4 and build5, which we
use for jenkins jobs instead of installing systemd's coredumpctl and
making all coredumps go through that. The motivation for using
coredumpctl in testenv was that lots of developers may have it already
installed (though I'm not sure about that anymore), and that it gives a
nice API for retrieving the related executable name to a coredump
instead of having to parse the output of e.g. "file".

Using coredumpctl had the disadvantage that coredumps for all other
jobs, such as the master-builds are also caught by that and cannot be
easily placed in the workspace directory. I have started implementing
this by extending testenv-coredump-helper to communicate through a
socket and mounting that socket inside docker containers running
contrib/jenkins.sh (host -> lxc -> docker), and it works, but this
complexity is not useful here.

Instead the related patch will make testenv pick the core files when
coredumpctl is not available, and read the path from "file", making
testenv-coredump-helper obsolete.

Related: osmo-ttcn3-hacks Ia765b01432e4cb4cd36c45de874b966e3ebf55bc
Change-Id: I2959c6e6d97d5691ee2a4ae5d49a351eb5811f10
The file was removedansible/roles/testenv-coredump-helper/files/testenv-coredump-helper.service
The file was removedansible/roles/testenv-coredump-helper/handlers/main.yml
The file was removedansible/roles/testenv-coredump-helper/files/testenv-coredump-helper.py
The file was removedansible/roles/testenv-coredump-helper/README.md
The file was removedansible/roles/testenv-coredump-helper/tasks/main.yml
The file was modifiedansible/setup-build-host.yml
Commit dfa9fcca49ae8b8ce6c691196c3883206933e503 by Oliver Smith
scripts/wrapper_core_bt_on_error: new script

Add a wrapper script that runs a given program, and checks the exit
code. If it is not 0, and a core file appears, then load the coredump in
gdb and display its backtrace.

Change-Id: I9673abf3ae3b154505ea09237d37d7da4bf5d57f
The file was addedscripts/wrapper_core_bt_on_error.sh
Commit d1e1c39fb9af8a41f4a4e14784e49b05811c7e64 by Oliver Smith
jobs/master,gerrit: use wrapper_core_bt_on_error

When the exit code isn't 0, find coredumps and display their backtraces.

Change-Id: Idc893969b158e11d5ae17d0c0a05b52e662f8929
The file was modifiedjobs/gerrit-verifications.yml
The file was modifiedjobs/master-builds.yml
Commit 6696e8c1f61bdef1ee6046075aa30724a0b2fee5 by Oliver Smith
jobs/master,gerrit: set CFLAGS=-g

Generate debug symbols, so backtraces from coredumps become more useful.

Change-Id: Ieff8670e376f140a672a800961be753028cf7b6f
The file was modifiedjobs/gerrit-verifications.yml
The file was modifiedjobs/master-builds.yml