Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception rendering task with custom date field after adding project
Closed, ResolvedPublic

Description

  1. PHP 8.2.10; Phorge at 7868ab3754fad13714640451d664d5bc71b7a02f
  2. As an admin, set http://phorge.localhost/config/edit/maniphest.custom-field-definitions/ to :
{
  "release.date": {
    "name": "Release Date",
    "edit": true,
    "view": true,
    "description": "Scheduled date for the release or deployment",
    "search": true,
    "fulltext": false,
    "type": "date",
    "copy": false
  }
}
  1. Go to edit an existing task like http://phorge.localhost/maniphest/task/edit/13/ with no Due Date field value set
  2. Under Tags, select the magnifier icon
  3. Search for an existing project and click Select button
  4. Click Save Changes button
[2023-09-04 12:17:56] EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
arcanist(head=customOAuthUrlencodeNull, ref.master=df6c315ace5f, ref.customOAuthUrlencodeNull=c69b9749027f), phorge(head=master, ref.master=7868ab3754fa)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/infrastructure/customfield/standard/PhabricatorStandardCustomFieldDate.php:14]
  #1 <#2> PhabricatorStandardCustomFieldDate::buildFieldIndexes() called at [<phorge>/src/infrastructure/customfield/field/PhabricatorCustomField.php:664]
  #2 <#2> PhabricatorCustomField::buildFieldIndexes() called at [<phorge>/src/infrastructure/customfield/field/PhabricatorCustomFieldList.php:268]
  #3 <#2> PhabricatorCustomFieldList::rebuildIndexes(ManiphestTask) called at [<phorge>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1539]
  #4 <#2> PhabricatorApplicationTransactionEditor::applyTransactions(ManiphestTask, array) called at [<phorge>/src/applications/transactions/editengine/PhabricatorEditEngine.php:1149]
  #5 <#2> PhabricatorEditEngine::buildEditResponse(ManiphestTask) called at [<phorge>/src/applications/transactions/editengine/PhabricatorEditEngine.php:1000]
  #6 <#2> PhabricatorEditEngine::buildResponse() called at [<phorge>/src/applications/maniphest/controller/ManiphestTaskEditController.php:12]
  #7 <#2> ManiphestTaskEditController::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]

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

aklapper renamed this task from PHP 8.1 "strlen(null)" exception rendering task after adding project to PHP 8.1 "strlen(null)" exception rendering task with custom date field after adding project.Sep 4 2023, 12:24
aklapper updated the task description. (Show Details)

I think this is apparently unrelated to projects. It's just needed to edit something else, keeping the date field as empty.