Page MenuHomePhabricator

"'authorPHID' cannot be null" exception parsing commit message
Closed, ResolvedPublic

Description

We have three PhabricatorRepositoryGitCommitMessageParserWorker tasks that are constantly failing. I am seeing the following error in the daemon logs:

[04-Dec-2014 22:42:28 Australia/Sydney] [2014-12-04 22:42:28] EXCEPTION: (PhutilProxyException) Error while executing task ID 15162574 from queue. {>} (AphrontQueryExcept
ion) #1048: Column 'authorPHID' cannot be null at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:308]
[04-Dec-2014 22:42:28 Australia/Sydney]   #0 AphrontBaseMySQLDatabaseConnection::throwQueryCodeException(integer, string) called at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:275]
[04-Dec-2014 22:42:28 Australia/Sydney]   #1 AphrontBaseMySQLDatabaseConnection::throwQueryException(mysqli) called at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:181]
[04-Dec-2014 22:42:28 Australia/Sydney]   #2 AphrontBaseMySQLDatabaseConnection::executeRawQuery(string) called at [<phutil>/src/xsprintf/queryfx.php:6]
[04-Dec-2014 22:42:28 Australia/Sydney]   #3 queryfx(AphrontMySQLiDatabaseConnection, string, string, string, array, string)
[04-Dec-2014 22:42:28 Australia/Sydney]   #4 call_user_func_array(string, array) called at [<phutil>/src/aphront/storage/connection/AphrontDatabaseConnection.php:26]
[04-Dec-2014 22:42:28 Australia/Sydney]   #5 AphrontDatabaseConnection::query(string, string, string, array, string) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1216]
[04-Dec-2014 22:42:28 Australia/Sydney]   #6 LiskDAO::insertRecordIntoDatabase(string) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1070]
[04-Dec-2014 22:42:28 Australia/Sydney]   #7 LiskDAO::insert() called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1039]
[04-Dec-2014 22:42:28 Australia/Sydney]   #8 LiskDAO::save() called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:697]
[04-Dec-2014 22:42:28 Australia/Sydney]   #9 PhabricatorApplicationTransactionEditor::applyTransactions(ManiphestTask, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionCommentEditor.php:89]
[04-Dec-2014 22:42:28 Australia/Sydney]   #10 PhabricatorApplicationTransactionCommentEditor::applyEdit(ManiphestTransaction, ManiphestTransactionComment) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:695]
[04-Dec-2014 22:42:28 Australia/Sydney]   #11 PhabricatorApplicationTransactionEditor::applyTransactions(ManiphestTask, array) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:513]
[04-Dec-2014 22:42:28 Australia/Sydney]   #12 PhabricatorRepositoryCommitMessageParserWorker::closeTasks(PhabricatorUser, string, PhabricatorRepository, PhabricatorRepositoryCommit, string) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:228]
[04-Dec-2014 22:42:28 Australia/Sydney]   #13 PhabricatorRepositoryCommitMessageParserWorker::updateCommitData(DiffusionCommitRef) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryGitCommitMessageParserWorker.php:15]
[04-Dec-2014 22:42:28 Australia/Sydney]   #14 PhabricatorRepositoryGitCommitMessageParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44]
[04-Dec-2014 22:42:28 Australia/Sydney]   #15 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:91]
[04-Dec-2014 22:42:28 Australia/Sydney]   #16 PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:156]
[04-Dec-2014 22:42:28 Australia/Sydney]   #17 PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:19]
[04-Dec-2014 22:42:28 Australia/Sydney]   #18 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:91]
[04-Dec-2014 22:42:28 Australia/Sydney]   #19 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:111]

Event Timeline

joshuaspence raised the priority of this task from to Needs Triage.
joshuaspence updated the task description. (Show Details)
joshuaspence added a project: Phabricator.
joshuaspence added a subscriber: joshuaspence.

We're experiencing this problem and it's quite severe. It's causing commits to show in diffusion as "still importing", and it's preventing autoclose from working. We're seeing these very frequently.

epriestley added subscribers: btrahan, epriestley.

I haven't triaged this but it sounds like it may have Support Impact.

I'm actually not seeing this issue any more after updating.

Oh cool. I've updated and will report back.

The problem went away as soon as I updated.

btrahan claimed this task.

I think I broke and fixed this doing some related work in the area as I did all sorts of things to the low-level transactions framework around when this was reported.

If this still is an issue for anyone please let us know how to reproduce and I'll take a look. Thanks for the report!