HomePhabricator

Disable ANSI output if STDOUT is undefined

Description

Disable ANSI output if STDOUT is undefined

Summary:
Currently, I am hitting the following exception when attempting to use an out-of-date XHPAST binary:

[2015-02-11 18:02:10] EXCEPTION: (RuntimeException) Use of undefined constant STDOUT - assumed 'STDOUT' at [<phutil>/src/error/PhutilErrorHandler.php:221]
  #0 PhutilErrorHandler::handleError(integer, string, string, integer, array) called at [<phutil>/src/console/PhutilConsoleFormatter.php:33]
  #1 PhutilConsoleFormatter::getDisableANSI() called at [<phutil>/src/console/PhutilConsoleFormatter.php:51]
  #2 PhutilConsoleFormatter::formatString(string, string, string)
  #3 call_user_func_array(array, array) called at [<phutil>/src/console/format.php:7]
  #4 phutil_console_format(string, string, string) called at [<phutil>/src/parser/xhpast/bin/PhutilXHPASTBinary.php:68]
  #5 PhutilXHPASTBinary::getBuildInstructions() called at [<phutil>/src/parser/xhpast/bin/PhutilXHPASTBinary.php:84]
  #6 PhutilXHPASTBinary::getParserFuture(string) called at [<phabricator>/src/applications/phpast/controller/PhabricatorXHPASTViewRunController.php:14]
  #7 PhabricatorXHPASTViewRunController::processRequest() called at [<phabricator>/src/aphront/AphrontController.php:33]
  #8 AphrontController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:196]
  #9 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:121]
  #10 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:19]

The simple fix is to disable ANSI output when STDOUT is undefined.

Test Plan: Attempted to use XHPAST and hit the correct (PhutilXHPASTBinary::getBuildInstructions()) exception.

Reviewers: Blessed Reviewers, epriestley

Reviewed By: Blessed Reviewers, epriestley

Subscribers: Korvin, epriestley

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

Details

Provenance
joshuaspenceAuthored on
joshuaspencePushed on Feb 12 2015, 8:32 PM
Reviewer
Blessed Reviewers
Differential Revision
D11739: Disable ANSI output if STDOUT is undefined
Parents
rPHU4252753ed7b9: Make translations more modular so third-party libraries can translate their…
Branches
Unknown
Tags
Unknown

Event Timeline

I believe this is actually a PHP issue, I updated my PHP and the issue went away... I think its the current stable on ubuntu that is giving this issue.

It does seem like a valid issue, and it seems to make sense anyway.