Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception when displaying a 'recent' subversion commit
Open, Needs TriagePublic

Description

I have a subversion repository on my Phorge instance and, after committing something on it I've noticed 2 different problems (maybe linked) :

  • The latests commits (since I moved to PHP 8.2) were not listed in the repository's history
  • The latest commit tag is available when I browse the repository but, clicking on it trigger a Runtime exception with the following stacktrace :
PHP message: [2023-08-28 11:08:14] 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=df6c315ace5f), phorge(head=master, ref.master=0ec3291ff4a9); 
PHP message:   #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/repository/storage/PhabricatorRepositoryCommitData.php:100]; 
PHP message:   #1 <#2> PhabricatorRepositoryCommitData::getAuthorString() called at [<phorge>/src/applications/repository/storage/PhabricatorRepositoryCommit.php:523]; 
PHP message:   #2 <#2> PhabricatorRepositoryCommit::getRawAuthorStringForDisplay() called at [<phorge>/src/applications/repository/storage/PhabricatorRepositoryCommit.php:480]; 
PHP message:   #3 <#2> PhabricatorRepositoryCommit::newCommitAuthorView(PhabricatorUser) called at [<phorge>/src/applications/diffusion/controller/DiffusionCommitController.php:624]; 
PHP message:   #4 <#2> DiffusionCommitController::buildPropertyListView(PhabricatorRepositoryCommit, PhabricatorRepositoryCommitData, array) called at [<phorge>/src/applications/diffusion/controller/DiffusionCommitController.php:186]; 
PHP message:   #5 <#2> DiffusionCommitController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]; 
PHP message:   #6 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]; 
PHP message:   #7 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]; 
PHP message:   #8 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296];