{"record":{"id":"a476d0aa30016df1","repo":"zellij-org/zellij","slug":"failed-to-find-root-geom","errorCode":null,"errorMessage":"Failed to find root geom","messagePattern":"Failed to find root geom","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zellij-server/src/panes/tiled_panes/stacked_panes.rs","lineNumber":667,"sourceCode":"        let Some(new_stack_geom) = new_stack_geom else {\n            // nothing to do, likely the pane below is fixed\n            return Ok(());\n        };\n        let stack_id = self.next_stack_id();\n        // we add the extra panes in the original stack (if any) so that they will be assigned pane\n        // positions but not affect the stack geometry\n        other_pane_ids_and_geoms.append(&mut extra_stacked_geoms_of_main_pane);\n        let mut panes = self.panes.borrow_mut();\n        let mut running_y = new_stack_geom.y;\n        let mut geom_of_flexible_pane = new_stack_geom.clone();\n        geom_of_flexible_pane\n            .rows\n            .decrease_inner(other_pane_ids_and_geoms.len());\n        geom_of_flexible_pane.stacked = Some(stack_id);\n        let mut all_stack_geoms = other_pane_ids_and_geoms;\n        let original_geom_of_main_pane = panes\n            .get(&root_pane_id)\n            .ok_or_else(|| anyhow!(\"Failed to find root geom\"))?\n            .position_and_size(); // for sorting purposes\n        all_stack_geoms.push((*root_pane_id, original_geom_of_main_pane));\n        all_stack_geoms.sort_by(|(_a_id, a_geom), (_b_id, b_geom)| {\n            if a_geom.y == b_geom.y {\n                a_geom.x.cmp(&b_geom.x)\n            } else {\n                a_geom.y.cmp(&b_geom.y)\n            }\n        });\n        for (pane_id, mut pane_geom) in all_stack_geoms {\n            if let Some(pane_in_stack) = panes.get_mut(&pane_id) {\n                if &pane_id == root_pane_id {\n                    pane_geom.x = new_stack_geom.x;\n                    pane_geom.cols = new_stack_geom.cols;\n                    pane_geom.y = running_y;\n                    pane_geom.rows = geom_of_flexible_pane.rows;\n                    pane_geom.stacked = Some(stack_id);\n                    running_y += geom_of_flexible_pane.rows.as_usize();","sourceCodeStart":649,"sourceCodeEnd":685,"githubUrl":"https://github.com/zellij-org/zellij/blob/98a0837077492d53dd252ab30bc3e43e41e504f4/zellij-server/src/panes/tiled_panes/stacked_panes.rs#L649-L685","documentation":"Error \"Failed to find root geom\" thrown in zellij-org/zellij.","triggerScenarios":"Thrown at zellij-server/src/panes/tiled_panes/stacked_panes.rs:667 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":"98a0837077492d53dd252ab30bc3e43e41e504f4","analyzedAt":"2026-08-16T13:02:01.396Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}