Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception blocks rendering most projects' Configure pages
Closed, ResolvedPublic

Description

  1. PHP 8.2.5; Phorge at 651e3f7263b58e46cd65285cce7ba266af480aef
  2. Go to http://phorge.localhost/applications/
  3. Select the Configure button of any of the listed applications
  4. Except for Legalpad (working) and Differential (different stacktrace), they all trigger the same stacktrace and the Configuration page is not rendered:
[2023-05-06 12:49:38] 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=configApp, ref.master=651e3f7263b5, ref.configApp=651e3f7263b5)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php:117]
  #1 <#2> PhabricatorApplicationDetailViewController::buildPropertySectionView(PhabricatorAuditApplication) called at [<phorge>/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php:47]
  #2 <#2> PhabricatorApplicationDetailViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]
  #3 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]
  #4 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]
  #5 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296]
  #6 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203]
  #7 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

After fixing that exception, most application configuration pages (e.g. http://phorge.localhost/applications/view/PhabricatorAuditApplication/ ) get correctly rendered in web browser. Some application pages still show followup exceptions.

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.