Maniphest T98029

Handle 'isolated islands' of cyclic dependencies of effectively unused data-blocks in 'Recursive cleanup' code
Closed, ResolvedTO DO

Assigned To
Bastien Montagne (mont29)
Authored By
Germano Cavalcante (mano-wii)
May 11 2022, 1:32 AM
Tags
  • BF Blender
  • Core
Subscribers
Bastien Montagne (mont29)
Colin Basnett (cmbasnett)
Germano Cavalcante (mano-wii)
Vyacheslav (hitrpr)

Description

Blender Version
Broken: 3.3-
Worked: Never

Short description of error
As stated by @Bastien Montagne (mont29) in T96047#1315978, dependency cycles should be handled by the recursive purge feature (File -> Clean Up -> Recursive Unused Data-Blocks menu entry).
But sometimes, recursive cleanup do not remove cyclic dependencies.

In T96047, @Bastien Montagne (mont29) wrote:

... since they are both user-referencing each other... Well then, nothing else but manual deletion in those cases I guess :|

Although I don't think nodegroups should user-reference Objects, but that's for Geometry Nodes team to decide & handle.

Exact steps for others to reproduce the error

  • Open attached .blend file
  • Note when inspecting the Blender File that there are 1 Object (1 User), 1 Mesh (1 User) and 1 Material (1 User), even though they are not being used.

This happens because the Object is being referenced by the Material and the Material is being referenced by the Object.

Revisions and Commits

rB Blender

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.May 11 2022, 1:32 AM
Germano Cavalcante (mano-wii) created this task.
Germano Cavalcante (mano-wii) added projects: Core, Nodes & Physics.
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".
Germano Cavalcante (mano-wii) moved this task from Backlog to Other Modules Responsibility on the Core board.
Germano Cavalcante (mano-wii) merged a task: T96047: Trash object without owner hanging inside the file.
Germano Cavalcante (mano-wii) added subscribers: Vyacheslav (hitrpr), Colin Basnett (cmbasnett).
Bastien Montagne (mont29) changed the subtype of this task from "Bug" to "Known Issue".May 11 2022, 10:23 AM
Bastien Montagne (mont29) removed a project: Nodes & Physics.
Bastien Montagne (mont29) moved this task from Other Modules Responsibility to Known Issues on the Core board.
Bastien Montagne (mont29) updated the task description.
Bastien Montagne (mont29) changed the subtype of this task from "Known Issue" to "To Do".
Bastien Montagne (mont29) moved this task from Known Issues to Long-Term - Official on the Core board.

This is even more of a known TODO than a known issue...

Bastien Montagne (mont29) renamed this task from 'Recursive cleanup' does not remove cyclic dependencies to Handle 'isolated islands' of cyclic dependencies of effectively unused data-blocks in 'Recursive cleanup' code.May 11 2022, 10:25 AM
Bastien Montagne (mont29) closed this task as Resolved by committing rB97dd10707097: Fix T98029: Support isolated islands of IDs when purging unused ones..Jul 7 2022, 1:01 PM
Bastien Montagne (mont29) claimed this task.
Bastien Montagne (mont29) added a commit: rB97dd10707097: Fix T98029: Support isolated islands of IDs when purging unused ones..