- PHP 8.2.8, Phorge with D25373 in Phorge and D25374 in Arcanist applied on top
- As an admin, successfully set up a (custom) OAuth1 provider at http://phorge.localhost/auth/config/view/1/ - in this case https://gitlab.wikimedia.org/repos/phabricator/extensions/-/tree/wmf/stable/src/oauth
- As a user, go to http://phorge.localhost/auth/
- Select the login button to go to http://phorge.localhost/auth/login/mediawiki:whatever/
- Allow authentication via OAuth on the external website
- End up back on the Phorge installation, with the following error:
[2023-08-05 19:55:02] EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261] arcanist(), ava(), phorge(), wmf-ext-misc() #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/applications/auth/provider/PhabricatorOAuth1AuthProvider.php:70] #1 <#2> PhabricatorOAuth1AuthProvider::processLoginRequest(PhabricatorAuthLoginController) called at [<phorge>/applications/auth/controller/PhabricatorAuthLoginController.php:42] #2 <#2> PhabricatorAuthLoginController::handleRequest(AphrontRequest) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:284] #3 phlog(RuntimeException) called at [<phorge>/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #4 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:751] #5 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:296] #6 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:203] #7 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [/var/www/html/wmfphab/deployment/phabricator/webroot/index.php:35]
After fixing this, run into next issue:
[2023-08-05 20:34:07] EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261] arcanist(), ava(), phorge(), wmf-ext-misc() #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/applications/auth/view/PhabricatorAuthAccountView.php:32] #1 <#2> phutil_tag(string, array, PhabricatorAuthAccountView) called at [<phorge>/view/form/control/AphrontFormControl.php:169] #2 <#2> phutil_tag(string, array, array) called at [<phorge>/view/form/PHUIFormLayoutView.php:49] #3 <#2> PHUIFormLayoutView::render() called at [<phorge>/view/form/AphrontFormView.php:160] #4 <#2> phutil_tag(string, array, array) called at [<phorge>/infrastructure/javelin/markup.php:70] #5 <#2> javelin_tag(string, array, array) called at [<phorge>/view/AphrontTagView.php:158] #6 <#2> phutil_escape_html(array) called at [<phorge>/infrastructure/markup/render.php:139] #7 <#2> phutil_escape_html(array) called at [<phorge>/infrastructure/markup/render.php:97] #8 <#2> phutil_tag(string, array, array) called at [<phorge>/view/phui/PHUITwoColumnView.php:236] #9 <#2> PHUITwoColumnView::buildFooter() called at [<phorge>/view/phui/PHUITwoColumnView.php:123] #10 <#2> PHUITwoColumnView::getTagContent() called at [<phorge>/view/AphrontTagView.php:161] #11 <#2> AphrontTagView::render() called at [<phorge>/view/AphrontView.php:222] #12 <#2> AphrontView::producePhutilSafeHTML() called at [<phorge>/infrastructure/markup/render.php:115] #13 <#2> phutil_escape_html(PHUITwoColumnView) called at [<phorge>/infrastructure/markup/render.php:171] #14 <#2> phutil_implode_html(string, array) called at [<phorge>/view/page/PhabricatorBarePageView.php:58] #15 <#2> PhabricatorBarePageView::willRenderPage() called at [<phorge>/view/page/PhabricatorStandardPageView.php:217] #16 <#2> PhabricatorStandardPageView::willRenderPage() called at [<phorge>/view/page/AphrontPageView.php:46] #17 <#2> AphrontPageView::render() called at [<phorge>/view/page/PhabricatorStandardPageView.php:911] #18 <#2> PhabricatorStandardPageView::produceAphrontResponse() called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:722] #19 <#2> AphrontApplicationConfiguration::produceResponse(AphrontRequest, PhabricatorStandardPageView) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:299] #20 phlog(RuntimeException) called at [<phorge>/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #21 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:751] #22 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:337] #23 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:203] #24 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [/var/www/html/wmfphab/deployment/phabricator/webroot/index.php:35]