Page MenuHomePhabricator

Daemon crashes parsing empty commit
Closed, ResolvedPublic

Description

I have several commits that have been importing for a while now. All three of them are empty commits and crash whichever daemon grabs the task with the following stacktrace:

Fatal error: Call to a member function getHashType() on a non-object in /opt/phabricator/current/libphutil/src/utils/utils.php on line 114

Call Stack:
    0.0002     665048   1. {main}() /opt/phabricator/current/libphutil/scripts/daemon/exec/exec_daemon.php:0
    0.0221    6977184   2. PhutilDaemon->execute() /opt/phabricator/current/libphutil/scripts/daemon/exec/exec_daemon.php:111
    0.0925   23270984   3. PhabricatorTaskmasterDaemon->run() /opt/phabricator/current/libphutil/src/daemon/PhutilDaemon.php:91
    0.1802   23739896   4. PhabricatorWorkerActiveTask->executeTask() /opt/phabricator/current/phabricator/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:19
    0.1817   24205896   5. PhabricatorWorker->executeTask() /opt/phabricator/current/phabricator/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:156
    0.1817   24205896   6. PhabricatorRepositoryCommitParserWorker->doWork() /opt/phabricator/current/phabricator/src/infrastructure/daemon/workers/PhabricatorWorker.php:87
    0.1895   26382120   7. PhabricatorRepositoryGitCommitMessageParserWorker->parseCommit() /opt/phabricator/current/phabricator/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44
    0.1961   27021400   8. PhabricatorRepositoryCommitMessageParserWorker->updateCommitData() /opt/phabricator/current/phabricator/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryGitCommitMessageParserWorker.php:15
    0.2087   27624568   9. DiffusionLowLevelQuery->execute() /opt/phabricator/current/phabricator/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:63
    0.2087   27624568  10. DiffusionLowLevelCommitFieldsQuery->executeQuery() /opt/phabricator/current/phabricator/src/applications/diffusion/query/lowlevel/DiffusionLowLevelQuery.php:23
    0.2949   40407112  11. mpull() /opt/phabricator/current/phabricator/src/applications/diffusion/query/lowlevel/DiffusionLowLevelCommitFieldsQuery.php:74

All three commits are in different repositories. They're empty commits created just to be tagged as a new version release. Another peculiar thing is that when the task crashes, the failure count for the task is not incremented.