Skip to content

Delete node crash issue #21

@ewowi

Description

@ewowi

When executing delete node in PhysicalLayer::removeNode() the system sometimes crashes with

causing assert failed: multi_heap_free multi_heap_poisoning.c:259 (head != NULL)

Which suggests the node has already been deleted. Adding logging on the node destructor is not showing earlier deletes.

This crash only seems to occur when a node has controls defined via addControl(). Nodes without controls seems to work fine, but there are also (effect) nodes with controls which work fine.
As addControl exposes a pointer to an object in a node, upon deletion of the node, pointers to control variables are still in editor.json but as far as I can recall they are not called anymore when a node will be deleted.

PanelLayout node is an example which crashes when trying to delete from the UI.

The problem started to occur after this commit: Add Distortion waves effect. Support multiple layout nodes: c1f96c5

Before that delete node just works fine.

In this commit requestMapVirtual / Physical has been added but extensive testing on this didn’t show any causality. So it might be more a timing or capacity issue e.g. timing between tasks or memory running full

So until now, this bug has not been solved and the current workaround is that delete node is commented out, meaning we have a memory leak as nodes will never be deleted.

Any suggestions welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions