Commit 89df50bc authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

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: default avatarMichal Berger <michalx.berger@intel.com>
Change-Id: Ic7de8f8000676122282469b729f45b235ab6f9ca
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10852


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 5d49965b
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ if [ $(uname -s) = Linux ]; then
	mkdir -p "$output_dir/coredumps"
	# 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 2 > /proc/sys/kernel/core_pipe_limit

	# 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
+0 −3
Original line number Diff line number Diff line
@@ -55,9 +55,6 @@ if ((rlimit == 0xffffffffffffffff || rlimit > max_core)); then
	rlimit=$max_core
fi

# Nothing to do
((rlimit == 0)) && exit 0

# Clear path for lz
rm -f "$core"{,.{bin,bt,gz,json}}

+2 −2
Original line number Diff line number Diff line
@@ -652,11 +652,11 @@ function process_core() {
	# 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
	# 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,
	# don't wait since all the tests ended successfully, hence having any
	# critical cores lying around is unlikely.
	((autotest_es != 0)) && sleep 5
	((autotest_es != 0)) && sleep 10

	local coredumps core