We have started using phabricator and noticed that some tasks linger in phabricator/daemon/ and dont get finished.
ID Class Owner Expires Failures 807459 PhabricatorRepositoryCommitHeraldWorker 13545:1416311621:ubuntu:2 -101556 3000 143 View Task 807465 PhabricatorRepositoryCommitHeraldWorker 13598:1416311634:ubuntu:2 -101543 3000 143 View Task 807524 PhabricatorRepositoryCommitHeraldWorker 13616:1416311638:ubuntu:2 -101539 3000 143 View Task 807531 PhabricatorRepositoryCommitHeraldWorker 13618:1416311638:ubuntu:2 -101539 3000 143 View Task
This seems to only happen to tasks from users that dont exist in Phabricator. After some debugging and Irc chatting. I've found that when:
./scripts/repository/reparse.php rEB96bb4893bd14998cf426787617c91c6ca641be97 --herald [ ] 0.0%[2014-11-19 16:58:26] EXCEPTION: (AphrontParameterQueryException) Array for %Ls conversion is empty. Query: SELECT * FROM %s WHERE userPHID in (%Ls) %Q at [<phutil>/src/xsprintf/qsprintf.php:252] #0 _qsprintf_check_type(array, string, string) called at [<phutil>/src/xsprintf/qsprintf.php:129] #1 xsprintf_query(AphrontMySQLiDatabaseConnection, string, integer, array, integer) called at [<phutil>/src/xsprintf/xsprintf.php:63] #2 xsprintf(string, AphrontMySQLiDatabaseConnection, array) called at [<phutil>/src/xsprintf/qsprintf.php:64] #3 qsprintf(AphrontMySQLiDatabaseConnection, string, string, array, string) #4 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/queryfx.php:5] #5 queryfx(AphrontMySQLiDatabaseConnection, string, string, array, string) #6 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/queryfx.php:16] #7 queryfx_all(AphrontMySQLiDatabaseConnection, string, string, array, string) #8 call_user_func_array(string, array) called at [<phutil>/src/aphront/storage/connection/AphrontDatabaseConnection.php:20] #9 AphrontDatabaseConnection::queryData(string, string, array, string) #10 call_user_func_array(array, array) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:509] #11 LiskDAO::loadRawDataWhere(string, array) #12 call_user_func_array(array, array) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:452] #13 LiskDAO::loadAllWhere(string, array) called at [<phabricator>/src/applications/feed/PhabricatorFeedStoryPublisher.php:196] #14 PhabricatorFeedStoryPublisher::filterSubscribedPHIDs(array) called at [<phabricator>/src/applications/feed/PhabricatorFeedStoryPublisher.php:124] #15 PhabricatorFeedStoryPublisher::publish() called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2293] #16 PhabricatorApplicationTransactionEditor::publishFeedStory(PhabricatorRepositoryCommit, array, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:807] #17 PhabricatorApplicationTransactionEditor::applyTransactions(PhabricatorRepositoryCommit, array) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php:69] #18 PhabricatorRepositoryCommitHeraldWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44] #19 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:87] #20 PhabricatorWorker::executeTask() called at [<phabricator>/scripts/repository/reparse.php:281]