HomePhabricator

Let the top-level exception handler dump a stack trace if we reach debug mode…

Description

Let the top-level exception handler dump a stack trace if we reach debug mode before things go sideways

Summary:
Depends on D20140. Ref T13250. Currently, the top-level exception handler doesn't dump stacks because we might not be in debug mode, and we might double-extra-super fatal if we call PhabricatorEnv:... to try to figure out if we're in debug mode or not.

We can get around this by setting a flag on the Sink once we're able to confirm that we're in debug mode. Then it's okay for the top-level error handler to show traces.

There's still some small possibility that showing a trace could make us double-super-fatal since we have to call a little more code, but AphrontStackTraceView is pretty conservative about what it does and 99% of the time this is a huge improvement.

Test Plan:

Screen Shot 2019-02-11 at 1.00.45 PM.png (1×1 px, 350 KB)

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13250

Differential Revision: https://secure.phabricator.com/D20142