Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception blocks rendering a project's page when Reports prototype enabled
Closed, ResolvedPublic

Description

  1. PHP 8.2.5; Phorge at 651e3f7263b58e46cd65285cce7ba266af480aef
  2. Have an existing project already created
  3. Go to http://phorge.localhost/project/view/1/ - works.
  4. Run ./bin/config set phabricator.show-prototypes true in terminal
  5. Go to http://phorge.localhost/project/view/1/
[2023-05-06 13:28:34] EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
arcanist(head=renderDashboardTabPanelContent, ref.master=d47289622650, ref.renderDashboardTabPanelContent=d47289622650), phorge(head=projViewReportsProtoEnabled, ref.master=651e3f7263b5, ref.projViewReportsProtoEnabled=651e3f7263b5)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/project/menuitem/PhabricatorProjectReportsProfileMenuItem.php:49]
  #1 <#2> PhabricatorProjectReportsProfileMenuItem::getDisplayName(PhabricatorProfileMenuItemConfiguration) called at [<phorge>/src/applications/project/menuitem/PhabricatorProjectReportsProfileMenuItem.php:73]
  #2 <#2> PhabricatorProjectReportsProfileMenuItem::newMenuItemViewList(PhabricatorProfileMenuItemConfiguration) called at [<phorge>/src/applications/search/menuitem/PhabricatorProfileMenuItem.php:77]
  #3 <#2> PhabricatorProfileMenuItem::getMenuItemViewList(PhabricatorProfileMenuItemConfiguration) called at [<phorge>/src/applications/search/storage/PhabricatorProfileMenuItemConfiguration.php:129]
  #4 <#2> PhabricatorProfileMenuItemConfiguration::getMenuItemViewList() called at [<phorge>/src/applications/search/engine/PhabricatorProfileMenuEngine.php:1293]
  #5 <#2> PhabricatorProfileMenuEngine::newProfileMenuItemViewList() called at [<phorge>/src/applications/project/controller/PhabricatorProjectController.php:212]
  #6 <#2> PhabricatorProjectController::newNavigation(PhabricatorProject, string) called at [<phorge>/src/applications/project/controller/PhabricatorProjectBoardViewController.php:335]
  #7 <#2> PhabricatorProjectBoardViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/AphrontController.php:71]
  #8 <#2> AphrontController::delegateToController(PhabricatorProjectBoardViewController) called at [<phorge>/src/applications/project/controller/PhabricatorProjectViewController.php:45]
  #9 <#2> PhabricatorProjectViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]
  #10 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]
  #11 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]
  #12 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296]
  #13 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203]
  #14 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

Fix that exception; afterwards page gets rendered in web browser.

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.