{"record":{"id":"bea53bd21e9e7fdf","repo":"phacility/phabricator","slug":"project-depth-is-too-great","errorCode":null,"errorMessage":"Project depth is too great.","messagePattern":"Project depth is too great\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/project/storage/PhabricatorProject.php","lineNumber":434,"sourceCode":"    if ($path_key === null || $path_key === '') {\n      $hash = PhabricatorHash::digestForIndex($this->getPHID());\n      $hash = substr($hash, 0, 4);\n      $this->setProjectPathKey($hash);\n    }\n\n    $path = array();\n    $depth = 0;\n    if ($this->parentProjectPHID) {\n      $parent = $this->getParentProject();\n      $path[] = $parent->getProjectPath();\n      $depth = $parent->getProjectDepth() + 1;\n    }\n    $path[] = $this->getProjectPathKey();\n    $path = implode('', $path);\n\n    $limit = self::getProjectDepthLimit();\n    if ($depth >= $limit) {\n      throw new Exception(pht('Project depth is too great.'));\n    }\n\n    $this->setProjectPath($path);\n    $this->setProjectDepth($depth);\n\n    $this->openTransaction();\n      $result = parent::save();\n      $this->updateDatasourceTokens();\n    $this->saveTransaction();\n\n    return $result;\n  }\n\n  public static function getProjectDepthLimit() {\n    // This is limited by how many path hashes we can fit in the path\n    // column.\n    return 16;\n  }","sourceCodeStart":416,"sourceCodeEnd":452,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/project/storage/PhabricatorProject.php#L416-L452","documentation":"Error \"Project depth is too great.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/project/storage/PhabricatorProject.php:434 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}