Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/15899 )
Change subject: KUDU-3096: Fix core dump when thread race between GetThreadStack and SuperviseThread ...................................................................... Patch Set 1: Code-Review-1 (1 comment) http://gerrit.cloudera.org:8080/#/c/15899/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/15899/1//COMMIT_MSG@11 PS1, Line 11: ThreadCache haven't been inited completlly. I'm not sure this is the right fix. The bug report says that the issue is that the signal handler is calling into malloc() before tcmalloc is fully initted, which certainly could cause a crash, but the fact that a signal handler is calling malloc() at all is already a big problem. On x86 we use framepointer-based unwinding so that the signal handler for stack trace collection is async-safe. If the libunwind stack unwinder on aarch64 isn't signal-safe, we should disable that code path entirely, rather than doing this fix. If we don't, I think there is still a risk of arbitrary deadlocks due to malloc not being reentrant (the signalled thread may be holding the PageHeap lock, for example) -- To view, visit http://gerrit.cloudera.org:8080/15899 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icc722cd5e8ed4ed668d279f6ec831e4eeb69f955 Gerrit-Change-Number: 15899 Gerrit-PatchSet: 1 Gerrit-Owner: RuiChen <chenrui.m...@gmail.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-Comment-Date: Mon, 11 May 2020 17:55:04 +0000 Gerrit-HasComments: Yes