Jim Apple has uploaded a new patch set (#3). Change subject: Add a build flag for the undefined behavior sanitizer, aka "ubsan". ......................................................................
Add a build flag for the undefined behavior sanitizer, aka "ubsan". Ubsan checks for undefined behavior according to the C++ standard. Some of this behavior has been known to be exploited by optimizing compilers to produce bizarre results, like taking both branches of a conditional. Although a number of cases of UB were not possible to fix, as they were caused by libraries like Thrift or libstdc++, this patch fixes the UB that was feasible to fix. Change-Id: I88c7234bd7c5eb7404490a0913d90470c10835e7 --- M CMakeLists.txt M be/CMakeLists.txt M be/src/exec/aggregation-node.cc M be/src/exec/base-sequence-scanner.cc M be/src/exec/data-source-scan-node.cc M be/src/exec/delimited-text-parser-test.cc M be/src/exec/exec-node.cc M be/src/exec/hash-join-node-ir.cc M be/src/exec/hash-join-node.cc M be/src/exec/hbase-scan-node.cc M be/src/exec/hdfs-avro-scanner-ir.cc M be/src/exec/hdfs-parquet-scanner-ir.cc M be/src/exec/hdfs-parquet-scanner.cc M be/src/exec/hdfs-rcfile-scanner.cc M be/src/exec/hdfs-scan-node-base.h M be/src/exec/hdfs-scanner.h M be/src/exec/hdfs-sequence-scanner.cc M be/src/exec/hdfs-text-scanner.cc M be/src/exec/kudu-scanner.cc M be/src/exec/nested-loop-join-node.cc M be/src/exec/partitioned-aggregation-node-ir.cc M be/src/exec/partitioned-aggregation-node.cc M be/src/exec/partitioned-hash-join-node-ir.cc M be/src/exec/partitioned-hash-join-node.cc M be/src/exec/read-write-util.cc M be/src/exec/select-node.cc M be/src/exec/unnest-node.cc M be/src/exec/zigzag-test.cc M be/src/experiments/tuple-splitter-test.cc M be/src/exprs/aggregate-functions-ir.cc M be/src/exprs/aggregate-functions-test.cc M be/src/exprs/bit-byte-functions-ir.cc M be/src/exprs/expr-context.cc M be/src/exprs/expr-test.cc M be/src/exprs/expr-value.h M be/src/exprs/math-functions-ir.cc M be/src/exprs/operators-ir.cc M be/src/exprs/string-functions-ir.cc M be/src/gutil/mathlimits.h M be/src/gutil/strings/numbers.cc M be/src/rpc/authentication.cc M be/src/rpc/thrift-util-test.cc M be/src/runtime/buffered-tuple-stream.cc M be/src/runtime/coordinator.cc M be/src/runtime/decimal-value.inline.h M be/src/runtime/disk-io-mgr-test.cc M be/src/runtime/multi-precision.h M be/src/runtime/parallel-executor-test.cc M be/src/runtime/raw-value.cc M be/src/runtime/row-batch-serialize-test.cc M be/src/runtime/sorter.cc M be/src/runtime/string-value.inline.h M be/src/runtime/tuple.h M be/src/service/query-options-test.cc M be/src/thirdparty/mustache/mustache.cc M be/src/udf/udf-test-harness.h M be/src/udf/udf.cc M be/src/util/CMakeLists.txt M be/src/util/bit-packing-test.cc M be/src/util/bitmap.h M be/src/util/coding-util-test.cc M be/src/util/coding-util.cc M be/src/util/decompress-test.cc M be/src/util/dict-encoding.h M be/src/util/internal-queue-test.cc A be/src/util/overflow-test.cc A be/src/util/overflow.h M be/src/util/runtime-profile.cc M be/src/util/streaming-sampler.h M be/src/util/string-parser.h M be/src/util/tuple-row-compare.h M be/src/util/uid-util.h M be/src/util/webserver.cc M bin/make_impala.sh M bin/run-backend-tests.sh M bin/start-impalad.sh M buildall.sh 77 files changed, 755 insertions(+), 290 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/82/5082/3 -- To view, visit http://gerrit.cloudera.org:8080/5082 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88c7234bd7c5eb7404490a0913d90470c10835e7 Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Jim Apple <jbapple-imp...@apache.org> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Jim Apple <jbapple-imp...@apache.org> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>