[kudu-CR] diagnostics log: fix an assertion failure for null stack frames
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9591 ) Change subject: diagnostics_log: fix an assertion failure for null stack frames .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/9591/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/9591/1//COMMIT_MSG@7 PS1, Line 7: diagnostics_log: fix an assertion failure for null stack frames > You can tag KUDU-2336 here. ah I missed that this was filed. Done. http://gerrit.cloudera.org:8080/#/c/9591/1//COMMIT_MSG@20 PS1, Line 20: kudu-master: ../../thirdparty/installed/common/include/sparsehash/internal/densehashtable.h:969: std::pair google::dense_hashtable, google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::Identity, google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::insert_noresize(K &&, Args &&...) [Value = void *, Key = void *, HashFcn = std::hash, ExtractKey = google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::Identity, SetKey = google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::SetKey, EqualKey = std::equal_to, Alloc = google::libc_allocator_with_realloc, K = void *const &, Args = ]: Assertion `!equals(std::forward(key), key_info.empty_key) && "Inserting the empty key"' failed. > Nit: could you move this be to about Change-Id? And maybe reformat/elide so ah, git hook gone awry -- 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: comment Gerrit-Change-Id: I73ada54bef056b665c03ca142a3995ae6ad59230 Gerrit-Change-Number: 9591 Gerrit-PatchSet: 1 Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Mon, 12 Mar 2018 23:22:33 + Gerrit-HasComments: Yes
[kudu-CR] diagnostics log: fix an assertion failure for null stack frames
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/9591 ) Change subject: diagnostics_log: fix an assertion failure for null stack frames .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/9591/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/9591/1//COMMIT_MSG@7 PS1, Line 7: diagnostics_log: fix an assertion failure for null stack frames You can tag KUDU-2336 here. http://gerrit.cloudera.org:8080/#/c/9591/1//COMMIT_MSG@20 PS1, Line 20: kudu-master: ../../thirdparty/installed/common/include/sparsehash/internal/densehashtable.h:969: std::pair google::dense_hashtable, google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::Identity, google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::insert_noresize(K &&, Args &&...) [Value = void *, Key = void *, HashFcn = std::hash, ExtractKey = google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::Identity, SetKey = google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::SetKey, EqualKey = std::equal_to, Alloc = google::libc_allocator_with_realloc, K = void *const &, Args = ]: Assertion `!equals(std::forward(key), key_info.empty_key) && "Inserting the empty key"' failed. Nit: could you move this be to about Change-Id? And maybe reformat/elide some of the templating to make the error more clear? -- 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: comment Gerrit-Change-Id: I73ada54bef056b665c03ca142a3995ae6ad59230 Gerrit-Change-Number: 9591 Gerrit-PatchSet: 1 Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Mon, 12 Mar 2018 23:00:02 + Gerrit-HasComments: Yes
[kudu-CR] diagnostics log: fix an assertion failure for null stack frames
Hello Adar Dembo, I'd like you to do a code review. Please visit http://gerrit.cloudera.org:8080/9591 to review the following change. Change subject: diagnostics_log: fix an assertion failure for null stack frames .. 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: Change-Id: I73ada54bef056b665c03ca142a3995ae6ad59230 kudu-master: ../../thirdparty/installed/common/include/sparsehash/internal/densehashtable.h:969: std::pair google::dense_hashtable, google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::Identity, google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::insert_noresize(K &&, Args &&...) [Value = void *, Key = void *, HashFcn = std::hash, ExtractKey = google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::Identity, SetKey = google::dense_hash_set, std::equal_to, google::libc_allocator_with_realloc >::SetKey, EqualKey = std::equal_to, Alloc = google::libc_allocator_with_realloc, K = void *const &, Args = ]: Assertion `!equals(std::forward(key), key_info.empty_key) && "Inserting the empty key"' failed. --- M src/kudu/server/diagnostics_log.cc 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/9591/1 -- 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: newchange Gerrit-Change-Id: I73ada54bef056b665c03ca142a3995ae6ad59230 Gerrit-Change-Number: 9591 Gerrit-PatchSet: 1 Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: Adar Dembo