Newest Blender 2.81 builds (of both Linux and Windows) crash, giving a segmentation fault whenever adding any node. The last blender build for which Animation Nodes (version 2.14) did not produce immediate crashes was a94bf0e1349b (tested in Linux).
Steps to reproduce the crash:
Crashlog when trying to add an integer input node:
bpy.context.area.ui_type = 'an_AnimationNodeTree' # Property
bpy.ops.node.new_node_tree() # Operator
bpy.data.node_groups["NodeTree"].autoExecution.sceneUpdate = False # Property
bpy.data.node_groups["NodeTree"].autoExecution.treeChanged = True # Property
bpy.data.node_groups["NodeTree"].autoExecution.frameChanged = True # Property
bpy.data.node_groups["NodeTree"].autoExecution.propertyChanged = True # Property
bpy.ops.node.select(mouse_x=188, mouse_y=184, extend=False, deselect_all=True) # Operator
bpy.ops.node.add_node(type="an_DataInputNode", use_transform=True, settings=[{"name":"assignedType", "value":"'Integer'"}]) # Operator
./blender(BLI_system_backtrace+0x1d) [0x14c70bd]
./blender() [0x12aa109]
/lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f24fd916f20]
./blender(BLI_strnlen+0x7) [0x14c46b7]
./blender(BLI_strncpy+0x16) [0x14c46f6]
./blender() [0x15f4661]
./blender(nodeLabel+0x2e) [0x138ca5e]
./blender(node_draw_default+0x332) [0x2e244a2]
./blender(node_draw_nodetree+0x193) [0x2e25693]
./blender() [0x2e25771]
./blender(drawnodespace+0x41c) [0x2e25b9c]
./blender(ED_region_do_draw+0x8d1) [0x2eb5901]
./blender(wm_draw_update+0x486) [0x1676a96]
./blender(WM_main+0x30) [0x1674160]
./blender(main+0x2fe) [0x121667e]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f24fd8f9b97]
./blender() [0x12a6a2c]
Thanks for the report! This seems like a bug in Blender, will look into it.
Something worth noting and hopefully helpful is that AN can be removed and then reinstalled normally without any errors showing up, as well as that AN tests appear to be running successfully when launching blender (even the affected newest versions), as shown below:
Start running the Animation Nodes test suite.
Can be disabled in the user preferences of the addon.
Ran 400 tests in 0.096s
OK
It probably has to do with blender itself, but I thought that since AN is not officially supported and contained in blender, this issue should initially be reported here.
Thanks in advance!
EDIT: I also noticed that the crash happens only when there is an active Animation Nodes Editor with a non-empty Nodetree. If the AN Nodetree is not visible (not in a visible Editor), the AN nodes in the (hidden) Nodetree are successfully executed.
I can replicate the issue, will work on a fix. Thanks!
Reported in T69808.
If you want to use Animation Nodes right now, you may manually remove the draw_label function from the animation_nodes/base_types/nodes/base_node.py file.
- def draw_label(self):
- if nodeLabelMode == "MEASURE" and self.hide:
- return getMinExecutionTimeString(self)
-
- if self.dynamicLabelType == "NONE":
- return self.bl_label
- elif self.dynamicLabelType == "ALWAYS":
- return self.drawLabel()
- elif self.dynamicLabelType == "HIDDEN_ONLY" and self.hide:
- return self.drawLabel()
-
- return self.bl_label
This, of course, isn't a solution, but rather a mitigation until Blender fixes the issue.
Thank you very much for the quickfix!
Thank you very much! This temporary fix works indeed. I'm marking the issue as closed for now since it's an issue with Blender.
imo this should be kept open to make it more obvious to the people with the same issue
I just saw on phabricator that a fix has been committed: does AN work now again?
Yes, I just compiled the latest version (884a3852873f on Linux) and AN works with the draw_label function enabled.
Seems to be working correctly now, thanks everyone!
Most helpful comment
Reported in T69808.
If you want to use Animation Nodes right now, you may manually remove the
draw_labelfunction from theanimation_nodes/base_types/nodes/base_node.pyfile.This, of course, isn't a solution, but rather a mitigation until Blender fixes the issue.