Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception blocks rendering External Editor user settings page
Closed, ResolvedPublic

Description

  1. PHP 8.1.8, D25144, D25145, D25146, D25147, D25151, D25152, D25153 locally applied
  2. Go to user's settings at http://phorge.localhost/settings/
  3. Select External Editor in the sidebar to go to https://we.phorge.it/settings/panel/editor
[2023-04-30 17:51:54] 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=D25160, ref.master=5a0d82df7f86, ref.D25160=5a0d82df7f86)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/settings/panel/PhabricatorExternalEditorSettingsPanel.php:42]
  #1 <#2> PhabricatorExternalEditorSettingsPanel::newSettingsPanelEditFormHeadContent(PhabricatorEditEnginePageState) called at [<phorge>/src/applications/settings/editor/PhabricatorSettingsEditEngine.php:274]
  #2 <#2> PhabricatorSettingsEditEngine::newEditFormHeadContent(PhabricatorEditEnginePageState) called at [<phorge>/src/applications/transactions/editengine/PhabricatorEditEngine.php:1273]
  #3 <#2> PhabricatorEditEngine::buildEditResponse(PhabricatorUserPreferences) called at [<phorge>/src/applications/transactions/editengine/PhabricatorEditEngine.php:1000]
  #4 <#2> PhabricatorEditEngine::buildResponse() called at [<phorge>/src/applications/settings/panel/PhabricatorEditEngineSettingsPanel.php:33]
  #5 <#2> PhabricatorEditEngineSettingsPanel::processRequest(AphrontRequest) called at [<phorge>/src/applications/settings/controller/PhabricatorSettingsMainController.php:107]
  #6 <#2> PhabricatorSettingsMainController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]
  #7 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]
  #8 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]
  #9 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296]
  #10 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:204]
  #11 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

After fixing that line, External Editor configuration page gets correctly 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.