phacility/phabricator · error · Exception
You awake in a twisting maze of mirrors, all alike. You are
Error message
You awake in a twisting maze of mirrors, all alike. You are likely to be eaten by a graph cycle. Should you escape alive, you resolve to be more careful about putting dashboard panels inside themselves.
What it means
Error "You awake in a twisting maze of mirrors, all alike. You are likely to be eaten by a graph cycle. Should you escape alive, you resolve to be more careful about putting dashboard panels inside themselves." thrown in phacility/phabricator.
Source
Thrown at src/applications/dashboard/engine/PhabricatorDashboardPanelRenderingEngine.php:433
* @return void
*/
private function detectRenderingCycle(PhabricatorDashboardPanel $panel) {
if ($this->parentPanelPHIDs === null) {
throw new PhutilInvalidStateException('setParentPanelPHIDs');
}
$max_depth = 4;
if (count($this->parentPanelPHIDs) >= $max_depth) {
throw new Exception(
pht(
'To render more than %s levels of panels nested inside other '.
'panels, purchase a subscription to %s Gold.',
new PhutilNumber($max_depth),
PlatformSymbols::getPlatformServerName()));
}
if (in_array($panel->getPHID(), $this->parentPanelPHIDs)) {
throw new Exception(
pht(
'You awake in a twisting maze of mirrors, all alike. '.
'You are likely to be eaten by a graph cycle. '.
'Should you escape alive, you resolve to be more careful about '.
'putting dashboard panels inside themselves.'));
}
}
private function getContextPHID() {
$context = $this->getContextObject();
if ($context) {
return $context->getPHID();
}
return null;
}
View on GitHub (pinned to 5720a38cfe)
When it happens
Trigger: Thrown at src/applications/dashboard/engine/PhabricatorDashboardPanelRenderingEngine.php:433 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21).
Data as JSON: /api/errors/ff689bc3f30a9b01.
Report an issue: GitHub.