{"record":{"id":"4083079618ff4140","repo":"DioxusLabs/dioxus","slug":"render-parent-slot-should-exist-in-the-committed-p","errorCode":null,"errorMessage":"render parent slot should exist in the committed parent vnode","messagePattern":"render parent slot should exist in the committed parent vnode","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/core/src/diff/placement.rs","lineNumber":200,"sourceCode":"        InsertionSite::append_to(ElementId::ROOT)\n    }\n\n    /// Resolve a child mount's site inside a specific committed parent.\n    ///\n    /// Invariant: if this returns `Some`, `mount` is positioned by `render_parent`.\n    fn resolve_child_in_parent(\n        &self,\n        mount: MountId,\n        render_parent: MountedParent,\n    ) -> Option<InsertionSite> {\n        let parent_mount = render_parent.parent();\n        // Render-parent slots are committed-mount-table data. During a parent diff, the new vnode\n        // may already have a different fragment shape, but the fragment child mount list is not\n        // replaced until that parent diff commits.\n        self.with_parent_vnode(parent_mount, ParentVersion::Old, |parent_vnode| {\n            let slot = render_parent\n                .slot(parent_vnode)\n                .expect(\"render parent slot should exist in the committed parent vnode\");\n            match (\n                render_parent.kind(),\n                &parent_vnode.dynamic_node_values()[slot.index()],\n            ) {\n                (\n                    MountedParentKind::FragmentChild { child_index },\n                    DynamicNode::Fragment(children),\n                ) => {\n                    let child_mounts = self.dom.mounted_fragment_children_exact(\n                        parent_mount,\n                        slot.index(),\n                        children.len(),\n                    );\n                    self.resolve_fragment_child_site(children, &child_mounts, child_index, mount)\n                        .or_else(|| Some(self.resolve_slot(parent_mount, slot)))\n                }\n                (MountedParentKind::ComponentRoot, DynamicNode::Component(_)) => {\n                    Some(self.resolve_slot(parent_mount, slot))","sourceCodeStart":182,"sourceCodeEnd":218,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/core/src/diff/placement.rs#L182-L218","documentation":"Internal placement invariant: a child mount's slot index was not found in the committed parent vnode's fragment children. The new vnode's fragment shape no longer matches the committed mount table data.","triggerScenarios":"Thrown at packages/core/src/diff/placement.rs:200 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["This is an internal invariant about render parent slots. Report it with a minimal reproduction to the Dioxus issue tracker."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}