- PHP 8.2.6; Phorge at e11c5486c92bd75895eda4e0d905d8e49c0f68b1 with D25262 and D25263 on top
- Go to Differential at http://phorge.localhost/differential/
- Select in upper right corner to go to http://phorge.localhost/differential/diff/create/
- In the Raw Diff field, paste content of a valid diff file (e.g. starting with diff --git a/a.php b/b.php)
- Select Create Diff button at the bottom
- Select Continue button to go to Create Revision page on http://phorge.localhost/differential/revision/attach/4/to/
- In the Title field, enter title
- In the Test Plan field, enter testplan
- Select Create New Revision button to go to http://phorge.localhost/D1
[2023-05-30 10:37:29] 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=18554ea76ceb), phorge(head=diff3, ref.master=e11c5486c92b, ref.diff3=e11c5486c92b) #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/differential/customfield/DifferentialBranchField.php:42] #1 <#2> DifferentialBranchField::getBranchDescription(DifferentialDiff) called at [<phorge>/src/applications/differential/customfield/DifferentialBranchField.php:35] #2 <#2> DifferentialBranchField::renderDiffPropertyViewValue(DifferentialDiff) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:1226] #3 <#2> DifferentialRevisionViewController::buildDiffPropertyList(DifferentialDiff, DifferentialRevision, array) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:1188] #4 <#2> DifferentialRevisionViewController::buildDiffDetailView(array, DifferentialRevision, PhabricatorCustomFieldList) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:343] #5 <#2> DifferentialRevisionViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284] #6 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #7 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751] #8 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296] #9 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203] #10 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]
Fix that exception; get next exception:
[2023-05-30 10:39:22] 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=18554ea76ceb), phorge(head=diff3, ref.master=e11c5486c92b, ref.diff3=e11c5486c92b) #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/differential/customfield/DifferentialBranchField.php:44] #1 <#2> DifferentialBranchField::getBranchDescription(DifferentialDiff) called at [<phorge>/src/applications/differential/customfield/DifferentialBranchField.php:35] #2 <#2> DifferentialBranchField::renderDiffPropertyViewValue(DifferentialDiff) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:1226] #3 <#2> DifferentialRevisionViewController::buildDiffPropertyList(DifferentialDiff, DifferentialRevision, array) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:1188] #4 <#2> DifferentialRevisionViewController::buildDiffDetailView(array, DifferentialRevision, PhabricatorCustomFieldList) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:343] #5 <#2> DifferentialRevisionViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284] #6 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #7 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751] #8 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296] #9 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203] #10 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]
Fix that exception; get next exception:
[2023-05-30 10:40:21] 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=18554ea76ceb), phorge(head=diff3, ref.master=e11c5486c92b, ref.diff3=e11c5486c92b) #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/differential/customfield/DifferentialBranchField.php:46] #1 <#2> DifferentialBranchField::getBranchDescription(DifferentialDiff) called at [<phorge>/src/applications/differential/customfield/DifferentialBranchField.php:35] #2 <#2> DifferentialBranchField::renderDiffPropertyViewValue(DifferentialDiff) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:1226] #3 <#2> DifferentialRevisionViewController::buildDiffPropertyList(DifferentialDiff, DifferentialRevision, array) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:1188] #4 <#2> DifferentialRevisionViewController::buildDiffDetailView(array, DifferentialRevision, PhabricatorCustomFieldList) called at [<phorge>/src/applications/differential/controller/DifferentialRevisionViewController.php:343] #5 <#2> DifferentialRevisionViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284] #6 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #7 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751] #8 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296] #9 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203] #10 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]
Fix that exception; get next exception:
[2023-05-30 10:41:00] EXCEPTION: (RuntimeException) substr(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261] arcanist(head=master, ref.master=18554ea76ceb), phorge(head=diff3, ref.master=e11c5486c92b, ref.diff3=e11c5486c92b) #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<arcanist>/src/error/PhutilErrorHandler.php:261] #1 <#2> substr(NULL, integer, integer) called at [<arcanist>/externals/jsonlint/src/Seld/JsonLint/JsonParser.php:484] ...
That last exception is T15346 so apply D25250. After that, I get more exceptions but they might be unrelated, e.g.:
[2023-05-30 10:50:14] EXCEPTION: (RuntimeException) strcasecmp(): Passing null to parameter #1 ($string1) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261] arcanist(head=dashbPanels, ref.master=18554ea76ceb, ref.dashbPanels=74cb1dbc5ee3), phorge(head=diff3, ref.master=e11c5486c92b, ref.diff3=e11c5486c92b) #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<arcanist>/src/error/PhutilErrorHandler.php:261] #1 <#2> strcasecmp(NULL, string) called at [<phorge>/src/infrastructure/javelin/markup.php:77] #2 <#2> phabricator_form(PhabricatorUser, array, array) called at [<phorge>/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php:251] #3 <#2> javelin_tag(string, array, PHUITabView) called at [<phorge>/src/view/phui/PHUITabGroupView.php:119] #4 <#2> phutil_tag(string, array, array) called at [<phorge>/src/infrastructure/javelin/markup.php:70] ...