Page MenuHomePhorge

HarbormasterBuildUnit fails with PHP 8.1 strlen(null) error
Closed, ResolvedPublic

Description

When submitting an 'arc diff' to a PHP 8.1 Phorge server, in which unit tests are done, 'arc diff' returns the error:

EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: <harbormaster.sendmessage> strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/conduit/ConduitFuture.php:70]
arcanist(head=master, ref.master=8130241a11ac, custom=4)
  #0 <#2> ConduitFuture::didReceiveResult(array) called at [<arcanist>/src/future/FutureProxy.php:40]
  #1 <#2> FutureProxy::isReady() called at [<arcanist>/src/future/Future.php:63]
  #2 <#2> Future::updateFuture() called at [<arcanist>/src/future/FutureIterator.php:224]
  #3 <#2> FutureIterator::next() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2845]
  #4 phlog(ConduitClientException) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2852]
  #5 ArcanistDiffWorkflow::updateAutotargets(string, integer) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:402]
  #6 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427]

and the following stack trace is generated:

EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]PHP message: arcanist(head=master, ref.master=8130241a11ac, custom=4), phorge(head=master, ref.master=7c1487e4dcfa)PHP message:   #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/harbormaster/storage/build/HarbormasterBuildUnitMessage.php:105]PHP message:   #1 <#2> HarbormasterBuildUnitMessage::newFromDictionary(HarbormasterBuildTarget, array) called at [<phorge>/src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php:597]PHP message:   #2 <#2> HarbormasterSendMessageConduitAPIMethod::sendToTarget(ConduitAPIRequest, string, HarbormasterBuildTarget) called at [<phorge>/src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php:546]PHP message:   #3 <#2> HarbormasterSendMessageConduitAPIMethod::execute(ConduitAPIRequest) called at [<phorge>/src/applications/conduit/method/ConduitAPIMethod.php:156]PHP message:   #4 <#2> ConduitAPIMethod::executeMethod(ConduitAPIRequest) called at [<phorge>/src/applications/conduit/call/ConduitCall.php:131]PHP message:   #5 <#2> ConduitCall::executeMethod() called at [<phorge>/src/applications/conduit/call/ConduitCall.php:81]PHP message:   #6 <#2> ConduitCall::execute() called at [<phorge>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:83]PHP message:   #7 phlog(RuntimeException) called at [<phorge>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:111]PHP message:   #8 PhabricatorConduitAPIController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]PHP message:   #9 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:204]PHP message:   #10 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]'

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.