scripts/core-collector: Don't limit core dump collection
We should gather the core regardless of the RLIMIT_CORE setting. Also, don't limit number of parallel executions of the collector in case more than 2 processes crashed (unlikely to happen anyway, but just in case make sure we cover it). Lastly, wait a bit longer for the potential cores. Signed-off-by: Michal Berger <michalx.berger@intel.com> Change-Id: Ic7de8f8000676122282469b729f45b235ab6f9ca Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10852 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
6fed78825e
commit
9f1af561c6
@ -33,7 +33,6 @@ if [ $(uname -s) = Linux ]; then
|
|||||||
mkdir -p "$output_dir/coredumps"
|
mkdir -p "$output_dir/coredumps"
|
||||||
# set core_pattern to a known value to avoid ABRT, systemd-coredump, etc.
|
# set core_pattern to a known value to avoid ABRT, systemd-coredump, etc.
|
||||||
echo "|$rootdir/scripts/core-collector.sh %P %s %t %c $output_dir/coredumps" > /proc/sys/kernel/core_pattern
|
echo "|$rootdir/scripts/core-collector.sh %P %s %t %c $output_dir/coredumps" > /proc/sys/kernel/core_pattern
|
||||||
echo 2 > /proc/sys/kernel/core_pipe_limit
|
|
||||||
|
|
||||||
# make sure nbd (network block device) driver is loaded if it is available
|
# make sure nbd (network block device) driver is loaded if it is available
|
||||||
# this ensures that when tests need to use nbd, it will be fully initialized
|
# this ensures that when tests need to use nbd, it will be fully initialized
|
||||||
|
@ -55,9 +55,6 @@ if ((rlimit == 0xffffffffffffffff || rlimit > max_core)); then
|
|||||||
rlimit=$max_core
|
rlimit=$max_core
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Nothing to do
|
|
||||||
((rlimit == 0)) && exit 0
|
|
||||||
|
|
||||||
# Clear path for lz
|
# Clear path for lz
|
||||||
rm -f "$core"{,.{bin,bt,gz,json}}
|
rm -f "$core"{,.{bin,bt,gz,json}}
|
||||||
|
|
||||||
|
@ -652,11 +652,11 @@ function process_core() {
|
|||||||
# to see if there's any core queued up for writing. We could check if
|
# to see if there's any core queued up for writing. We could check if
|
||||||
# collector is running and wait for it explicitly, but it doesn't seem
|
# collector is running and wait for it explicitly, but it doesn't seem
|
||||||
# to be worth the effort. So assume that if we are being called via
|
# to be worth the effort. So assume that if we are being called via
|
||||||
# trap, as in, when some error has occurred, wait up to 5s for any
|
# trap, as in, when some error has occurred, wait up to 10s for any
|
||||||
# potential cores. If we are called just for cleanup at the very end,
|
# potential cores. If we are called just for cleanup at the very end,
|
||||||
# don't wait since all the tests ended successfully, hence having any
|
# don't wait since all the tests ended successfully, hence having any
|
||||||
# critical cores lying around is unlikely.
|
# critical cores lying around is unlikely.
|
||||||
((autotest_es != 0)) && sleep 5
|
((autotest_es != 0)) && sleep 10
|
||||||
|
|
||||||
local coredumps core
|
local coredumps core
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user