Page MenuHomePhabricator

Fatal in Diffusion blame with missing leaves (deleted repository)
Closed, ResolvedPublic

Description

Repro steps:

  • open Diffusion blame view on a file
  • which has a commit in its history
  • that went through Differential code review
  • on a repository that was deleted/destroyed

Fatal:

2018/01/17 01:09:44 [error] 18198#18198: *16024711 FastCGI sent in stderr: "PHP message: [2018-01-16 20:09:44] ERROR 8: Undefined offset: 716 at [/opt/phabricator/phabricator/src/applications/diffusion/controller/DiffusionBrowseController.php:981]
PHP message: arcanist(head=stable, ref.master=7bb8dbabce83, ref.stable=08674ca997b6), phabricator(head=stable, ref.master=0d8f4170f4dc, ref.stable=53b4882b8073), phutil(head=stable, ref.master=0a4487d37cd7, ref.stable=f3386051a959)
PHP message:   #0 DiffusionBrowseController::buildDisplayRows(array, array, array, boolean) called at [<phabricator>/src/applications/diffusion/controller/DiffusionBrowseController.php:589]
PHP message:   #1 DiffusionBrowseController::buildCorpus(boolean, string, boolean, DiffusionGitRequest, string, string) called at [<phabricator>/src/applications/diffusion/controller/DiffusionBrowseController.php:233]
PHP message:   #2 DiffusionBrowseController::browseFile() called at [<phabricator>/src/applications/diffusion/controller/DiffusionBrowseController.php:47]
PHP message:   #3 DiffusionBrowseController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:258]
PHP message:   #4 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:181]
PHP message:   #5 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:17]
PHP message: [2018-01-16 20:09:44] PHLOG: '4b5090b51506668ad1a818091bd6875b7bb99c1d' at [/opt/phabricator/phabricator/src/applications/diffusion/controller/DiffusionBrowseController.php:983]
PHP message: PHP Fatal error:  Call to a member function getAuthorPHID() on null in /opt/phabricator/phabricator/src/applications/diffusion/controller/DiffusionBrowseController.php on line 985
PHP message: >>> UNRECOVERABLE FATAL ERROR <<<

The 716 means D716 is the review that was made against a deleted repository.

Patch incoming.