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