Repository: incubator-impala Updated Branches: refs/heads/master 19ff47091 -> c69cd15a0
IMPALA-3656: Hitting DCHECK/CHECK does not write minidumps When hitting a DCHECK/CHECK the daemons do not write minidumps. This is caused by glog's own stack unwinding mechanism, which catches SIGABRT and removes all other handlers before aborting. This change bumps the glog version to include a patch, which backports a change from glog, which only resets the SIGABRT handler, if it is the one installed by glog itself. https://github.com/google/glog/commit/cda16b3443e2d6ef88cdbbe10b9a11adea6f33fe Change-Id: I08e6b83af1b4ff1b8c916fe6c9052b88b760e188 Reviewed-on: http://gerrit.cloudera.org:8080/3286 Reviewed-by: Lars Volker <[email protected]> Tested-by: Lars Volker <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/c69cd15a Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/c69cd15a Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/c69cd15a Branch: refs/heads/master Commit: c69cd15a0ac4ac3efc5c6d74939cd2b64d72db30 Parents: 19ff470 Author: Lars Volker <[email protected]> Authored: Thu Jun 2 14:13:00 2016 +0200 Committer: Tim Armstrong <[email protected]> Committed: Sat Jun 11 05:31:32 2016 -0700 ---------------------------------------------------------------------- bin/impala-config.sh | 2 +- tests/custom_cluster/test_breakpad.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c69cd15a/bin/impala-config.sh ---------------------------------------------------------------------- diff --git a/bin/impala-config.sh b/bin/impala-config.sh index d6a0833..d5bc14a 100755 --- a/bin/impala-config.sh +++ b/bin/impala-config.sh @@ -238,7 +238,7 @@ export IMPALA_BZIP2_VERSION=1.0.6-p1 export IMPALA_CYRUS_SASL_VERSION=2.1.23 export IMPALA_GCC_VERSION=4.9.2 export IMPALA_GFLAGS_VERSION=2.0 -export IMPALA_GLOG_VERSION=0.3.2-p1 +export IMPALA_GLOG_VERSION=0.3.2-p2 export IMPALA_GPERFTOOLS_VERSION=2.5 export IMPALA_GTEST_VERSION=1.6.0 export IMPALA_KUDU_VERSION=0.8.0-RC1 http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c69cd15a/tests/custom_cluster/test_breakpad.py ---------------------------------------------------------------------- diff --git a/tests/custom_cluster/test_breakpad.py b/tests/custom_cluster/test_breakpad.py index 4b6aa2d..84cbbe1 100644 --- a/tests/custom_cluster/test_breakpad.py +++ b/tests/custom_cluster/test_breakpad.py @@ -22,6 +22,8 @@ import time from resource import setrlimit, RLIMIT_CORE, RLIM_INFINITY from signal import SIGSEGV, SIGKILL +from tests.common.skip import SkipIfBuildType +from subprocess import CalledProcessError from tests.common.custom_cluster_test_suite import CustomClusterTestSuite @@ -212,3 +214,16 @@ class TestBreakpad(CustomClusterTestSuite): # Check that the minidump file size has been reduced. assert reduced_minidump_size < full_minidump_size + @SkipIfBuildType.not_dev_build + @pytest.mark.execute_serially + def test_dcheck_writes_minidump(self): + """Check that hitting a DCHECK macro writes a minidump.""" + assert self.count_all_minidumps() == 0 + failed_to_start = False + try: + self.start_cluster_with_args(minidump_path=self.tmp_dir, + beeswax_port=1) + except CalledProcessError: + failed_to_start = True + assert failed_to_start + assert self.count_minidumps('impalad') > 0
