Todd Lipcon has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/9591 )
Change subject: KUDU-2336. diagnostics_log: fix an assertion failure for null stack frames ...................................................................... KUDU-2336. diagnostics_log: fix an assertion failure for null stack frames On my Ubuntu 16 box, in ASAN builds, it seems I sometimes get a stack frame with a nullptr address. This caused SymbolSet::Add(...) to fail an assertion since it uses google::dense_hash_set<> which requires that there be one key reserved as a non-insertable "empty" marker. We were using nullptr for that but not checking before potentially inserting it. This adds a simple workaround. Without the patch, if I started a tserver with --diagnostics-log-stack-traces-interval-ms=10, it would crash about 10% of the time with the following assertion failure: kudu-master: ../../thirdparty/installed/common/include/sparsehash/internal/densehashtable.h:969: std::pair<iterator, bool> google::dense_hashtable<...>...: Assertion `!equals(std::forward<K>(key), key_info.empty_key) && "Inserting the empty key"' failed. Change-Id: I73ada54bef056b665c03ca142a3995ae6ad59230 Reviewed-on: http://gerrit.cloudera.org:8080/9591 Tested-by: Todd Lipcon <[email protected]> Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/server/diagnostics_log.cc 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Todd Lipcon: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/9591 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I73ada54bef056b665c03ca142a3995ae6ad59230 Gerrit-Change-Number: 9591 Gerrit-PatchSet: 3 Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
