From da944cb37987212d1b1a860b79f43a7c85814225 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 25 Mar 2021 18:04:21 -0400 Subject: [PATCH] fix(ssr): fix memory leak when vnode component render throws error fix #3100 --- packages/runtime-core/src/componentRenderUtils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/src/componentRenderUtils.ts b/packages/runtime-core/src/componentRenderUtils.ts index 89cdcf19c9..eee05f18bb 100644 --- a/packages/runtime-core/src/componentRenderUtils.ts +++ b/packages/runtime-core/src/componentRenderUtils.ts @@ -10,7 +10,8 @@ import { Comment, cloneVNode, VNodeArrayChildren, - isVNode + isVNode, + blockStack } from './vnode' import { handleError, ErrorCodes } from './errorHandling' import { PatchFlags, ShapeFlags, isOn, isModelListener } from '@vue/shared' @@ -201,6 +202,7 @@ export function renderComponentRoot( result = root } } catch (err) { + blockStack.length = 0 handleError(err, instance, ErrorCodes.RENDER_FUNCTION) result = createVNode(Comment) } -- 2.47.2