Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception blocks creating personal and global Herald rules
Closed, ResolvedPublic

Description

  1. PHP 8.2.5; Phorge at 8eaa7c1ccf3d75d438e83e074a28ea7de1f15d37 with D25157 locally applied
  2. Go to http://phorge.localhost/herald/create/ to create a Herald rule
  3. Select first item Commit Hook: Branches/Tags/Bookmarks to go to http://phorge.localhost/herald/create/?adapter=HeraldPreCommitRefAdapter
  4. Select Personal Rule or Global Rule
[2023-05-04 20:07:14] 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=master, ref.master=8eaa7c1ccf3d)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/infrastructure/contentsource/PhabricatorUnknownContentSource.php:10]
  #1 <#2> PhabricatorUnknownContentSource::getSourceName() called at [<arcanist>/src/utils/utils.php:147]
  #2 <#2> mpull(array, string) called at [<phorge>/src/applications/herald/field/HeraldContentSourceField.php:28]
  #3 <#2> HeraldContentSourceField::getHeraldFieldValueType(string) called at [<phorge>/src/applications/herald/adapter/HeraldAdapter.php:838]
  #4 <#2> HeraldAdapter::getValueTypeForFieldAndCondition(string, string) called at [<phorge>/src/applications/herald/controller/HeraldRuleController.php:458]
  #5 <#2> HeraldRuleController::setupEditorBehavior(HeraldRule, array, HeraldPreCommitRefAdapter) called at [<phorge>/src/applications/herald/controller/HeraldRuleController.php:234]
  #6 <#2> HeraldRuleController::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:203]
  #11 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

This also applies to creating any other Herald rules.

After fixing that exception, page Create Herald Rule: Commit Hook: Branches/Tags/Bookmarks at http://phorge.localhost/herald/edit/?content_type=HeraldPreCommitRefAdapter&rule_type=personal 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.