- PHP 8.2.8; old Phorge/Phabricator codebase but I have no reason to assume this does not happen in latest Phorge
- Create a user account
- Afterwards, configure an external OAuth provider
- Use ./bin/auth recover admin on CLI to log into account which predates OAuth provider setup
- Open resulting link in browser and end up on http://phorge.localhost/auth/external/
[2023-08-16 10:59:05] 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/controller/PhabricatorAuthSetExternalController.php:43] #1 <#2> PhabricatorAuthSetExternalController::handleRequest(AphrontRequest) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:284] #2 phlog(RuntimeException) called at [<phorge>/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #3 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:751] #4 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:296] #5 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/aphront/configuration/AphrontApplicationConfiguration.php:203] #6 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [/var/www/html/wmfphab/deployment/phabricator/webroot/index.php:35]