Page MenuHomePhorge

arc diff <differential.getcommitmessage> strlen(null) PHP 8.1 error
Closed, ResolvedPublic

Description

Running arc diff to a PHP 8.1 phorge server results in error

EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: <differential.getcommitmessage> 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)

Arc Diff Trace:

$ arc diff --trace
 ARGV  apps/arcanist/bin/arc diff --trace
>>> [1] (+0) <exec> $ php -f /apps/arcanist/scripts/arcanist.php -- diff --trace
 ARGV  /apps/arcanist/scripts/arcanist.php diff --trace
 LOAD  Loaded "arcanist" from "/apps/arcanist/src".
Config: Reading user configuration file "/export/home/testuser/.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: Reading .arcconfig from "/home/testuser/TestRepository/.arcconfig".
Working Copy: Path "/home/testuser/TestRepository" is part of `git` working copy "/home/testuser/TestRepository".
Working Copy: Project root is at "/home/testuser/TestRepository".
Config: Did not find local configuration at "/home/testuser/TestRepository/.git/arc/config".
>>> [1] (+0) <http> https://my.phorge.site/api/user.whoami
<<< [1] (+206) <http> 206,142 us
>>> [2] (+212) <exec> $ git --version
<<< [2] (+219) <exec> 7,066 us
>>> [3] (+219) <exec> $ git status --porcelain=2 -z
<<< [3] (+227) <exec> 7,497 us
>>> [4] (+228) <event> diff.didCollectChanges <listeners = 0>
<<< [4] (+228) <event> 95 us
>>> [5] (+228) <exec> $ git rev-parse --verify HEAD^
<<< [5] (+234) <exec> 6,211 us
>>> [6] (+234) <exec> $ git rev-parse --abbrev-ref --symbolic-full-name '@{upstream}'
<<< [6] (+240) <exec> 5,463 us
>>> [7] (+240) <exec> $ git cat-file -t master
<<< [7] (+245) <exec> 5,271 us
>>> [8] (+246) <exec> $ git merge-base -- master HEAD
<<< [8] (+251) <exec> 5,589 us
>>> [9] (+251) <exec> $ git rev-parse HEAD
<<< [9] (+257) <exec> 5,112 us
>>> [10] (+257) <exec> $ git log --first-parent --format=medium 6c00c70575a2c4229ab86bfe4f0761df14ea0125..e6022da1e50f3fea7500bf1ef3d5d894727f454f --
<<< [10] (+262) <exec> 5,439 us
>>> [11] (+268) <http> https://my.phorge.site/api/differential.query
<<< [11] (+314) <http> 45,614 us
>>> [12] (+314) <exec> $ git rev-parse --git-dir
<<< [12] (+319) <exec> 5,214 us
>>> [13] (+320) <exec> $ git log e6022da1e50f3fea7500bf1ef3d5d894727f454f --not 6c00c70575a2c4229ab86bfe4f0761df14ea0125 --format='%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02' --
<<< [13] (+325) <exec> 5,758 us
>>> [14] (+326) <http> https://my.phorge.site/api/differential.parsecommitmessage
<<< [14] (+384) <http> 58,074 us
>>> [15] (+384) <http> https://my.phorge.site/api/differential.parsecommitmessage
<<< [15] (+433) <http> 48,283 us
>>> [16] (+433) <http> https://my.phorge.site/api/differential.parsecommitmessage
<<< [16] (+487) <http> 53,901 us
>>> [17] (+487) <event> diff.willBuildMessage <listeners = 0>
<<< [17] (+487) <event> 50 us
>>> [18] (+487) <http> https://my.phorge.site/api/differential.getcommitmessage
<<< [18] (+544) <http> 57,101 us

Arcanist stack trace:

EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: <differential.getcommitmessage> 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 ConduitFuture::didReceiveResult(array) called at [<arcanist>/src/future/FutureProxy.php:40]
  #1 FutureProxy::isReady() called at [<arcanist>/src/future/Future.php:63]
  #2 Future::updateFuture() called at [<arcanist>/src/future/FutureIterator.php:224]
  #3 FutureIterator::next() called at [<arcanist>/src/future/FutureIterator.php:190]
  #4 FutureIterator::rewind()
  #5 iterator_to_array(FutureIterator) called at [<arcanist>/src/future/FutureIterator.php:84]
  #6 FutureIterator::resolveAll() called at [<arcanist>/src/future/Future.php:47]
  #7 Future::resolve() called at [<arcanist>/src/conduit/ConduitClient.php:65]
  #8 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1421]
  #9 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1337]
  #10 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:351]
  #11 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427]

Phorge stack trace:

AH01071: Got error 'PHP message: [2023-06-30 07:55:39] 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/differential/conduit/DifferentialGetCommitMessageConduitAPIMethod.php:118]PHP message:
#1 <#2> DifferentialGetCommitMessageConduitAPIMethod::execute(ConduitAPIRequest) called at [<phorge>/src/applications/conduit/method/ConduitAPIMethod.php:156]PHP message:
#2 <#2> ConduitAPIMethod::executeMethod(ConduitAPIRequest) called at [<phorge>/src/applications/conduit/call/ConduitCall.php:131]PHP message:
#3 <#2> ConduitCall::executeMethod() called at [<phorge>/src/applications/conduit/call/ConduitCall.php:81]PHP message:
#4 <#2> ConduitCall::execute() called at [<phorge>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:83]PHP message:
#5 phlog(RuntimeException) called at [<phorge>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:111]PHP message:
#6 PhabricatorConduitAPIController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]PHP message:
#7 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:204]PHP message:
#8 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.