Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception blocks deleting Phriction document
Closed, ResolvedPublic

Description

  1. PHP 8.2.6; Phorge at b1edfea09bad48c267b547918e82d6de43298781
  2. Go to Phriction at http://phorge.localhost/w/
  3. Create an initial document
  4. After creation, select Delete Document in in the sidebar
  5. In the Delete Document? overlay dialog, select the Delete button
[2023-05-24 15:27:10] 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=e4fd31ec024e), phorge(head=sciencePhriction, ref.master=b1edfea09bad, ref.sciencePhriction=b1edfea09bad)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/phriction/editor/PhrictionTransactionEditor.php:559]
  #1 <#2> PhrictionTransactionEditor::newDocumentContent(PhrictionDocument) called at [<phorge>/src/applications/phriction/editor/PhrictionTransactionEditor.php:530]
  #2 <#2> PhrictionTransactionEditor::getNewDocumentContent(PhrictionDocument) called at [<phorge>/src/applications/phriction/xaction/PhrictionDocumentVersionTransaction.php:7]
  #3 <#2> PhrictionDocumentVersionTransaction::getNewDocumentContent(PhrictionDocument) called at [<phorge>/src/applications/phriction/xaction/PhrictionDocumentDeleteTransaction.php:15]
  #4 <#2> PhrictionDocumentDeleteTransaction::applyInternalEffects(PhrictionDocument, boolean) called at [<phorge>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:752]
  #5 <#2> PhabricatorApplicationTransactionEditor::applyInternalEffects(PhrictionDocument, PhrictionTransaction) called at [<phorge>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1348]
  #6 <#2> PhabricatorApplicationTransactionEditor::applyTransactions(PhrictionDocument, array) called at [<phorge>/src/applications/phriction/controller/PhrictionDeleteController.php:38]
  #7 <#2> PhrictionDeleteController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]
  #8 phlog(RuntimeException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]
  #9 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]
  #10 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296]
  #11 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203]
  #12 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

Fix that exception; afterwards page correctly renders and says Document Deleted - This document has been deleted. You can edit it to put new content here, or use history to revert to an earlier version.