In our Phabricator setup, we have two distinct hosts:
- A "worker" host which runs the PhabricatorTaskmasterDaemon daemons, as well as an instance of PhabricatorRepositoryPullLocalDaemon with the --no-discovery flag.
- A "repository" host which runs the PhabricatorRepositoryPullLocalDaemon daemon (without the --no-discovery flag).
We have a repository which doesn't receive many updates. I just pushed a commit to this repository a few hours ago and the update frequency for this repository is now at 20s.
In the Daemons console, I can see that there is a failing PhabricatorRepositoryGitCommitChangeParserWorker task:
Trying to execute the command manually from the worker host:
josh@ip-10-63-53-226:/usr/src/phabricator$ ./bin/worker execute --id 21200466 Executing task 21200466 (PhabricatorRepositoryGitCommitChangeParserWorker)... [2015-12-21 22:41:43] EXCEPTION: (CommandException) Command failed with error #128! COMMAND git log -n1 --format='%P' '3515f0da8614e8eda5d5c2183d2885510dffd945' STDOUT (empty) STDERR fatal: bad object 3515f0da8614e8eda5d5c2183d2885510dffd945 at [<phutil>/src/future/exec/ExecFuture.php:416] arcanist(head=master, ref.master=8762e3f36715), phabricator(head=master, ref.master=006321cce76b), phlab(head=master, ref.master=f692a32769cb), phutil(head=master, ref.master=b0843cba1270) #0 ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/storage/PhabricatorRepository.php:346] #1 PhabricatorRepository::execxLocalCommand(string, string, string) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php:19] #2 PhabricatorRepositoryGitCommitChangeParserWorker::parseCommitChanges(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryCommitChangeParserWorker.php:30] #3 PhabricatorRepositoryCommitChangeParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44] #4 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:122] #5 PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:171] #6 PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/management/PhabricatorWorkerManagementExecuteWorkflow.php:52] #7 PhabricatorWorkerManagementExecuteWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:406] #8 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:301] #9 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/setup/manage_worker.php:21]