We're seeing the following error in our daemon logs:
Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] [2016-09-28 13:01:49] EXCEPTION: (PhutilProxyException) Error while executing Task ID 9802706. {>} (Exception) Diff "PHID-DIFF-pea6qvgvhs34cojvyi3s" does not exist! at [<phabricator>/src/applications/differential/editor/DifferentialTransactionEditor.php:1460] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] arcanist(), integrator(head=master, ref.master=00fff5664e0d), integrator-client(), phabricator(), phutil(), sprint() Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #0 <#2> DifferentialTransactionEditor::requireDiff(string, boolean) called at [<phabricator>/src/applications/differential/editor/DifferentialTransactionEditor.php:1254] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #1 <#2> DifferentialTransactionEditor::buildMailBody(DifferentialRevision, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2511] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #2 <#2> PhabricatorApplicationTransactionEditor::buildMailForTarget(DifferentialRevision, array, PhabricatorMailTarget) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2468] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #3 <#2> PhabricatorApplicationTransactionEditor::buildMail(DifferentialRevision, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1150] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #4 <#2> PhabricatorApplicationTransactionEditor::publishTransactions(DifferentialRevision, array) called at [<phabricator>/src/applications/transactions/worker/PhabricatorApplicationTransactionPublishWorker.php:21] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #5 <#2> PhabricatorApplicationTransactionPublishWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:122] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #6 <#2> PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:171] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #7 <#2> PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #8 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:184] Daemon 489647 STDE [Wed, 28 Sep 2016 13:01:49 -0400] #9 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:127]
The error gets thrown here (line 1460).
The weird thing is that the diffs do exist when that error gets thrown, and often they are hours or days old. I still don't have any solid repro steps, but it looks like this has happened to about 50 distinct diffs in the past week (resulting in ~20k of these errors due to retries). I'm not quite sure how that block of code can get hit if the diff exists in the DB. I'll update as soon as I have repro steps.
Version Info
phabricator 6725f3719da3498670e07a1922762bbb4165764d (Tue, Sep 6)
arcanist 10e5194752901959507223c01e0878e6b8312cc5 (Aug 26 2016)
phutil c14343ee620e43f0ba55eaf80aabcba78c732d45 (Mon, Sep 5)