Here is a copy of the file with everything deleted and a default cube added. The error is still occurring. I hope it helps.
https://1drv.ms/u/s!AhdwgLaw01tLomwg5nb ... V?e=slN6De
Thanks
Error - Maximum Recursion Depth Exceeded In Comparison
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Re: Error - Maximum Recursion Depth Exceeded In Comparison
This is the problem:
I have improved the recovery from a dependency cycle and now it adds an error message to the error log (not only the console) and marks the faulty nodes in red:
I have improved the recovery from a dependency cycle and now it adds an error message to the error log (not only the console) and marks the faulty nodes in red:
Re: Error - Maximum Recursion Depth Exceeded In Comparison
@BYOB
How is it possible to see the materials when all the objects have been deleted?
So, even if I delete all the objects in a scene their materials are still calculated? and if I take an old scene and decide to rebuild some objects with new materials , then the old materials are still calculated. Is that correct? I often switch objects OFF from rendering to speed up a preview which has presumably not been the correct thing to do?
Thank you. It will be a very helpful feature.I have improved the recovery from a dependency cycle and now it adds an error message to the error log (not only the console) and marks the faulty nodes in red
How is it possible to see the materials when all the objects have been deleted?
So, even if I delete all the objects in a scene their materials are still calculated? and if I take an old scene and decide to rebuild some objects with new materials , then the old materials are still calculated. Is that correct? I often switch objects OFF from rendering to speed up a preview which has presumably not been the correct thing to do?
Re: Error - Maximum Recursion Depth Exceeded In Comparison
There are materials and custom node trees.
Each material has one custom node tree, which has the "fake user" enabled because Blender doesn't do the user count for custom node trees correctly in some cases. This means that when you delete an object, the material is deleted along if it's not used elsewhere, but the node tree is not deleted because it has the "fake user" enabled. This is not really a problem usually, the node tree will just exist in the scene and is only touched by rare cases where we iterate over all node trees in the scene (like the compatibility function which throws the errors we have seen in this thread).
You can check out any custom node tree by enabling the "pin" option in the node editor and then using the dropdown to the left of the pin button. This way you can see all node trees, even those without a corresponding material, and you can disable their "fake user" so they get deleted when you save and reload the .blend.
LuxCore itself doesn't see these unused node trees anymore, they don't affect render performance at all.
Each material has one custom node tree, which has the "fake user" enabled because Blender doesn't do the user count for custom node trees correctly in some cases. This means that when you delete an object, the material is deleted along if it's not used elsewhere, but the node tree is not deleted because it has the "fake user" enabled. This is not really a problem usually, the node tree will just exist in the scene and is only touched by rare cases where we iterate over all node trees in the scene (like the compatibility function which throws the errors we have seen in this thread).
You can check out any custom node tree by enabling the "pin" option in the node editor and then using the dropdown to the left of the pin button. This way you can see all node trees, even those without a corresponding material, and you can disable their "fake user" so they get deleted when you save and reload the .blend.
Depends what you mean with "calculated". The only thing I can think of that iterates over all of them is the compatibility function, which is run when you open a .blend file and when you start a render. But this function doesn't take more than a few milliseconds, even with hundreds of node trees.
LuxCore itself doesn't see these unused node trees anymore, they don't affect render performance at all.
Re: Error - Maximum Recursion Depth Exceeded In Comparison
@BYOB
Many thanks for your very detailed response from which I've learned loads.
Many thanks for your very detailed response from which I've learned loads.
You've answered all the questions, thank you, I just hadn't worded them all quite correctly.Depends what you mean with "calculated".