Mike Percy has posted comments on this change.

Change subject: Control mutex stack walking in DEBUG mode with a gflag
......................................................................


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/5741/2//COMMIT_MSG
Commit Message:

PS2, Line 25: This patch disables the Mutex owner stack trace collection on 
DEBUG
            : builds by default, only enabling it when a hidden gflag is set.
> Is there no better fix than disabling stack collection in mutexes by defaul
I stopped investigating this once I realized the async logger thread was 
triggering the problem via Mutex so I can't precisely answer all your 
questions. It's not hard to reproduce though.

Considering multiple threads can log or crash at once, and async logging is, 
well, asynchronous, I didn't find it too outlandish that this could occur since 
the fatal errors generate their own stack trace via the failure function that 
calls google::GetStackTrace()

libunwind appears to be thread safe so I am not sure why 
google::GetStackTrace() limits us to a single thread. We could potentially 
reimplement google::GetStackTrace() so that the stacktrace-acquiring calls we 
control don't have the same limitations.


-- 
To view, visit http://gerrit.cloudera.org:8080/5741
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4593cf7173867ce2f6151e03df0be94f97d95d2
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Mike Percy <[email protected]>
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-HasComments: Yes

Reply via email to