Page MenuHomePhabricator

Some Conduit API method exceptions do not construct messages correctly
Closed, ResolvedPublic

Description

I've been getting this error whenever a repo has a commit, I've tested this out with git and subversion repos both new and old.
Started happened after a full update.

test command: <phabricator>/scripts/repository/reparse.php --message --change --owners --herald --force rCHC43c0f87cad5120fc4de88ecab20c122e9a577ad5 --trace

NOTE: repo codename: CHC; revision: 43c0f87cad5120fc4de88ecab20c122e9a577ad5; repo type: Git
[2014-08-11 01:55:42] EXCEPTION: (RuntimeException) Object of class DifferentialParseCommitMessageConduitAPIMethod could not be converted to string at [<phutil>/src/error/PhutilErrorHandler.php:205]
  #0 PhutilErrorHandler::handleError(integer, string, string, integer, array)
  #1 vsprintf(string, array) called at [<phutil>/src/internationalization/PhutilTranslator.php:91]
  #2 PhutilTranslator::translate(string, DifferentialParseCommitMessageConduitAPIMethod, string)
  #3 call_user_func_array(array, array) called at [<phutil>/src/internationalization/pht.php:17]
  #4 pht(string, DifferentialParseCommitMessageConduitAPIMethod, string) called at [<phabricator>/src/applications/conduit/protocol/exception/ConduitApplicationNotInstalledException.php:11]
  #5 ConduitApplicationNotInstalledException::__construct(DifferentialParseCommitMessageConduitAPIMethod, string) called at [<phabricator>/src/applications/conduit/call/ConduitCall.php:181]
  #6 ConduitCall::buildMethodHandler(string) called at [<phabricator>/src/applications/conduit/call/ConduitCall.php:21]
  #7 ConduitCall::__construct(string, array) called at [<phabricator>/src/applications/diffusion/query/lowlevel/DiffusionLowLevelCommitFieldsQuery.php:23]
  #8 DiffusionLowLevelCommitFieldsQuery::executeQuery() called at [<phabricator>/src/applications/diffusion/query/lowlevel/DiffusionLowLevelQuery.php:23]
  #9 DiffusionLowLevelQuery::execute() called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:49]
  #10 PhabricatorRepositoryCommitMessageParserWorker::updateCommitData(DiffusionCommitRef) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryGitCommitMessageParserWorker.php:15]
  #11 PhabricatorRepositoryGitCommitMessageParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44]
  #12 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:87]
  #13 PhabricatorWorker::executeTask() called at [<phabricator>/scripts/repository/reparse.php:282]

Event Timeline

TCFWiAfA raised the priority of this task from to Unbreak Now!.
TCFWiAfA updated the task description. (Show Details)
TCFWiAfA added a project: Phabricator.
TCFWiAfA added a subscriber: TCFWiAfA.

D10211 should fix the incorrect construction exception.

The root cause of this issue is that Differential is not installed, but we're incorrectly attempting to parse "Differential Revision: ..." out of commit messages anyway. You can work around this issue by installing Differential (in Applications) and locking it down so no one can use it (Applications > Differential > Help/Options > Edit Policies > Can Use Application).

We'll fix this by not attempting to parse these messages if the application is not installed. T4864 discusses this; I'll merge this there once the immediate issue is resolved.

epriestley renamed this task from Repository RuntimeException to Some Conduit API method exceptions do not construct messages correctly.Aug 11 2014, 1:33 PM
epriestley lowered the priority of this task from Unbreak Now! to Normal.

Thanks @epriestley, worked like a charm

keep up the good work :)

โœ˜ Merged into T4864.