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

Reply via email to