Skip to content

Blocks with block type fields sharing the same name cause out-of-memory issue #35

@nmiyazaki-chapleau

Description

@nmiyazaki-chapleau

Adding a block with a block type field within itself and rendering it using renderBlocks() causes out-of-memory issues.
More specifically, block variables are shared within each layer of blocks. This can happen at any level of depth within blocks.
Example:
We have Block 1 with a field "content" of type blocks and Block 2 with a field "content" of type blocks.

Inserting block 1 inside block 1 -> OOM issue.
Inserting block 2 inside block 1 -> OOM issue.

Renaming Block 1's field "content" to "content_1":

Inserting block 1 inside block 1 -> OOM issue.
Inserting block 2 inside block 1 -> OK.

I believe blocks shouldn't be able to access parent blocks' variables, as it would only lead to unintended consequences such as this one, and I do not see intentionally using parent variables in blocks as a good thing.

I believe this is a known issue, as the columns_two default block forcefully ignores itself as a valid block underneath.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions