-
-
Notifications
You must be signed in to change notification settings - Fork 9
Description
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
Labels
Projects
Status