Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception blocks rendering Config's Module page
Closed, ResolvedPublic

Description

  1. PHP 8.1.8, on top D25144, D25145, D25146, D25147, D25150, D25151, D25152, D25153, D25154, D25155 locally applied
  2. Go to http://phorge.localhost/config/
  3. Select Extensions/Modules to go to http://phorge.localhost/config/module/
[2023-04-30 12:19:37] EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
arcanist(head=master, ref.master=82d1abd4edd1), phorge(head=master, ref.master=562d36ef5f9e)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/config/controller/module/PhabricatorConfigModuleController.php:12]
  #1 <#2> PhabricatorConfigModuleController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]
  #2 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]
  #3 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]
  #4 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296]
  #5 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:204]
  #6 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

After fixing that line, page /config/module/ gets rendered in web browser with its default Constants: Differential view.